This is an automated email from the ASF dual-hosted git repository.
krisden pushed a commit to branch branch_9x
in repository https://gitbox.apache.org/repos/asf/solr.git
The following commit(s) were added to refs/heads/branch_9x by this push:
new 953ac3531fa SOLR-13243: Correct initial capacity of ops (#1232)
953ac3531fa is described below
commit 953ac3531fadd5a8af76e074b9b35e4bf22c276e
Author: Haythem <[email protected]>
AuthorDate: Tue Jan 10 21:48:05 2023 +0100
SOLR-13243: Correct initial capacity of ops (#1232)
---
solr/CHANGES.txt | 2 ++
.../solr/cloud/ShardLeaderElectionContextBase.java | 19 +++++++++----------
2 files changed, 11 insertions(+), 10 deletions(-)
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index a1244b2b650..cc1547e22b8 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -190,6 +190,8 @@ Other Changes
* SOLR-16534: Jaegertracer-Configurator is now deprecated. From v10.0 we'll
only support OpenTelemetry (janhoy)
+* SOLR-13243: Correct the initial capacity of the ZK operations to run in
ShardLeaderElectionContextBase#runLeaderProcess (Haythem Khiri)
+
================== 9.1.1 ==================
Bug Fixes
diff --git
a/solr/core/src/java/org/apache/solr/cloud/ShardLeaderElectionContextBase.java
b/solr/core/src/java/org/apache/solr/cloud/ShardLeaderElectionContextBase.java
index 6288a6e39d5..c8a868bcb26 100644
---
a/solr/core/src/java/org/apache/solr/cloud/ShardLeaderElectionContextBase.java
+++
b/solr/core/src/java/org/apache/solr/cloud/ShardLeaderElectionContextBase.java
@@ -146,21 +146,20 @@ class ShardLeaderElectionContextBase extends
ElectionContext {
"Creating leader registration node {} after winning as {}",
leaderPath,
leaderSeqPath);
- List<Op> ops = new ArrayList<>(2);
// We use a multi operation to get the parent nodes version,
which will
// be used to make sure we only remove our own leader
registration node.
// The setData call used to get the parent version is also the
trigger to
// increment the version. We also do a sanity check that our
leaderSeqPath exists.
-
- ops.add(Op.check(leaderSeqPath, -1));
- ops.add(
- Op.create(
- leaderPath,
- Utils.toJSON(leaderProps),
- zkClient.getZkACLProvider().getACLsToAdd(leaderPath),
- CreateMode.EPHEMERAL));
- ops.add(Op.setData(parent, null, -1));
+ List<Op> ops =
+ List.of(
+ Op.check(leaderSeqPath, -1),
+ Op.create(
+ leaderPath,
+ Utils.toJSON(leaderProps),
+ zkClient.getZkACLProvider().getACLsToAdd(leaderPath),
+ CreateMode.EPHEMERAL),
+ Op.setData(parent, null, -1));
List<OpResult> results;
results = zkClient.multi(ops, true);