[ 
https://issues.apache.org/jira/browse/CURATOR-599?focusedWorklogId=622446&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-622446
 ]

ASF GitHub Bot logged work on CURATOR-599:
------------------------------------------

                Author: ASF GitHub Bot
            Created on: 14/Jul/21 10:53
            Start Date: 14/Jul/21 10:53
    Worklog Time Spent: 10m 
      Work Description: liran2000 commented on a change in pull request #391:
URL: https://github.com/apache/curator/pull/391#discussion_r669503354



##########
File path: 
curator-framework/src/test/java/org/apache/curator/framework/imps/TestFramework.java
##########
@@ -1073,7 +1080,41 @@ public void testCreateModes() throws Exception
         }
         finally
         {
-            CloseableUtils.closeQuietly(client);
+               CloseableUtils.closeQuietly(client);
+        }
+    }
+    
+    @Test
+    public void testConfigurableZookeeper() throws Exception
+    {
+       CuratorFramework client = null;
+        try
+        {
+               ZKClientConfig zkClientConfig = new ZKClientConfig();
+               String zookeeperRequestTimeout = "30000";
+               
zkClientConfig.setProperty(ZKClientConfig.ZOOKEEPER_REQUEST_TIMEOUT, 
zookeeperRequestTimeout);
+               client = 
CuratorFrameworkFactory.newClient(server.getConnectString(), 30000, 30000, new 
RetryOneTime(1), zkClientConfig);
+            client.start();
+               
+            byte[] writtenBytes = {1, 2, 3};
+            client.create().forPath("/test", writtenBytes);
+
+            byte[] readBytes = client.getData().forPath("/test");
+            assertArrayEquals(writtenBytes, readBytes);
+            assertEquals(zookeeperRequestTimeout, 
client.getZookeeperClient().getZooKeeper().getClientConfig().getProperty(ZKClientConfig.ZOOKEEPER_REQUEST_TIMEOUT));
+            
+        } catch (NoSuchMethodError e) {
+                       log.debug("NoSuchMethodError: ", e);

Review comment:
       @eolivelli thanks, can be merged and then resolve the Jira issue




-- 
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]


Issue Time Tracking
-------------------

    Worklog Id:     (was: 622446)
    Time Spent: 3h 20m  (was: 3h 10m)

> Hanging indefinitely on some scenarios since zookeeper.request.timeout cannot 
> be configured
> -------------------------------------------------------------------------------------------
>
>                 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: 3h 20m
>  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)

Reply via email to