[ https://issues.apache.org/jira/browse/CURATOR-599?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Enrico Olivelli updated CURATOR-599: ------------------------------------ Summary: Hanging indefinitely on some scenarios since zookeeper.request.timeout cannot be configured (add support for ZKClientConfig) (was: Hanging indefinitely on some scenarios since zookeeper.request.timeout cannot be configured) > Hanging indefinitely on some scenarios since zookeeper.request.timeout cannot > be configured (add support for ZKClientConfig) > ---------------------------------------------------------------------------------------------------------------------------- > > Key: CURATOR-599 > URL: https://issues.apache.org/jira/browse/CURATOR-599 > Project: Apache Curator > Issue Type: Improvement > Components: Client > Affects Versions: 5.1.0 > Reporter: Liran Mendelovich > Priority: Major > Time Spent: 4.5h > Remaining Estimate: 0h > > On some executions where ZooKeeper server is not available, Curator client > got waiting and hanging indefinitely, with thread dump stack trace which can > be seen > below. > As this is not reproduced consistently, it seems like a race condition from > Curator/ZooKeeper client, since zookeeper.request.timeout cannot be > configured in Curator client. > As a work-around solution, initialization is executed in a separate thread in > order to interrupt it if it hangs. This has been identified and handled here: > [join_while_zookeeper_down_issue|https://github.com/CiscoSE/commons-cluster/blob/main/docs/join_while_zookeeper_down_issue.txt] > The wanted solution is expose configuration to be able to configure > zookeeper.request.timeout, then it should wait until the request timeout, > which is treated at org.apache.zookeeper.ClientCnxn.submitRequest(). > > stacktrace size: 31 > java.lang.Object.wait(Native Method) > java.lang.Object.wait(Object.java:502) > org.apache.zookeeper.ClientCnxn.submitRequest(ClientCnxn.java:1561) > org.apache.zookeeper.ClientCnxn.submitRequest(ClientCnxn.java:1533) > org.apache.zookeeper.ZooKeeper.create(ZooKeeper.java:1834) > org.apache.curator.framework.imps.CreateBuilderImpl$16.call(CreateBuilderImpl.java:1131) > org.apache.curator.framework.imps.CreateBuilderImpl$16.call(CreateBuilderImpl.java:1113) > org.apache.curator.RetryLoop.callWithRetry(RetryLoop.java:93) > org.apache.curator.framework.imps.CreateBuilderImpl.pathInForeground(CreateBuilderImpl.java:1110) > org.apache.curator.framework.imps.CreateBuilderImpl.protectedPathInForeground(CreateBuilderImpl.java:593) > org.apache.curator.framework.imps.CreateBuilderImpl.forPath(CreateBuilderImpl.java:583) > org.apache.curator.framework.imps.CreateBuilderImpl.forPath(CreateBuilderImpl.java:48) > org.apache.curator.x.discovery.details.ServiceDiscoveryImpl.internalRegisterService(ServiceDiscoveryImpl.java:237) > org.apache.curator.x.discovery.details.ServiceDiscoveryImpl.reRegisterServices(ServiceDiscoveryImpl.java:456) > org.apache.curator.x.discovery.details.ServiceDiscoveryImpl.start(ServiceDiscoveryImpl.java:135) > ... > > > -- This message was sent by Atlassian Jira (v8.3.4#803005)