Daemonize ZkBucketDataAccessor GC_THREAD (#1936)

GC_THREAD (which is actually an ExecutorService, not Thread) is a static field in ZkBucketDataAccessor. The executor is started when ZkBucketDataAccessor class is initialized but it is never shut down. Since ExecutorService threads are generally not daemon threads, not shutting down GC_THREAD prevents JVM from shutting down cleanly.

This commit makes ZkBucketDataAccessor GC_THREAD a daemon thread so it doesn't prevent application shutdown.
1 file changed
tree: 14e76e571e1bfd99f9e152c508a7b08a274ba4b3
  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. metadata-store-directory-common/
  10. metrics-common/
  11. recipes/
  12. scripts/
  13. website/
  14. zookeeper-api/
  15. .gitignore
  16. build
  17. bump-up.command
  18. deploySite.sh
  19. helix-style-intellij.xml
  20. helix-style.xml
  21. hpost-review.sh
  22. LICENSE
  23. NOTICE
  24. pom.xml
  25. README.md
README.md

Apache Helix

Github Build 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