You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by yo...@apache.org on 2013/09/24 01:49:15 UTC

svn commit: r1525748 - in /lucene/dev/branches/lucene_solr_4_5: ./ dev-tools/ lucene/ lucene/analysis/ lucene/analysis/icu/src/java/org/apache/lucene/collation/ lucene/backwards/ lucene/benchmark/ lucene/classification/ lucene/classification/src/ lucen...

Author: yonik
Date: Mon Sep 23 23:49:13 2013
New Revision: 1525748

URL: http://svn.apache.org/r1525748
Log:
SOLR-5261: fix javabin block indexing back compat

Modified:
    lucene/dev/branches/lucene_solr_4_5/   (props changed)
    lucene/dev/branches/lucene_solr_4_5/dev-tools/   (props changed)
    lucene/dev/branches/lucene_solr_4_5/lucene/   (props changed)
    lucene/dev/branches/lucene_solr_4_5/lucene/BUILD.txt   (props changed)
    lucene/dev/branches/lucene_solr_4_5/lucene/CHANGES.txt   (props changed)
    lucene/dev/branches/lucene_solr_4_5/lucene/JRE_VERSION_MIGRATION.txt   (props changed)
    lucene/dev/branches/lucene_solr_4_5/lucene/LICENSE.txt   (props changed)
    lucene/dev/branches/lucene_solr_4_5/lucene/MIGRATE.txt   (props changed)
    lucene/dev/branches/lucene_solr_4_5/lucene/NOTICE.txt   (props changed)
    lucene/dev/branches/lucene_solr_4_5/lucene/README.txt   (props changed)
    lucene/dev/branches/lucene_solr_4_5/lucene/SYSTEM_REQUIREMENTS.txt   (props changed)
    lucene/dev/branches/lucene_solr_4_5/lucene/analysis/   (props changed)
    lucene/dev/branches/lucene_solr_4_5/lucene/analysis/icu/src/java/org/apache/lucene/collation/ICUCollationKeyFilterFactory.java   (props changed)
    lucene/dev/branches/lucene_solr_4_5/lucene/backwards/   (props changed)
    lucene/dev/branches/lucene_solr_4_5/lucene/benchmark/   (props changed)
    lucene/dev/branches/lucene_solr_4_5/lucene/build.xml   (props changed)
    lucene/dev/branches/lucene_solr_4_5/lucene/classification/   (props changed)
    lucene/dev/branches/lucene_solr_4_5/lucene/classification/build.xml   (props changed)
    lucene/dev/branches/lucene_solr_4_5/lucene/classification/ivy.xml   (props changed)
    lucene/dev/branches/lucene_solr_4_5/lucene/classification/src/   (props changed)
    lucene/dev/branches/lucene_solr_4_5/lucene/codecs/   (props changed)
    lucene/dev/branches/lucene_solr_4_5/lucene/common-build.xml   (props changed)
    lucene/dev/branches/lucene_solr_4_5/lucene/core/   (props changed)
    lucene/dev/branches/lucene_solr_4_5/lucene/core/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java   (props changed)
    lucene/dev/branches/lucene_solr_4_5/lucene/core/src/test/org/apache/lucene/index/index.40.cfs.zip   (props changed)
    lucene/dev/branches/lucene_solr_4_5/lucene/core/src/test/org/apache/lucene/index/index.40.nocfs.zip   (props changed)
    lucene/dev/branches/lucene_solr_4_5/lucene/core/src/test/org/apache/lucene/index/index.40.optimized.cfs.zip   (props changed)
    lucene/dev/branches/lucene_solr_4_5/lucene/core/src/test/org/apache/lucene/index/index.40.optimized.nocfs.zip   (props changed)
    lucene/dev/branches/lucene_solr_4_5/lucene/core/src/test/org/apache/lucene/search/TestSort.java   (props changed)
    lucene/dev/branches/lucene_solr_4_5/lucene/core/src/test/org/apache/lucene/search/TestSortDocValues.java   (props changed)
    lucene/dev/branches/lucene_solr_4_5/lucene/core/src/test/org/apache/lucene/search/TestSortRandom.java   (props changed)
    lucene/dev/branches/lucene_solr_4_5/lucene/core/src/test/org/apache/lucene/search/TestTopFieldCollector.java   (props changed)
    lucene/dev/branches/lucene_solr_4_5/lucene/core/src/test/org/apache/lucene/search/TestTotalHitCountCollector.java   (props changed)
    lucene/dev/branches/lucene_solr_4_5/lucene/demo/   (props changed)
    lucene/dev/branches/lucene_solr_4_5/lucene/facet/   (props changed)
    lucene/dev/branches/lucene_solr_4_5/lucene/grouping/   (props changed)
    lucene/dev/branches/lucene_solr_4_5/lucene/highlighter/   (props changed)
    lucene/dev/branches/lucene_solr_4_5/lucene/ivy-settings.xml   (props changed)
    lucene/dev/branches/lucene_solr_4_5/lucene/join/   (props changed)
    lucene/dev/branches/lucene_solr_4_5/lucene/licenses/   (props changed)
    lucene/dev/branches/lucene_solr_4_5/lucene/memory/   (props changed)
    lucene/dev/branches/lucene_solr_4_5/lucene/misc/   (props changed)
    lucene/dev/branches/lucene_solr_4_5/lucene/module-build.xml   (props changed)
    lucene/dev/branches/lucene_solr_4_5/lucene/queries/   (props changed)
    lucene/dev/branches/lucene_solr_4_5/lucene/queries/src/test/org/apache/lucene/queries/function/TestFunctionQuerySort.java   (props changed)
    lucene/dev/branches/lucene_solr_4_5/lucene/queryparser/   (props changed)
    lucene/dev/branches/lucene_solr_4_5/lucene/replicator/   (props changed)
    lucene/dev/branches/lucene_solr_4_5/lucene/sandbox/   (props changed)
    lucene/dev/branches/lucene_solr_4_5/lucene/site/   (props changed)
    lucene/dev/branches/lucene_solr_4_5/lucene/spatial/   (props changed)
    lucene/dev/branches/lucene_solr_4_5/lucene/suggest/   (props changed)
    lucene/dev/branches/lucene_solr_4_5/lucene/test-framework/   (props changed)
    lucene/dev/branches/lucene_solr_4_5/lucene/tools/   (props changed)
    lucene/dev/branches/lucene_solr_4_5/solr/   (props changed)
    lucene/dev/branches/lucene_solr_4_5/solr/CHANGES.txt   (props changed)
    lucene/dev/branches/lucene_solr_4_5/solr/LICENSE.txt   (props changed)
    lucene/dev/branches/lucene_solr_4_5/solr/NOTICE.txt   (props changed)
    lucene/dev/branches/lucene_solr_4_5/solr/README.txt   (props changed)
    lucene/dev/branches/lucene_solr_4_5/solr/SYSTEM_REQUIREMENTS.txt   (props changed)
    lucene/dev/branches/lucene_solr_4_5/solr/build.xml   (props changed)
    lucene/dev/branches/lucene_solr_4_5/solr/cloud-dev/   (props changed)
    lucene/dev/branches/lucene_solr_4_5/solr/common-build.xml   (props changed)
    lucene/dev/branches/lucene_solr_4_5/solr/contrib/   (props changed)
    lucene/dev/branches/lucene_solr_4_5/solr/core/   (props changed)
    lucene/dev/branches/lucene_solr_4_5/solr/core/src/test/org/apache/solr/core/TestConfig.java   (props changed)
    lucene/dev/branches/lucene_solr_4_5/solr/example/   (props changed)
    lucene/dev/branches/lucene_solr_4_5/solr/licenses/   (props changed)
    lucene/dev/branches/lucene_solr_4_5/solr/licenses/httpclient-LICENSE-ASL.txt   (props changed)
    lucene/dev/branches/lucene_solr_4_5/solr/licenses/httpclient-NOTICE.txt   (props changed)
    lucene/dev/branches/lucene_solr_4_5/solr/licenses/httpcore-LICENSE-ASL.txt   (props changed)
    lucene/dev/branches/lucene_solr_4_5/solr/licenses/httpcore-NOTICE.txt   (props changed)
    lucene/dev/branches/lucene_solr_4_5/solr/licenses/httpmime-LICENSE-ASL.txt   (props changed)
    lucene/dev/branches/lucene_solr_4_5/solr/licenses/httpmime-NOTICE.txt   (props changed)
    lucene/dev/branches/lucene_solr_4_5/solr/scripts/   (props changed)
    lucene/dev/branches/lucene_solr_4_5/solr/site/   (props changed)
    lucene/dev/branches/lucene_solr_4_5/solr/solrj/   (props changed)
    lucene/dev/branches/lucene_solr_4_5/solr/solrj/src/java/org/apache/solr/common/util/JavaBinCodec.java
    lucene/dev/branches/lucene_solr_4_5/solr/test-framework/   (props changed)
    lucene/dev/branches/lucene_solr_4_5/solr/webapp/   (props changed)

Modified: lucene/dev/branches/lucene_solr_4_5/solr/solrj/src/java/org/apache/solr/common/util/JavaBinCodec.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene_solr_4_5/solr/solrj/src/java/org/apache/solr/common/util/JavaBinCodec.java?rev=1525748&r1=1525747&r2=1525748&view=diff
==============================================================================
--- lucene/dev/branches/lucene_solr_4_5/solr/solrj/src/java/org/apache/solr/common/util/JavaBinCodec.java (original)
+++ lucene/dev/branches/lucene_solr_4_5/solr/solrj/src/java/org/apache/solr/common/util/JavaBinCodec.java Mon Sep 23 23:49:13 2013
@@ -62,7 +62,6 @@ public class JavaBinCodec {
           END = 15,
 
           SOLRINPUTDOC = 16,
-          SOLRINPUTDOC_CHILDS = 17,
 
           // types that combine tag + length (or other info) in a single byte
           TAG_AND_LEN = (byte) (1 << 5),
@@ -359,36 +358,32 @@ public class JavaBinCodec {
 
   public SolrInputDocument readSolrInputDocument(DataInputInputStream dis) throws IOException {
     int sz = readVInt(dis);
-    dis.readByte(); // skip childDocuments tag
-    int childsSize = readVInt(dis);
     float docBoost = (Float)readVal(dis);
     SolrInputDocument sdoc = new SolrInputDocument();
     sdoc.setDocumentBoost(docBoost);
     for (int i = 0; i < sz; i++) {
       float boost = 1.0f;
       String fieldName;
-      Object boostOrFieldName = readVal(dis);
-      if (boostOrFieldName instanceof Float) {
-        boost = (Float)boostOrFieldName;
+      Object obj = readVal(dis); // could be a boost, a field name, or a child document
+      if (obj instanceof Float) {
+        boost = (Float)obj;
         fieldName = (String)readVal(dis);
+      } else if (obj instanceof SolrInputDocument) {
+        sdoc.addChildDocument((SolrInputDocument)obj);
+        continue;
       } else {
-        fieldName = (String)boostOrFieldName;
+        fieldName = (String)obj;
       }
       Object fieldVal = readVal(dis);
       sdoc.setField(fieldName, fieldVal, boost);
     }
-    for (int i = 0; i < childsSize; i++) {
-      dis.readByte(); // skip solrinputdoc tag
-      SolrInputDocument child = readSolrInputDocument(dis);
-      sdoc.addChildDocument(child);
-    }
     return sdoc;
   }
 
   public void writeSolrInputDocument(SolrInputDocument sdoc) throws IOException {
-    writeTag(SOLRINPUTDOC, sdoc.size());
     List<SolrInputDocument> children = sdoc.getChildDocuments();
-    writeTag(SOLRINPUTDOC_CHILDS, children==null ? 0 : children.size());
+    int sz = sdoc.size() + (children==null ? 0 : children.size());
+    writeTag(SOLRINPUTDOC, sz);
     writeFloat(sdoc.getDocumentBoost());
     for (SolrInputField inputField : sdoc.values()) {
       if (inputField.getBoost() != 1.0f) {