You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@solr.apache.org by no...@apache.org on 2023/06/07 04:47:40 UTC

[solr] branch branch_9x updated: use STRINGREF feauture (#1695)

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 6ba0be5bc3b use STRINGREF feauture (#1695)
6ba0be5bc3b is described below

commit 6ba0be5bc3be98a7d6ccc25961fd0835b9df7741
Author: Noble Paul <no...@users.noreply.github.com>
AuthorDate: Wed Jun 7 14:35:38 2023 +1000

    use STRINGREF feauture (#1695)
---
 solr/core/src/java/org/apache/solr/handler/loader/CborLoader.java | 6 +++++-
 .../src/java/org/apache/solr/response/CborResponseWriter.java     | 2 +-
 solr/core/src/test/org/apache/solr/util/TestCborDataFormat.java   | 8 +++++---
 .../test/org/apache/solr/client/solrj/SolrExampleCborTest.java    | 6 ++++--
 4 files changed, 15 insertions(+), 7 deletions(-)

diff --git a/solr/core/src/java/org/apache/solr/handler/loader/CborLoader.java b/solr/core/src/java/org/apache/solr/handler/loader/CborLoader.java
index fd8c269d7cc..f1ab9e24a34 100644
--- a/solr/core/src/java/org/apache/solr/handler/loader/CborLoader.java
+++ b/solr/core/src/java/org/apache/solr/handler/loader/CborLoader.java
@@ -19,6 +19,7 @@ package org.apache.solr.handler.loader;
 import com.fasterxml.jackson.core.JsonToken;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.dataformat.cbor.CBORFactory;
+import com.fasterxml.jackson.dataformat.cbor.CBORGenerator;
 import com.fasterxml.jackson.dataformat.cbor.CBORParser;
 import java.io.IOException;
 import java.io.InputStream;
@@ -43,7 +44,10 @@ public class CborLoader {
   private final Consumer<SolrInputDocument> sink;
 
   public CborLoader(CBORFactory cborFactory, Consumer<SolrInputDocument> sink) {
-    this.cborFactory = cborFactory == null ? new CBORFactory() : cborFactory;
+    this.cborFactory =
+        cborFactory == null
+            ? CBORFactory.builder().enable(CBORGenerator.Feature.STRINGREF).build()
+            : cborFactory;
     this.sink = sink;
   }
 
diff --git a/solr/core/src/java/org/apache/solr/response/CborResponseWriter.java b/solr/core/src/java/org/apache/solr/response/CborResponseWriter.java
index 8f52093cac0..9dbd2370112 100644
--- a/solr/core/src/java/org/apache/solr/response/CborResponseWriter.java
+++ b/solr/core/src/java/org/apache/solr/response/CborResponseWriter.java
@@ -34,7 +34,7 @@ public class CborResponseWriter extends BinaryResponseWriter {
   final CBORFactory cborFactory;
 
   public CborResponseWriter() {
-    cborFactory = new CBORFactory();
+    cborFactory = CBORFactory.builder().enable(CBORGenerator.Feature.STRINGREF).build();
   }
 
   @Override
diff --git a/solr/core/src/test/org/apache/solr/util/TestCborDataFormat.java b/solr/core/src/test/org/apache/solr/util/TestCborDataFormat.java
index 536a21757aa..8ba0729ab3b 100644
--- a/solr/core/src/test/org/apache/solr/util/TestCborDataFormat.java
+++ b/solr/core/src/test/org/apache/solr/util/TestCborDataFormat.java
@@ -21,6 +21,7 @@ import com.fasterxml.jackson.core.JsonGenerator;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.dataformat.cbor.CBORFactory;
+import com.fasterxml.jackson.dataformat.cbor.CBORGenerator;
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.File;
@@ -196,7 +197,7 @@ public class TestCborDataFormat extends SolrCloudTestCase {
 
     byte[] b = Files.readAllBytes(filmsJson);
     byte[] bytes = serializeToCbor(b);
-    assertEquals(290672, bytes.length);
+    assertEquals(210439, bytes.length);
     LongAdder docsSz = new LongAdder();
     new CborLoader(null, (document) -> docsSz.increment()).stream(new ByteArrayInputStream(bytes));
     assertEquals(films.size(), docsSz.intValue());
@@ -209,9 +210,10 @@ public class TestCborDataFormat extends SolrCloudTestCase {
     // Read JSON file as a JsonNode
     JsonNode jsonNode = jsonMapper.readTree(is);
     // Create a CBOR ObjectMapper
-    CBORFactory jf = new CBORFactory();
-    ObjectMapper cborMapper = new ObjectMapper(jf);
     baos = new ByteArrayOutputStream();
+
+    ObjectMapper cborMapper =
+        new ObjectMapper(CBORFactory.builder().enable(CBORGenerator.Feature.STRINGREF).build());
     JsonGenerator jsonGenerator = cborMapper.createGenerator(baos);
 
     jsonGenerator.writeTree(jsonNode);
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/SolrExampleCborTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/SolrExampleCborTest.java
index f021e028386..c8b818094d2 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/SolrExampleCborTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/SolrExampleCborTest.java
@@ -18,6 +18,7 @@ package org.apache.solr.client.solrj;
 
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.dataformat.cbor.CBORFactory;
+import com.fasterxml.jackson.dataformat.cbor.CBORGenerator;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
@@ -256,8 +257,9 @@ public class SolrExampleCborTest extends SolrExampleTests {
                 mapDocs.add(doc.toMap(new LinkedHashMap<>()));
               }
 
-              CBORFactory jf = new CBORFactory();
-              ObjectMapper cborMapper = new ObjectMapper(jf);
+              ObjectMapper cborMapper =
+                  new ObjectMapper(
+                      CBORFactory.builder().enable(CBORGenerator.Feature.STRINGREF).build());
               cborMapper.writeValue(os, mapDocs);
             }