gianm commented on code in PR #19377: URL: https://github.com/apache/druid/pull/19377#discussion_r3164063311
########## docs/design/zookeeper.md: ########## @@ -29,43 +29,45 @@ Apache Druid uses [Apache ZooKeeper](http://zookeeper.apache.org/) (ZK) for mana Apache Druid supports all stable versions of ZooKeeper. For information about ZooKeeper's stable version, see [ZooKeeper releases](https://zookeeper.apache.org/releases.html). -## ZooKeeper Operations +## ZooKeeper operations -The operations that happen over ZK are +The operations that happen over ZK are: -1. [Coordinator](../design/coordinator.md) leader election -2. Segment "publishing" protocol from [Historical](../design/historical.md) -3. [Overlord](../design/overlord.md) leader election -4. [Overlord](../design/overlord.md) and [Middle Manager](../design/middlemanager.md) task management +1. [Coordinator](../design/coordinator.md) leader election +2. [Overlord](../design/overlord.md) leader election +3. Service (node) announcement and discovery — services announce their presence so other services can find them +4. [Overlord](../design/overlord.md) and [Middle Manager](../design/middlemanager.md) task management -## Coordinator Leader Election +Segment loading, dropping, and discovery no longer use ZooKeeper — they are served over HTTP. -We use the Curator [LeaderLatch](https://curator.apache.org/docs/recipes-leader-latch) recipe to perform leader election at path +## Coordinator leader election + +Druid uses the Curator [LeaderLatch](https://curator.apache.org/docs/recipes-leader-latch) recipe to perform leader election at path ``` ${druid.zk.paths.coordinatorPath}/_COORDINATOR ``` -## Segment "publishing" protocol from Historical and Realtime - -The `announcementsPath` and `liveSegmentsPath` are used for this. +## Overlord leader election -All [Historical](../design/historical.md) processes publish themselves on the `announcementsPath`, specifically, they will create an ephemeral znode at +Druid uses the same [LeaderLatch](https://curator.apache.org/docs/recipes-leader-latch) recipe for Overlord leader election at path ``` -${druid.zk.paths.announcementsPath}/${druid.host} +${druid.zk.paths.overlordPath}/_OVERLORD ``` -Which signifies that they exist. They will also subsequently create a permanent znode at +## Service announcement and discovery + +All Druid services publish their presence by creating an ephemeral znode at ``` -${druid.zk.paths.liveSegmentsPath}/${druid.host} +${druid.zk.paths.announcementsPath}/${druid.host} Review Comment: Is `druid.zk.paths.announcementsPath` really still used? It looked like this PR removed it. ########## server/src/main/java/org/apache/druid/server/initialization/ZkPathsConfig.java: ########## @@ -27,42 +27,20 @@ public class ZkPathsConfig @JsonProperty private String base = "druid"; @JsonProperty - private String propertiesPath; - @JsonProperty private String announcementsPath; Review Comment: It looks like this isn't used anymore -- 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. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
