Extend the timeout for flaky as slowness of the machine and add logs for TestRoutingTableProviderFromCurrentStates

  1. After cluster verification - logs when rebalance completes
  2. Waiting for routing table update - logs when waiting for MASTER assignment
  3. If update fails - logs what instances are actually present
  4. After participant shutdown - logs which node was stopped
  5. After cluster stabilization - logs when verify passes
  6. Before validation steps - logs which step is running
  7. If routing tables don't match - logs ideal state partitions

Now when it fails in CI, you'll see detailed logs like:
  INFO: Cluster verified after rebalance
  INFO: Waiting for routing table to update for partition TestDB-0
  INFO: Target node with MASTER: localhost_12918
  INFO: Shutdown participant: localhost_12918
  INFO: Waiting for cluster to stabilize after shutdown
  INFO: Cluster verified after shutdown
  INFO: Validate after step 4
  ERROR: Routing tables did not match between EV and CS providers
  ERROR: IdealState partitions: [TestDB-0, TestDB-1, ...]
1 file changed
tree: 17987e5af7d97c69865f15f8bb0e7aa7420f0c1a
  1. .github/
  2. helix-admin-webapp/
  3. helix-agent/
  4. helix-common/
  5. helix-core/
  6. helix-front/
  7. helix-gateway/
  8. helix-lock/
  9. helix-rest/
  10. helix-view-aggregator/
  11. meta-client/
  12. metadata-store-directory-common/
  13. metrics-common/
  14. recipes/
  15. scripts/
  16. website/
  17. zookeeper-api/
  18. .gitignore
  19. build
  20. bump-snapshot-mac.sh
  21. bump-snapshot.sh
  22. bump-up.sh
  23. deploySite.sh
  24. helix-style-intellij.xml
  25. helix-style.xml
  26. hpost-review.sh
  27. LICENSE
  28. NOTICE
  29. pom.xml
  30. 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"
  },