Skip to content

Commit 0bb3adf

Browse files
xingsuo-zbz赵宝珠
andauthored
GH-1248. Fix bug of useSessionTimeoutMs overflow (#1249)
Co-authored-by: 赵宝珠 <[email protected]>
1 parent f0646f9 commit 0bb3adf

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

curator-framework/src/main/java/org/apache/curator/framework/state/ConnectionStateManager.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -241,7 +241,7 @@ private void postState(ConnectionState state) {
241241
private void processEvents() {
242242
while (state.get() == State.STARTED) {
243243
try {
244-
int useSessionTimeoutMs = getUseSessionTimeoutMs();
244+
long useSessionTimeoutMs = getUseSessionTimeoutMs();
245245
long elapsedMs = startOfSuspendedEpoch == 0
246246
? useSessionTimeoutMs / 2
247247
: System.currentTimeMillis() - startOfSuspendedEpoch;
@@ -281,7 +281,7 @@ private void processEvents() {
281281
private void checkSessionExpiration() {
282282
if ((currentConnectionState == ConnectionState.SUSPENDED) && (startOfSuspendedEpoch != 0)) {
283283
long elapsedMs = System.currentTimeMillis() - startOfSuspendedEpoch;
284-
int useSessionTimeoutMs = getUseSessionTimeoutMs();
284+
long useSessionTimeoutMs = getUseSessionTimeoutMs();
285285
if (elapsedMs >= useSessionTimeoutMs) {
286286
startOfSuspendedEpoch =
287287
System.currentTimeMillis(); // reset startOfSuspendedEpoch to avoid spinning on this session
@@ -317,9 +317,9 @@ private void setCurrentConnectionState(ConnectionState newConnectionState) {
317317
startOfSuspendedEpoch = (currentConnectionState == ConnectionState.SUSPENDED) ? System.currentTimeMillis() : 0;
318318
}
319319

320-
private int getUseSessionTimeoutMs() {
321-
int lastNegotiatedSessionTimeoutMs = client.getZookeeperClient().getLastNegotiatedSessionTimeoutMs();
322-
int useSessionTimeoutMs =
320+
private long getUseSessionTimeoutMs() {
321+
long lastNegotiatedSessionTimeoutMs = client.getZookeeperClient().getLastNegotiatedSessionTimeoutMs();
322+
long useSessionTimeoutMs =
323323
(lastNegotiatedSessionTimeoutMs > 0) ? lastNegotiatedSessionTimeoutMs : sessionTimeoutMs;
324324
useSessionTimeoutMs = sessionExpirationPercent > 0 && startOfSuspendedEpoch != 0
325325
? (useSessionTimeoutMs * sessionExpirationPercent) / 100

0 commit comments

Comments
 (0)