Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor(storage): fix confusing naming #18701

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open

Conversation

zwang28
Copy link
Contributor

@zwang28 zwang28 commented Sep 25, 2024

I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.

What's changed and what's your intention?

This PR simply renames some fields from table_info to sstable_info.
There're some fields of SstableInfo type named table_info. The naming is misleading, regarding whether the table refers to sstable or state table.

As this PR modifies numerous files, it should be merged only when no other complex open PRs are pending, to avoid conflicts.

Checklist

  • I have written necessary rustdoc comments
  • I have added necessary unit tests and integration tests
  • I have added test labels as necessary. See details.
  • I have added fuzzing tests or opened an issue to track them. (Optional, recommended for new SQL features Sqlsmith: Sql feature generation #7934).
  • My PR contains breaking changes. (If it deprecates some features, please create a tracking issue to remove them in the future).
  • All checks passed in ./risedev check (or alias, ./risedev c)
  • My PR changes performance-critical code. (Please run macro/micro-benchmarks and show the results.)
  • My PR contains critical fixes that are necessary to be merged into the latest release. (Please check out the details)

Documentation

  • My PR needs documentation updates. (Please use the Release note section below to summarize the impact on users)

Release note

If this PR includes changes that directly affect users or other significant modifications relevant to the community, kindly draft a release note to provide a concise summary of these changes. Please prioritize highlighting the impact these changes will have on users.

Copy link
Contributor

@Li0k Li0k left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I unconditionally support this PR, the naming of table_infos is so confusing!

@@ -50,7 +50,7 @@ message OverlappingLevel {
message Level {
uint32 level_idx = 1;
LevelType level_type = 2;
repeated SstableInfo table_infos = 3;
repeated SstableInfo sstable_infos = 3;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These fields are persisted in meta store. Is it safe to rename to break the backward compatibility?

I think changing the in memory struct in hummock_sdk should be enough

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it safe to rename to break the backward compatibility?

Renaming is safe because protobuf identifies fields by their number. I've tested it as well.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For metadata stored in etcd backend, we use the protobuf encoding, but for those stored in sql backend, which are encoded as json, I think the fields are identified by their names.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

blob rather than json is used in sql backend, so backward compatibility is retained.
But since we rarely use pb type directly any longer, this PR will keep pb names unchanged.

Copy link
Contributor

@wenym1 wenym1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants