[ https://issues.apache.org/jira/browse/CURATOR-415?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kezhu Wang closed CURATOR-415. ------------------------------ Assignee: (was: Jordan Zimmerman) Resolution: Information Provided > SharedValue doesn't retry on session expiration and the approach to retries > is not clear > ---------------------------------------------------------------------------------------- > > Key: CURATOR-415 > URL: https://issues.apache.org/jira/browse/CURATOR-415 > Project: Apache Curator > Issue Type: Bug > Reporter: Sergey Shelukhin > Priority: Major > > When the session expires, seemingly on a background thread, trying to set a > shared value instantly fails (in our logs there's no delay between the > previous activity of the calling thread, and the exception). Judging by the > code in RetryLoop that is the default behavior. > Seems like there should be some mechanism to wait and/or retry. Also, in > absence of such mechanism it's not clear whether external retries should be > used, or whether SharedValue object is entirely unusable after session > expiration (since if it were usable across sessions, one would assume it > would retry internally ;)) > {noformat} > 2017-05-17T21:33:33,863 ERROR [b99e518c-9777-4c99-b5e7-c9a371aba3af > HiveServer2-Handler-Pool: Thread-36331-EventThread]: > imps.CuratorFrameworkImpl (CuratorFrameworkImpl.java:logError(546)) - Watcher > exception > org.apache.zookeeper.KeeperException$SessionExpiredException: KeeperErrorCode > = Session expired for ... > ... > 2017-05-17T21:33:39,935 > ... > Caused by: java.lang.RuntimeException: > org.apache.zookeeper.KeeperException$SessionExpiredException:KeeperErrorCode > = Session expired for /zkdtsm_hive_llap0/ZKDTSMRoot/ZKDTSMSeqNumRoot > at org.apache.zookeeper.KeeperException.create(KeeperException.java:127) > at org.apache.zookeeper.KeeperException.create(KeeperException.java:51) > at org.apache.zookeeper.ZooKeeper.setData(ZooKeeper.java:1270) > at > org.apache.curator.framework.imps.SetDataBuilderImpl$4.call(SetDataBuilderImpl.java:274) > at > org.apache.curator.framework.imps.SetDataBuilderImpl$4.call(SetDataBuilderImpl.java:270) > at org.apache.curator.RetryLoop.callWithRetry(RetryLoop.java:107) > at > org.apache.curator.framework.imps.SetDataBuilderImpl.pathInForeground(SetDataBuilderImpl.java:267) > at > org.apache.curator.framework.imps.SetDataBuilderImpl.forPath(SetDataBuilderImpl.java:253) > at > org.apache.curator.framework.imps.SetDataBuilderImpl.forPath(SetDataBuilderImpl.java:41) > at > org.apache.curator.framework.recipes.shared.SharedValue.trySetValue(SharedValue.java:168) > at > org.apache.curator.framework.recipes.shared.SharedCount.trySetCount(SharedCount.java:111) > {noformat} -- This message was sent by Atlassian Jira (v8.20.10#820010)