Skip to content

Async write operation should not throw Exception for serializing error#845

Merged
jiajunwang merged 2 commits intoapache:masterfrom
jiajunwang:async
Mar 3, 2020
Merged

Async write operation should not throw Exception for serializing error#845
jiajunwang merged 2 commits intoapache:masterfrom
jiajunwang:async

Conversation

@jiajunwang
Copy link
Contributor

@jiajunwang jiajunwang commented Mar 2, 2020

Issues

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

#805

Description

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

This change will make the async write operations return error through the async callback instead of throwing exceptions. This change will fix the batch write/create failure due to one single node serializing failure.
In addition, according to serializer interface definition, change ZK related serializers to throw ZkMarshallingError instead of ZkClientException.

Tests

  • The following tests are written for this issue:

testAsyncWriteOperations

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

Failed tests:
TestJobQueueCleanUp.testJobQueueAutoCleanUp » ThreadTimeout Method org.testng....
TestWorkflowTermination.testWorkflowJobFail:251->verifyWorkflowCleanup:257 expected: but was:

Tests run: 1086, Failures: 2, Errors: 0, Skipped: 0

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------

retrun:

Tests run: 8, Failures: 0, Errors: 0, Skipped: 0

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 57.613 s
[INFO] Finished at: 2020-03-02T16:43:29-08:00
[INFO] ------------------------------------------------------------------------

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"

Documentation (Optional)

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

(Link the GitHub wiki you added)

Code Quality

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

This change will make the async write operations return error through the async callback instead of throwing exceptions. This change will fix the batch write/create failure due to one single node serializing failure.
In addition, according to serializer interface definition, change ZK related serializers to throw ZkMarshallingError instead of ZkClientException.
Copy link
Contributor

@huizhilu huizhilu left a comment

Choose a reason for hiding this comment

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

LGTM.

@jiajunwang
Copy link
Contributor Author

This PR is ready to be merged, approved by @pkuwm

@jiajunwang jiajunwang merged commit 496d573 into apache:master Mar 3, 2020
@jiajunwang jiajunwang deleted the async branch March 3, 2020 01:25
zhangmeng916 pushed a commit to zhangmeng916/helix that referenced this pull request Apr 4, 2020
apache#845)

This change will make the async write operations return error through the async callback instead of throwing exceptions. This change will fix the batch write/create failure due to one single node serializing failure.
In addition, according to the serializer interface definition, change ZK related serializers to throw ZkMarshallingError instead of ZkClientException.
jiajunwang pushed a commit to jiajunwang/helix that referenced this pull request May 6, 2020
apache#845)

This change will make the async write operations return error through the async callback instead of throwing exceptions. This change will fix the batch write/create failure due to one single node serializing failure.
In addition, according to the serializer interface definition, change ZK related serializers to throw ZkMarshallingError instead of ZkClientException.
jiajunwang added a commit that referenced this pull request May 6, 2020
#845) (#999)

This change will make the async write operations return error through the async callback instead of throwing exceptions. This change will fix the batch write/create failure due to one single node serializing failure.
In addition, according to the serializer interface definition, change ZK related serializers to throw ZkMarshallingError instead of ZkClientException.
jiajunwang pushed a commit that referenced this pull request May 7, 2020
#845) (#999)

This change will make the async write operations return error through the async callback instead of throwing exceptions. This change will fix the batch write/create failure due to one single node serializing failure.
In addition, according to the serializer interface definition, change ZK related serializers to throw ZkMarshallingError instead of ZkClientException.
huizhilu pushed a commit to huizhilu/helix that referenced this pull request Aug 16, 2020
apache#845)

This change will make the async write operations return error through the async callback instead of throwing exceptions. This change will fix the batch write/create failure due to one single node serializing failure.
In addition, according to the serializer interface definition, change ZK related serializers to throw ZkMarshallingError instead of ZkClientException.
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