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

[opt](meta) Add strict field synchronization checks for cloud/non-cloud mode metadata conversions to prevent inconsistent PB bugs #48837

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

gavinchou
Copy link
Contributor

@gavinchou gavinchou commented Mar 8, 2025

What problem does this PR solve?

Before this PR, there were no unit tests for the interconversion between cloud and non-cloud modes of rowset meta, tablet schema, and tablet meta. Additionally, there was no strict validation mechanism to ensure synchronization across Protocol Buffer (PB) definitions, posing risks of critical bugs.
With this PR, the aforementioned issues have been rigorously addressed through comprehensive unit test coverage and strict field synchronization checks.

  • Fix some missing fields for pb_convert
  • Add UT to prevent future missing fields
  • Add mechanism for cloud/non-cloud PB interconversion

Release note

None

Check List (For Author)

  • Test

    • Regression test
    • Unit Test
    • Manual test (add detailed scripts or steps below)
    • No need to test or manual test. Explain why:
      • This is a refactor/code format and no logic has been changed.
      • Previous test can cover this change.
      • No code files have been changed.
      • Other reason
  • Behavior changed:

    • No.
    • Yes.
  • Does this need documentation?

    • No.
    • Yes.

Check List (For Reviewer who merge this PR)

  • Confirm the release note
  • Confirm test cases
  • Confirm document
  • Add branch pick label

* Fix some missing fields for pb_convert
* add UT to prevent future missing fields
@hello-stephen
Copy link
Contributor

Thank you for your contribution to Apache Doris.
Don't know what should be done next? See How to process your PR.

Please clearly describe your PR:

  1. What problem was fixed (it's best to include specific error reporting information). How it was fixed.
  2. Which behaviors were modified. What was the previous behavior, what is it now, why was it modified, and what possible impacts might there be.
  3. What features were added. Why was this function added?
  4. Which code was refactored and why was this part of the code refactored?
  5. Which functions were optimized and what is the difference before and after the optimization?

@gavinchou
Copy link
Contributor Author

run buildall

@gavinchou gavinchou requested a review from w41ter March 8, 2025 17:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants