This is an automated email from the ASF dual-hosted git repository.
noble 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 df091fc5c98 Avoid unnecessary map creation while serializing
DocCollection
df091fc5c98 is described below
commit df091fc5c98848e542af01623c071f486f4c7f4c
Author: Noble Paul <[email protected]>
AuthorDate: Wed Apr 12 22:07:03 2023 +1000
Avoid unnecessary map creation while serializing DocCollection
---
.../java/org/apache/solr/common/cloud/DocCollection.java | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git
a/solr/solrj/src/java/org/apache/solr/common/cloud/DocCollection.java
b/solr/solrj/src/java/org/apache/solr/common/cloud/DocCollection.java
index 55068c70aac..3806a1a008b 100644
--- a/solr/solrj/src/java/org/apache/solr/common/cloud/DocCollection.java
+++ b/solr/solrj/src/java/org/apache/solr/common/cloud/DocCollection.java
@@ -24,7 +24,6 @@ import java.util.Collection;
import java.util.EnumSet;
import java.util.HashMap;
import java.util.Iterator;
-import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
@@ -32,8 +31,8 @@ import java.util.Set;
import java.util.function.BiConsumer;
import java.util.function.BiPredicate;
import java.util.function.Supplier;
+import org.apache.solr.common.MapWriter;
import org.apache.solr.common.cloud.Replica.ReplicaStateProps;
-import org.apache.solr.common.util.CollectionUtil;
import org.noggit.JSONWriter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -328,10 +327,12 @@ public class DocCollection extends ZkNodeProps implements
Iterable<Slice> {
@Override
public void write(JSONWriter jsonWriter) {
- LinkedHashMap<String, Object> all =
CollectionUtil.newLinkedHashMap(slices.size() + 1);
- all.putAll(propMap);
- all.put(CollectionStateProps.SHARDS, slices);
- jsonWriter.write(all);
+ jsonWriter.write(
+ (MapWriter)
+ ew -> {
+ propMap.forEach(ew.getBiConsumer());
+ ew.put(CollectionStateProps.SHARDS, slices);
+ });
}
public Replica getReplica(String coreNodeName) {