[ 
https://issues.apache.org/jira/browse/CURATOR-368?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kezhu Wang closed CURATOR-368.
------------------------------
    Resolution: Invalid

I guess it is not an issue of Curator.

> powermock will cause curator CONNECTIONLOSS exception
> -----------------------------------------------------
>
>                 Key: CURATOR-368
>                 URL: https://issues.apache.org/jira/browse/CURATOR-368
>             Project: Apache Curator
>          Issue Type: Bug
>          Components: Framework
>         Environment: window & linux
> jdk 1.7
> curator-framework 2.9.1
> curator-recipe 2.9.1
> curator-test 2.9.1
> junit 4.12
> powermock-module-junit4 1.6.1
> powermock-api-mockito 1.6.1
>            Reporter: xsank mar
>            Priority: Minor
>
> client code
> {code}
> public class CuratorClient {
>     private CuratorFramework client;
>     public CuratorClient(String url) {
>         this.client = 
> CuratorFrameworkFactory.builder().connectString(url).namespace("test")
>                 .retryPolicy(new RetryNTimes(3, 5000))
>                 .connectionTimeoutMs(3000).build();
>         this.client.start();
>     }
>     public void create(String path) {
>         try {
>             
> this.client.create().creatingParentsIfNeeded().withMode(CreateMode.EPHEMERAL).forPath(path);
>         } catch (Exception e) {
>             e.printStackTrace();
>         }
>     }
>     public void lsChildren(String path) {
>         try {
>             List<String> children = this.client.getChildren().forPath(path);
>             for (String child : children) {
>                 System.out.println(child);
>             }
>         } catch (Exception e) {
>             e.printStackTrace();
>         }
>     }
>     public void close() {
>         this.client.close();
>     }
> }
> {code}
> Test code
> {code}
> @RunWith(PowerMockRunner.class)
> @PrepareForTest({Static.class})
> public class CuratorTest {
>     private CuratorClient client;
>     private TestingServer server;
>     @Before
>     public void setUp() throws Exception {
>         server = new TestingServer();
>         server.start();
>         client = new CuratorClient(server.getConnectString());
>     }
>     @After
>     public void tearDown() throws Exception {
>         client.close();
>         server.close();
>     }
>     @Test
>     public void testCreate() throws Exception {
>         client.create("/curator");
>     }
>     @Test
>     public void lsChildren() throws Exception {
>         client.lsChildren("/curator");
>     }
> }
> {code}
> now start testing, you will catch the exception everytime:
> {code}
> org.apache.curator.CuratorConnectionLossException: KeeperErrorCode = 
> ConnectionLoss
>       at 
> org.apache.curator.ConnectionState.checkTimeouts(ConnectionState.java:195)
>       at 
> org.apache.curator.ConnectionState.getZooKeeper(ConnectionState.java:87)
>       at 
> org.apache.curator.CuratorZookeeperClient.getZooKeeper(CuratorZookeeperClient.java:115)
>       at 
> org.apache.curator.framework.imps.CuratorFrameworkImpl.getZooKeeper(CuratorFrameworkImpl.java:487)
>       at 
> org.apache.curator.framework.imps.CreateBuilderImpl$11.call(CreateBuilderImpl.java:720)
>       at 
> org.apache.curator.framework.imps.CreateBuilderImpl$11.call(CreateBuilderImpl.java:703)
>       at org.apache.curator.RetryLoop.callWithRetry(RetryLoop.java:107)
>       at 
> org.apache.curator.framework.imps.CreateBuilderImpl.pathInForeground(CreateBuilderImpl.java:699)
>       at 
> org.apache.curator.framework.imps.CreateBuilderImpl.protectedPathInForeground(CreateBuilderImpl.java:477)
>       at 
> org.apache.curator.framework.imps.CreateBuilderImpl.forPath(CreateBuilderImpl.java:467)
>       at 
> org.apache.curator.framework.imps.CreateBuilderImpl.forPath(CreateBuilderImpl.java:447)
>       at 
> org.apache.curator.framework.imps.CreateBuilderImpl.forPath(CreateBuilderImpl.java:44)
>       at org.alibaba.search.client.CuratorClient.create(CuratorClient.java:25)
>       at org.alibaba.search.client.CuratorTest.testCreate(CuratorTest.java:35)
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to