commit | 3a494a4573ebe60f76e98a475446e8f52626befd | [log] [tgz] |
---|---|---|
author | Jiajun Wang <jjwang@linkedin.com> | Wed May 26 13:54:50 2021 -0700 |
committer | GitHub <noreply@github.com> | Wed May 26 13:54:50 2021 -0700 |
tree | 3de5cd28e6959efbbb2bd9f737ff2c5ccf028413 | |
parent | 1a746c56ae29fb13a405c8604525fc5ca7f6e9e8 [diff] |
Add concurrent control to DistClusterControllerStateModel._controller access to avoid NPE. (#1753) This PR fixes a potential NPE Exception that may be thrown in the DistClusterControllerStateModel state transition methods. When this error happens, a follower-to-leader state transition might be interrupted. The controller instance partition will be set with the ERROR state but the controller instance may have connected to the Zookeeper already. This causes inconsistency and leakage since the controller instance won't be properly cleaned up when it is dropped directly from the ERROR state.
Helix is part of the Apache Software Foundation.
Project page: http://helix.apache.org/
Mailing list: http://helix.apache.org/mail-lists.html
mvn clean install -Dmaven.test.skip.exec=true
Helix is a generic cluster management framework used for automatic management of partitioned, replicated and distributed resources hosted on a cluster of nodes. Helix provides the following features: