Hi all,
Hi took recent 5.8.0 release and some project tests were running really slow 
compared with 5.7.1
I took a closer look and CuratorFramework.close method is really slow when ZK 
server is stop.
I have included a test that makes reproduction easy
I am running Manjaro with OpenJDK 17
When test is running with Curator 5.7.1 closing Curator instance takes 1200 
millisWhen test is running with Curator 5.8.0 closing Curator instance takes 
20000 millis
Looks to me there is something wrong here, BUT wanted to double check with you.
Best regards,
Cheva

package com.cheva.grantor;
import static java.util.concurrent.TimeUnit.SECONDS;import static 
org.junit.jupiter.api.Assertions.assertTrue;
import java.time.Duration;import java.time.Instant;
import org.apache.curator.framework.CuratorFramework;import 
org.apache.curator.framework.CuratorFrameworkFactory;import 
org.apache.curator.retry.RetryOneTime;import 
org.apache.curator.test.BaseClassForTests;import org.junit.jupiter.api.Test;
class CuratorCloseSlow extends BaseClassForTests {
  @Test  void tesCuratorCloseSlow() throws Exception {    Instant t0;    try 
(CuratorFramework cf =        
CuratorFrameworkFactory.newClient(server.getConnectString(), new 
RetryOneTime(1_000))) {      cf.start();      
assertTrue(cf.blockUntilConnected(2, SECONDS));      
cf.create().forPath("/jejeje");      server.stop();      Thread.sleep(100L);    
  t0 = Instant.now();    }    Instant t1 = Instant.now();    long 
closeDurationMillis = Duration.between(t0, t1).toMillis();    
System.out.println("Close Duration took " + closeDurationMillis + " secs");    
assertTrue(closeDurationMillis < 2_000L);  }}

  

Reply via email to