Skip to content

Implement setRoutingData for MetadataStoreDirectoryService#844

Merged
narendly merged 5 commits intoapache:zooscalabilityfrom
NealSun96:nealsun/implement-set-routing-data
Mar 4, 2020
Merged

Implement setRoutingData for MetadataStoreDirectoryService#844
narendly merged 5 commits intoapache:zooscalabilityfrom
NealSun96:nealsun/implement-set-routing-data

Conversation

@NealSun96
Copy link
Contributor

Issues

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

Fixes #841, #842, #843

Description

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

This PR implements setRoutingData, which was an endpoint that was defined but not finished. It allows users to overwrite whatever routing data there is for a namespace and replace it with a new set of data. This endpoint was designed with convenience in mind because it allows users to specify the routing data in one call instead of making multiple calls to create zkrealms and add sharding keys. This endpoint was originally designed to validate the input but now it doesn't, please refer #842 for the reasoning.

Related to this PR, we also discovered that there are problems related to the construction of TrieRoutingData in MetadataStoreDirectory. Please see #841 .

Lastly, we are also fixing the race conditions of writing operations in MetadataStoreDirectory which are discovered during the development. Please see #843.

Tests

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

[INFO] Tests run: 140, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 24.602 s - in TestSuite
[INFO]
[INFO] Results:
[INFO]
[INFO] Tests run: 140, Failures: 0, Errors: 0, Skipped: 0
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 53.115 s
[INFO] Finished at: 2020-03-02T14:38:49-08:00
[INFO] ------------------------------------------------------------------------

Commits

  • My commits all reference appropriate Apache Helix GitHub issues in their subject lines, and I have squashed multiple commits if they address the same issue. 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

Copy link
Contributor

@narendly narendly left a comment

Choose a reason for hiding this comment

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

Nice work! 👍

@NealSun96
Copy link
Contributor Author

This PR is ready to be merged, approved by @narendly
Final commit message:

Implement setRoutingData for MetadataStoreDirectoryService

Implement setRoutingData endpoint. Modify TrieRoutingData construction in MetadataStoreDirectory. Fix race conditions among writing operations in MetadataStoreDirectory.

@narendly narendly merged commit 1ebf942 into apache:zooscalability Mar 4, 2020
narendly pushed a commit to narendly/helix that referenced this pull request Mar 17, 2020
Implement setRoutingData endpoint. Modify TrieRoutingData construction in MetadataStoreDirectory. Fix race conditions among writing operations in MetadataStoreDirectory.
narendly pushed a commit to narendly/helix that referenced this pull request Apr 1, 2020
Implement setRoutingData endpoint. Modify TrieRoutingData construction in MetadataStoreDirectory. Fix race conditions among writing operations in MetadataStoreDirectory.
narendly pushed a commit to narendly/helix that referenced this pull request Apr 1, 2020
Implement setRoutingData endpoint. Modify TrieRoutingData construction in MetadataStoreDirectory. Fix race conditions among writing operations in MetadataStoreDirectory.
asfgit pushed a commit that referenced this pull request Apr 1, 2020
Implement setRoutingData endpoint. Modify TrieRoutingData construction in MetadataStoreDirectory. Fix race conditions among writing operations in MetadataStoreDirectory.
asfgit pushed a commit that referenced this pull request Apr 8, 2020
Implement setRoutingData endpoint. Modify TrieRoutingData construction in MetadataStoreDirectory. Fix race conditions among writing operations in MetadataStoreDirectory.
narendly pushed a commit that referenced this pull request Apr 9, 2020
Implement setRoutingData endpoint. Modify TrieRoutingData construction in MetadataStoreDirectory. Fix race conditions among writing operations in MetadataStoreDirectory.
huizhilu pushed a commit to huizhilu/helix that referenced this pull request Aug 16, 2020
Implement setRoutingData endpoint. Modify TrieRoutingData construction in MetadataStoreDirectory. Fix race conditions among writing operations in MetadataStoreDirectory.
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.

3 participants