diff --git a/CHANGES.txt b/CHANGES.txt index 42bb54f5861..c0d254a14f3 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -62,6 +62,8 @@ Optimizations 1. SOLR-374: Use IndexReader.reopen to save resources by re-using parts of the index that haven't changed. (Mark Miller via yonik) + 2. SOLR-808: Write string keys in Maps as extern strings in the javabin format. (Noble Paul via shalin) + Bug Fixes ---------------------- diff --git a/src/java/org/apache/solr/common/util/NamedListCodec.java b/src/java/org/apache/solr/common/util/NamedListCodec.java index b2e0541b2d1..df3f6e03138 100755 --- a/src/java/org/apache/solr/common/util/NamedListCodec.java +++ b/src/java/org/apache/solr/common/util/NamedListCodec.java @@ -495,7 +495,12 @@ public class NamedListCodec { throws IOException { writeTag(MAP, val.size()); for (Map.Entry entry : (Set) val.entrySet()) { - writeVal(entry.getKey()); + Object key = entry.getKey(); + if (key instanceof String) { + writeExternString((String) key); + } else { + writeVal(key); + } writeVal(entry.getValue()); } }