zhangmeng916 opened a new pull request #673: Add Helix Distributed lock based 
on zookeeper
URL: https://github.com/apache/helix/pull/673
 
 
   ### Issues
   
   - [X] My PR addresses the following Helix issues and references them in the 
PR description:
   
   (#[672](https://github.com/apache/helix/issues/672))
   ### Description
   
   - [X] Here are some details about my PR, including screenshots of any UI 
changes:
   
   For distributed systems that use Helix, there is a common request for a 
mechanism to make sure different processes can cooperate correctly. For 
example, if two processes that run on different machines, or different 
networks, or even different data centers would like to work on the same 
resource, we must have a mutually exclusive lock to secure their operations do 
not step on each other. Only when a process acquires the lock, it can perform 
the operation.
   Therefore, we want to implement a distributed lock in Helix to benefit 
clients. This PR provides the Helix distributed lock interface and the basic 
implementation of a nonblocking lock based on Zookeeper. Further implementation 
on the details of the lock will be in later PR. 
   
   ### Tests
   - [X] The following is the result of the "mvn test" command on the 
appropriate module:
   Waiting for time window to expire
   
   END TestParticipantMonitor
   START test at Mon Jan 06 12:19:14 PST 2020
   START TestZKPathDataDumpTask_test at Mon Jan 06 12:19:14 PST 2020
   END TestZKPathDataDumpTask_test at Mon Jan 06 12:19:14 PST 2020
   END test at Mon Jan 06 12:19:14 PST 2020, took: 204ms.
   START testCapacityReached at Mon Jan 06 12:19:14 PST 2020
   START TestZKPathDataDumpTask_testCapacityReached at Mon Jan 06 12:19:14 PST 
2020
   END testCapacityReached at Mon Jan 06 12:19:14 PST 2020, took: 221ms.
   START testBasic at Mon Jan 06 12:19:20 PST 2020
   START TestHelixConfigAccessor_testBasic at Mon Jan 06 12:19:20 PST 2020
   END TestHelixConfigAccessor_testBasic at Mon Jan 06 12:19:20 PST 2020
   END testBasic at Mon Jan 06 12:19:20 PST 2020, took: 292ms.
   START testSetNonexistentParticipantConfig at Mon Jan 06 12:19:20 PST 2020
   START TestHelixConfigAccessor_testSetNonexistentParticipantConfig at Mon Jan 
06 12:19:20 PST 2020
   3251077 [TestNGInvoker-testSetNonexistentParticipantConfig()] ERROR 
org.apache.helix.manager.zk.ZKUtil  - Invalid instance setup, missing znode 
path: 
/TestHelixConfigAccessor_testSetNonexistentParticipantConfig/CONFIGS/PARTICIPANT/localhost_12918
   3251092 [TestNGInvoker-testSetNonexistentParticipantConfig()] ERROR 
org.apache.helix.manager.zk.ZKUtil  - Invalid instance setup, missing znode 
path: 
/TestHelixConfigAccessor_testSetNonexistentParticipantConfig/INSTANCES/localhost_12918/MESSAGES
   3251092 [TestNGInvoker-testSetNonexistentParticipantConfig()] ERROR 
org.apache.helix.manager.zk.ZKUtil  - Invalid instance setup, missing znode 
path: 
/TestHelixConfigAccessor_testSetNonexistentParticipantConfig/INSTANCES/localhost_12918/CURRENTSTATES
   3251092 [TestNGInvoker-testSetNonexistentParticipantConfig()] ERROR 
org.apache.helix.manager.zk.ZKUtil  - Invalid instance setup, missing znode 
path: 
/TestHelixConfigAccessor_testSetNonexistentParticipantConfig/INSTANCES/localhost_12918/STATUSUPDATES
   3251093 [TestNGInvoker-testSetNonexistentParticipantConfig()] ERROR 
org.apache.helix.manager.zk.ZKUtil  - Invalid instance setup, missing znode 
path: 
/TestHelixConfigAccessor_testSetNonexistentParticipantConfig/INSTANCES/localhost_12918/ERRORS
   END TestHelixConfigAccessor_testSetNonexistentParticipantConfig at Mon Jan 
06 12:19:20 PST 2020
   END testSetNonexistentParticipantConfig at Mon Jan 06 12:19:20 PST 2020, 
took: 110ms.
   Shut down zookeeper at port 2183 in thread main
   [INFO] Tests run: 890, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 
3,264.509 s - in TestSuite
   [INFO] 
   [INFO] Results:
   [INFO] 
   [INFO] Tests run: 890, Failures: 0, Errors: 0, Skipped: 0
   [INFO] 
   [INFO] 
------------------------------------------------------------------------
   [INFO] BUILD SUCCESS
   [INFO] 
------------------------------------------------------------------------
   [INFO] Total time:  54:28 min
   [INFO] Finished at: 2020-01-06T12:19:26-08:00
   [INFO] 
------------------------------------------------------------------------
   
   ### Commits
   
   - [X] 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](http://chris.beams.io/posts/git-commit/)":
     1. Subject is separated from body by a blank line
     1. Subject is limited to 50 characters (not including Jira issue reference)
     1. Subject does not end with a period
     1. Subject uses the imperative mood ("add", not "adding")
     1. Body wraps at 72 characters
     1. Body explains "what" and "why", not "how"
   
   ### Code Quality
   
   - [X] My diff has been formatted using helix-style.xml

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to