Skip to content

Document missing property - druid.announcer.skipSegmentAnnouncementOnZk#12891

Merged
abhishekagarwal87 merged 4 commits intoapache:masterfrom
capistrant:missing-historical-config-segment-announce
Aug 16, 2022
Merged

Document missing property - druid.announcer.skipSegmentAnnouncementOnZk#12891
abhishekagarwal87 merged 4 commits intoapache:masterfrom
capistrant:missing-historical-config-segment-announce

Conversation

@capistrant
Copy link
Copy Markdown
Contributor

@capistrant capistrant commented Aug 11, 2022

Description

This property appears to have been omitted from the docs. I don't see why we would want to avoid exposing it. If operators are going to use http server view, why waste the space in zookeeper announcing segments?

I'm not sure on formatting here. I put it in it's own table since it renders the configs in the above table irrelevant. I can change it however we see fit. The important thing I think, is simply making it available in some way so an operator can decide how to properly consume their zookeeper resources depending on the server view they use.


Key changed/added classes in this PR

N/A


This PR has:

  • added documentation for new or modified features or behaviors.

@abhishekagarwal87 abhishekagarwal87 merged commit ec8bdeb into apache:master Aug 16, 2022
@abhishekagarwal87 abhishekagarwal87 added this to the 24.0.0 milestone Aug 26, 2022
@maytasm
Copy link
Copy Markdown
Contributor

maytasm commented Aug 21, 2025

@capistrant @abhishekagarwal87 Since HTTP-based segment loading is enabled by default, is there any reason the default of druid.announcer.skipSegmentAnnouncementOnZk is still false? Why do we still need to announce segments on zk?

@abhishekagarwal87
Copy link
Copy Markdown
Contributor

It might have been so because one could switch back to zk based segment announcements without waiting for all the segments to be announced on zk first. Otherwise, if one wants to switch back to http, they would have to first set this flag, wait for segment announcements to be available on zookeeper and then switch back the announcement mechanism to zk.

Given that http based mechanism has been the de-facto one for a while and is very stable, we could indeed consider switching the default to true.

@maytasm
Copy link
Copy Markdown
Contributor

maytasm commented Aug 25, 2025

It might have been so because one could switch back to zk based segment announcements without waiting for all the segments to be announced on zk first. Otherwise, if one wants to switch back to http, they would have to first set this flag, wait for segment announcements to be available on zookeeper and then switch back the announcement mechanism to zk.

Given that http based mechanism has been the de-facto one for a while and is very stable, we could indeed consider switching the default to true.

I have seen some cases where huge number of watches in ZooKeeper is causing performance issue. While there are improvements like #17482, I wonder if just switching this to true will be an easy win. I feel that most people are already using http segment discovery (it has been default since v25) but doesn't know about the existence of this flag. Hence, maybe switching the default of this flag to true will be beneficial to the community. I can raise a PR to switch the default to true unless there is any concern.
We can also deprecate and remove zk segment discovery first before changing the default of this flag to make sure that all Druid clusters will be using http segment discovery. WDYT?

@gianm
Copy link
Copy Markdown
Contributor

gianm commented Aug 27, 2025

I have seen some cases where huge number of watches in ZooKeeper is causing performance issue. While there are improvements like #17482, I wonder if just switching this to true will be an easy win. I feel that most people are already using http segment discovery (it has been default since v25) but doesn't know about the existence of this flag. Hence, maybe switching the default of this flag to true will be beneficial to the community. I can raise a PR to switch the default to true unless there is any concern.
We can also deprecate and remove zk segment discovery first before changing the default of this flag to make sure that all Druid clusters will be using http segment discovery. WDYT?

IMO, setting the default to true would be good. I don't think there are big backwards compatibility concerns anymore, since http segment discovery has been supported for a while. We would just need a release note.

@maytasm
Copy link
Copy Markdown
Contributor

maytasm commented Aug 27, 2025

I have seen some cases where huge number of watches in ZooKeeper is causing performance issue. While there are improvements like #17482, I wonder if just switching this to true will be an easy win. I feel that most people are already using http segment discovery (it has been default since v25) but doesn't know about the existence of this flag. Hence, maybe switching the default of this flag to true will be beneficial to the community. I can raise a PR to switch the default to true unless there is any concern.
We can also deprecate and remove zk segment discovery first before changing the default of this flag to make sure that all Druid clusters will be using http segment discovery. WDYT?

IMO, setting the default to true would be good. I don't think there are big backwards compatibility concerns anymore, since http segment discovery has been supported for a while. We would just need a release note.

Raised a PR here: #18445
Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants