Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clickhouse v18.14.17 did not refresh configration in zookeeper when it changed #2947

Closed
dqminh opened this issue Aug 24, 2018 · 3 comments
Closed
Assignees

Comments

@dqminh
Copy link
Contributor

dqminh commented Aug 24, 2018

Hi,

We are seeing cases in our cluster where clickhouse on many nodes ( but not all ) didnt refresh their configuration in zookeeper when it changed. Also number of watches in the new version differs much from our old version (1.1.54342). With old version we have around 25K watches per server, but with new version we have only around 1K

select version()

┌─version()─┐
│ 1.1.54388 │
└───────────┘

cc @bobrik @vavrusa @bocharov @alexey-milovidov

@dqminh dqminh changed the title Clickhouse v1.1.43388 did not refresh configration in zookeeper when it changed Clickhouse v18.14.17 did not refresh configration in zookeeper when it changed Dec 13, 2018
@dqminh
Copy link
Contributor Author

dqminh commented Dec 13, 2018

We are still seeing this issue on v18.14.17.

An example of the timeline:

  1. Node get SessionExpired
  2. Some time after, to test this, i manually update the config in zookeeper, and check generated config in /etc/clickhouse-server/config-preprocessed.xml. Change is not propagated. This is tried a few times without any results.
  3. Manually system reload config on the node
  4. Repeat 2. This is always successful now

Looking at ConfigReloader and ZookeeperNodeCache, i dont see how watches for existing configs can be re-established after SessionExpired event. @alexey-milovidov @ztlpn do you have any suggestions ?

@ztlpn
Copy link
Contributor

ztlpn commented Dec 13, 2018

Will look into this. The intention is that SessionExpired event should clear the znode cache and all needed znodes would be reloaded.

@ztlpn ztlpn self-assigned this Dec 13, 2018
ztlpn pushed a commit that referenced this issue Dec 26, 2018
…2947 #3891

Previously after a SessionExpired event the context->zookeeper field was
reinitialized with the old expired ZooKeeper instance. This led to inability
to get new paths. Better not cache the ZooKeeper instance and get it at the
start of each request.
@ztlpn
Copy link
Contributor

ztlpn commented Feb 20, 2019

Fixed since 19.1.6.

@ztlpn ztlpn closed this as completed Feb 20, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants