curator-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Xiaoshuang LU (JIRA)" <j...@apache.org>
Subject [jira] [Created] (CURATOR-216) PathChildrenCacheListener could not receive CHILD_UPDATED events
Date Sat, 09 May 2015 11:20:00 GMT
Xiaoshuang LU created CURATOR-216:
-------------------------------------

             Summary: PathChildrenCacheListener could not receive CHILD_UPDATED events
                 Key: CURATOR-216
                 URL: https://issues.apache.org/jira/browse/CURATOR-216
             Project: Apache Curator
          Issue Type: Bug
          Components: Recipes
    Affects Versions: 2.6.0
            Reporter: Xiaoshuang LU
            Priority: Blocker


case to reproduce the issue
{code}
    public void testChildUpdated() throws Exception
    {
        Timing timing = new Timing();
        CuratorFramework client = CuratorFrameworkFactory.newClient(server.getConnectString(),
timing.session(), timing.connection(), new RetryOneTime(1));
        client.start();
        try
        {
            final CountDownLatch updatedLatch = new CountDownLatch(1);
            client.create().creatingParentsIfNeeded().forPath("/test");
            PathChildrenCache cache = new PathChildrenCache(client, "/test", false);
            cache.getListenable().addListener
                (
                    new PathChildrenCacheListener()
                    {
                        @Override
                        public void childEvent(CuratorFramework client, PathChildrenCacheEvent
event) throws Exception
                        {
                            if ( event.getType() == PathChildrenCacheEvent.Type.CHILD_UPDATED
)
                            {
                                updatedLatch.countDown();
                            }
                        }
                    }
                );
            cache.start(PathChildrenCache.StartMode.BUILD_INITIAL_CACHE);
            client.create().forPath("/test/foo", "first".getBytes());
            client.setData().forPath("/test/foo", "something new".getBytes());
            Assert.assertTrue(timing.awaitLatch(updatedLatch));
        }
        finally
        {
            CloseableUtils.closeQuietly(client);
        }
    }
{code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message