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) {