You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@curator.apache.org by "Jordan Zimmerman (Jira)" <ji...@apache.org> on 2019/10/10 15:17:00 UTC

[jira] [Commented] (CURATOR-546) currentData in ModeledCacheImpl removes ZPath from cache entries

    [ https://issues.apache.org/jira/browse/CURATOR-546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16948687#comment-16948687 ] 

Jordan Zimmerman commented on CURATOR-546:
------------------------------------------

Yuck - this looks like a pretty bad copy/paste bug. There might be some kind of ugly workaround until we have a fix. Let me think about it.

> currentData in ModeledCacheImpl removes ZPath from cache entries 
> -----------------------------------------------------------------
>
>                 Key: CURATOR-546
>                 URL: https://issues.apache.org/jira/browse/CURATOR-546
>             Project: Apache Curator
>          Issue Type: Bug
>          Components: Client, Framework
>    Affects Versions: 4.2.0
>            Reporter: Yang
>            Priority: Blocker
>         Attachments: kafka-consumer-proxy-cpu-profile.svg
>
>
> I'm using AsyncCuratorFramework with cache, during testing I noticed that 
> *client.cache().currentChildren(<zkPath>)* not also return the full list of children, by digging into *ModeledCacheImpl*, apparently some children been deleted when I call *client.cache().currentData(<zkPath>)*. 
> What's the alternative for me if I wants to get cached node while don't remove it from the cache? 
>  
> public Optional<ZNode<T>> currentData(ZPath path)
>  {
>  Entry<T> entry = entries.remove(path);
>  if ( entry != null )
> { return Optional.of(new ZNodeImpl<>(path, entry.stat, entry.model)); }
> return Optional.empty();
>  }
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)