Github user arrodrigues commented on a diff in the pull request:
https://github.com/apache/curator/pull/262#discussion_r179652355
--- Diff:
curator-framework/src/main/java/org/apache/curator/framework/state/ConnectionStateManager.java
---
@@ -340,4 +338,12 @@ private void setCurrentConnectionState(ConnectionState
newConnectionState)
currentConnectionState = newConnectionState;
startOfSuspendedEpoch = (currentConnectionState ==
ConnectionState.SUSPENDED) ? System.currentTimeMillis() : 0;
}
+
+ private synchronized int getUseSessionTimeoutMs() {
--- End diff --
Yes. I had this discussion with @cammckenzie some comments ago. Every
access to startOfSuspendedEpoch is synchronized on "this" except this point, we
could make it volatile or sync this point more, so we choose to sync it. In the
first version I synchronized just the line accessing startOfSuspendedEpoch, but
after adding getUseSessionTimeoutMs I tought it'd be more readable sync the
whole method.
Do you prefer to make it volatile?
---