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

Fix the behavior when underlying ZK throws BadVersion exception #2614

Merged
merged 1 commit into from
Sep 12, 2023

Conversation

desaikomal
Copy link
Contributor

Issues

  • My PR addresses the following Helix issues and references them in the PR description:

Fixes #2613

Description

  • Here are some details about my PR, including screenshots of any UI changes:

We introduced change in behavior while handling 'doSet()' call on Helix ZkBaseDataAccessor.

As part of change: #2208, we removed the redundant error messages but only in one particular case, exception handling was removed.

Reverting the specific change.

Tests

  • The following tests are written for this issue:

(List the names of added unit/integration tests)
Added a new test case:
TestZkBaseDataAccessor_testDoSetWithException

  • The following is the result of the "mvn test" command on the appropriate module:

(If CI test fails due to known issue, please specify the issue and test PR locally. Then copy & paste the result of "mvn test" to here.)

[TestNG] Running:
  /Users/kdesai/Library/Caches/JetBrains/LinkedInIdea222/temp-testng-customsuite.xml

Start zookeeper at localhost:2183 in thread main
START TestZkBaseDataAccessor_testDoSetWithException at Mon Sep 11 12:57:23 PDT 2023
END TestZkBaseDataAccessor_testDoSetWithException at Mon Sep 11 12:57:28 PDT 2023
AfterClass: TestZkBaseDataAccessor called.
Shut down zookeeper at port 2183 in thread main

===============================================
Default Suite
Total tests run: 1, Failures: 0, Skips: 0
===============================================

Changes that Break Backward Compatibility (Optional)

  • My PR contains changes that break backward compatibility or previous assumptions for certain methods or API. They include:

(Consider including all behavior changes for public methods or API. Also include these changes in merge description so that other developers are aware of these changes. This allows them to make relevant code changes in feature branches accounting for the new method/API behavior.)

Documentation (Optional)

  • In case of new functionality, my PR adds documentation in the following wiki page:

(Link the GitHub wiki you added)

Commits

  • My commits all reference appropriate Apache Helix GitHub issues in their subject lines. In addition, my commits follow the guidelines from "How to write a good git commit message":
    1. Subject is separated from body by a blank line
    2. Subject is limited to 50 characters (not including Jira issue reference)
    3. Subject does not end with a period
    4. Subject uses the imperative mood ("add", not "adding")
    5. Body wraps at 72 characters
    6. Body explains "what" and "why", not "how"

Code Quality

  • My diff has been formatted using helix-style.xml
    (helix-style-intellij.xml if IntelliJ IDE is used)

@desaikomal
Copy link
Contributor Author

Thanks @xyuanlu for the review. This change is ready to be merged.
Commit message: Fix the 'BadVersion' exception handling in doSet() code path.

@xyuanlu xyuanlu merged commit c9402ea into apache:master Sep 12, 2023
2 checks passed
himanshukandwal pushed a commit to himanshukandwal/helix that referenced this pull request Sep 16, 2023
@soumitra-st
Copy link

@xyuanlu , I want to get this fix in Pinot, wondering when this fix will be released?

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.

ZkBaseDataAccessor.doSet() cannot properly throw ZkBadVersionException
3 participants