aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2022-07-05 08:55:53 +0200
committerGitHub <noreply@github.com>2022-07-05 08:55:53 +0200
commitf2802027f402d5b16f5fffb9cfc5a3d7f7401ab4 (patch)
tree25831e8e7bab5d4dbbf5adef31f6a14e09c2129a
parentbdca3da122423f78c7dace3ab10c27c575b9fa65 (diff)
parentb30b6eebaff55f929073243c789622f288563936 (diff)
Merge pull request #23352 from vespa-engine/hmusum/delete-more-zk-nodes-per-runv8.13.21
Add min and max numbers for expired sessions to delete MERGEOK
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java5
1 files changed, 3 insertions, 2 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java
index 7d10acaf3ae..a144940e443 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java
@@ -358,6 +358,8 @@ public class SessionRepository {
log.log(Level.FINE, () -> "Remote sessions for tenant " + tenantName + ": " + remoteSessionsFromZooKeeper);
int deleted = 0;
+ // Avoid deleting too many in one run
+ int deleteMax = (int) Math.min(1000, Math.max(10, remoteSessionsFromZooKeeper.size() * 0.01));
for (long sessionId : remoteSessionsFromZooKeeper) {
Session session = remoteSessionCache.get(sessionId);
if (session == null) {
@@ -370,8 +372,7 @@ public class SessionRepository {
deleteRemoteSessionFromZooKeeper(session);
deleted++;
}
- // Avoid deleting too many in one run
- if (deleted >= 2)
+ if (deleted >= deleteMax)
break;
}
return deleted;