[apache/helix] -- Add SetPartitionToError for participants to self annotate a node to ERROR state (#2792)

Co-authored-by: Charanya Sudharsanan <csudhars@csudhars-mn2.linkedin.biz>

What: An API endpoint that validates the incoming request and sends a state transition message to sets one or more partitions from any current state to ERROR state.

Why: Currently, the participants are unable to set a partition to an ERROR state explicitly when they seem to be stuck in a specific current state. The only way a replica can be set to ERROR is from within a state model. Having an endpoint to allow this behavior would allow the clients to call the resetPartition endpoint to set it back to INIT state and recover the replica. resetPartition works only on partitions in error state.
12 files changed
tree: 1913ac0e622d400dc6504adcf498199918ec2bc8
  1. .github/
  2. helix-admin-webapp/
  3. helix-agent/
  4. helix-common/
  5. helix-core/
  6. helix-front/
  7. helix-lock/
  8. helix-rest/
  9. helix-view-aggregator/
  10. meta-client/
  11. metadata-store-directory-common/
  12. metrics-common/
  13. recipes/
  14. scripts/
  15. website/
  16. zookeeper-api/
  17. .gitignore
  18. build
  19. bump-snapshot.sh
  20. bump-up.sh
  21. deploySite.sh
  22. helix-style-intellij.xml
  23. helix-style.xml
  24. hpost-review.sh
  25. LICENSE
  26. NOTICE
  27. pom.xml
  28. README.md
README.md

Apache Helix

Helix CI Maven Central License codecov.io Flaky Tests Track

Helix Logo

Helix is part of the Apache Software Foundation.

Project page: http://helix.apache.org/

Mailing list: http://helix.apache.org/mail-lists.html

Build

mvn clean install -Dmaven.test.skip.exec=true

WHAT IS HELIX

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:

  1. Automatic assignment of resource/partition to nodes
  2. Node failure detection and recovery
  3. Dynamic addition of Resources
  4. Dynamic addition of nodes to the cluster
  5. Pluggable distributed state machine to manage the state of a resource via state transitions
  6. Automatic load balancing and throttling of transitions

Dependencies

Helix UI has been tested to run well on these versions of node and yarn:

  "engines": {
    "node": "~14.17.5",
    "yarn": "^1.22.18"
  },