{"record":{"id":"4c55a90ffd21a052","repo":"apache/hadoop","slug":"could-not-start-curator-keycachelistener-for-keys","errorCode":null,"errorMessage":"Could not start Curator keyCacheListener for keys","messagePattern":"Could not start Curator keyCacheListener for keys","errorType":"exception","errorClass":"IOException","httpStatus":null,"severity":"error","filePath":"hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/token/delegation/ZKDelegationTokenSecretManager.java","lineNumber":309,"sourceCode":"      keyCache = CuratorCache.bridgeBuilder(zkClient, ZK_DTSM_MASTER_KEY_ROOT)\n          .build();\n      CuratorCacheListener keyCacheListener = CuratorCacheListener.builder()\n          .forCreatesAndChanges((oldNode, node) -> {\n            try {\n              processKeyAddOrUpdate(node.getData());\n            } catch (IOException e) {\n              LOG.error(\"Error while processing Curator keyCacheListener \"\n                  + \"NODE_CREATED / NODE_CHANGED event\");\n              throw new UncheckedIOException(e);\n            }\n          })\n          .forDeletes(childData -> processKeyRemoved(childData.getPath()))\n          .build();\n      keyCache.listenable().addListener(keyCacheListener);\n      keyCache.start();\n      loadFromZKCache(false);\n    } catch (Exception e) {\n      throw new IOException(\"Could not start Curator keyCacheListener for keys\",\n          e);\n    }\n    if (isTokenWatcherEnabled) {\n      LOG.info(\"TokenCache is enabled\");\n      try {\n        tokenCache = CuratorCache.bridgeBuilder(zkClient, ZK_DTSM_TOKENS_ROOT)\n            .build();\n        CuratorCacheListener tokenCacheListener = CuratorCacheListener.builder()\n            .forCreatesAndChanges((oldNode, node) -> {\n              try {\n                processTokenAddOrUpdate(node.getData());\n              } catch (IOException e) {\n                LOG.error(\"Error while processing Curator tokenCacheListener \"\n                    + \"NODE_CREATED / NODE_CHANGED event\");\n                throw new UncheckedIOException(e);\n              }\n            })\n            .forDeletes(childData -> {","sourceCodeStart":291,"sourceCodeEnd":327,"githubUrl":"https://github.com/apache/hadoop/blob/2add9630210752f88ceb1bb74eb65e37bf41da8e/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/token/delegation/ZKDelegationTokenSecretManager.java#L291-L327","documentation":"Error \"Could not start Curator keyCacheListener for keys\" thrown in apache/hadoop.","triggerScenarios":"Thrown at hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/token/delegation/ZKDelegationTokenSecretManager.java:309 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["The Curator cache listener for delegation keys failed to start. Check ZK connectivity and that the keys znode path exists; restart the service."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"2add9630210752f88ceb1bb74eb65e37bf41da8e","analyzedAt":"2026-08-22T19:55:07.957Z","schemaVersion":2},"datasetVersion":"2026-08-23T01:17:44.959Z"}