You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by sh...@apache.org on 2013/04/14 08:44:17 UTC
svn commit: r1467729 - in /lucene/dev/branches/branch_4x: ./ solr/ solr/core/
solr/core/src/test/org/apache/solr/cloud/ChaosMonkeyShardSplitTest.java
Author: shalin
Date: Sun Apr 14 06:44:17 2013
New Revision: 1467729
URL: http://svn.apache.org/r1467729
Log:
SOLR-3755: Added debugging code to test to track test failures
Modified:
lucene/dev/branches/branch_4x/ (props changed)
lucene/dev/branches/branch_4x/solr/ (props changed)
lucene/dev/branches/branch_4x/solr/core/ (props changed)
lucene/dev/branches/branch_4x/solr/core/src/test/org/apache/solr/cloud/ChaosMonkeyShardSplitTest.java
Modified: lucene/dev/branches/branch_4x/solr/core/src/test/org/apache/solr/cloud/ChaosMonkeyShardSplitTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/core/src/test/org/apache/solr/cloud/ChaosMonkeyShardSplitTest.java?rev=1467729&r1=1467728&r2=1467729&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/solr/core/src/test/org/apache/solr/cloud/ChaosMonkeyShardSplitTest.java (original)
+++ lucene/dev/branches/branch_4x/solr/core/src/test/org/apache/solr/cloud/ChaosMonkeyShardSplitTest.java Sun Apr 14 06:44:17 2013
@@ -19,7 +19,9 @@ package org.apache.solr.cloud;
import java.io.IOException;
import java.util.Collection;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
import java.util.concurrent.atomic.AtomicInteger;
import org.apache.lucene.util.LuceneTestCase.Slow;
@@ -31,11 +33,11 @@ import org.apache.solr.client.solrj.impl
import org.apache.solr.client.solrj.request.QueryRequest;
import org.apache.solr.client.solrj.request.UpdateRequest;
import org.apache.solr.client.solrj.response.QueryResponse;
+import org.apache.solr.common.SolrDocument;
import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.common.cloud.ClusterState;
import org.apache.solr.common.cloud.DocCollection;
import org.apache.solr.common.cloud.DocRouter;
-import org.apache.solr.common.cloud.PlainIdRouter;
import org.apache.solr.common.cloud.Replica;
import org.apache.solr.common.cloud.Slice;
import org.apache.solr.common.cloud.SolrZkClient;
@@ -259,16 +261,44 @@ public class ChaosMonkeyShardSplitTest e
AbstractFullDistribZkTestBase.DEFAULT_COLLECTION, "shard1_1",
DEFAULT_CONNECTION_TIMEOUT);
HttpSolrServer shard1_1Server = new HttpSolrServer(shard1_1_url);
- response = shard1_1Server.query(query);
- long shard11Count = response.getResults().getNumFound();
+ QueryResponse response2 = shard1_1Server.query(query);
+ long shard11Count = response2.getResults().getNumFound();
System.out.println("Resp: shard: shard1_1 url: " + shard1_1_url + "\n"
- + response.getResponse());
+ + response2.getResponse());
for (int i = 0; i < docCounts.length; i++) {
int docCount = docCounts[i];
System.out
.println("Expected docCount for shard1_" + i + " = " + docCount);
}
+
+ // DEBUGGING CODE
+ log.info("Actual docCount for shard1_0 = {}", shard10Count);
+ log.info("Actual docCount for shard1_1 = {}", shard11Count);
+ Map<String, String> idVsVersion = new HashMap<String, String>();
+ Map<String, SolrDocument> shard10Docs = new HashMap<String, SolrDocument>();
+ Map<String, SolrDocument> shard11Docs = new HashMap<String, SolrDocument>();
+ for (int i = 0; i < response.getResults().size(); i++) {
+ SolrDocument document = response.getResults().get(i);
+ idVsVersion.put(document.getFieldValue("id").toString(), document.getFieldValue("_version_").toString());
+ SolrDocument old = shard10Docs.put(document.getFieldValue("id").toString(), document);
+ if (old != null) {
+ log.error("EXTRA: ID: " + document.getFieldValue("id") + " on shard1_0. Old version: " + old.getFieldValue("_version_") + " new version: " + document.getFieldValue("_version_"));
+ }
+ }
+ for (int i = 0; i < response2.getResults().size(); i++) {
+ SolrDocument document = response2.getResults().get(i);
+ String value = document.getFieldValue("id").toString();
+ String version = idVsVersion.get(value);
+ if (version != null) {
+ log.error("DUPLICATE: ID: " + value + " , shard1_0Version: " + version + " shard1_1Version:" + document.getFieldValue("_version_"));
+ }
+ SolrDocument old = shard11Docs.put(document.getFieldValue("id").toString(), document);
+ if (old != null) {
+ log.error("EXTRA: ID: " + document.getFieldValue("id") + " on shard1_1. Old version: " + old.getFieldValue("_version_") + " new version: " + document.getFieldValue("_version_"));
+ }
+ }
+ // END DEBUGGING CODE
assertEquals("Wrong doc count on shard1_0", docCounts[0], shard10Count);
assertEquals("Wrong doc count on shard1_1", docCounts[1], shard11Count);