You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@curator.apache.org by "Zili Chen (Jira)" <ji...@apache.org> on 2023/09/15 01:05:00 UTC

[jira] [Resolved] (CURATOR-690) CuratorCache fails to load the cache if there are more than 64K child ZNodes

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

Zili Chen resolved CURATOR-690.
-------------------------------
    Resolution: Fixed

master via 51483adb1d1dd3e43812b5d0ec7c03b6d1d05c7c

> CuratorCache fails to load the cache if there are more than 64K child ZNodes
> ----------------------------------------------------------------------------
>
>                 Key: CURATOR-690
>                 URL: https://issues.apache.org/jira/browse/CURATOR-690
>             Project: Apache Curator
>          Issue Type: Improvement
>          Components: Recipes
>    Affects Versions: 5.5.0
>            Reporter: Ryan Ruel
>            Assignee: Zili Chen
>            Priority: Major
>             Fix For: 5.6.0
>
>
> If there are more than 64K nodes in a tree which CuratorCache is watching, the following exception is thrown:
> {code:java}
> java.lang.IllegalStateException: Attempt to register more than 65535 parties for org.apache.curator.framework.recipes.cache.CuratorCacheImpl$1@52354867[phase = 0 parties = 65535 arrived = 0]{code}
> As shown in the exception, this is due to the fact that java.util.concurrent.Phaser hard-limits the maximum number of Phaser registrants to 0xfff (64K).
> A note in the Phaser documentation indicates why this limit exist and proposes a solution using Tiered Phasers:
> "Implementation notes: This implementation restricts the maximum number of parties to 65535. Attempts to register additional parties result in IllegalStateException. However, you can and should create tiered phasers to accommodate arbitrarily large sets of participants."



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