You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by tf...@apache.org on 2017/05/18 01:39:33 UTC
lucene-solr:jira/solr-10233: Fixed NPE in non-cloud cases
Repository: lucene-solr
Updated Branches:
refs/heads/jira/solr-10233 30e305ef5 -> 5333577bf
Fixed NPE in non-cloud cases
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/5333577b
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/5333577b
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/5333577b
Branch: refs/heads/jira/solr-10233
Commit: 5333577bfe8517278508aeba154a34acad777f74
Parents: 30e305e
Author: Tomas Fernandez Lobbe <tf...@apache.org>
Authored: Wed May 17 18:39:18 2017 -0700
Committer: Tomas Fernandez Lobbe <tf...@apache.org>
Committed: Wed May 17 18:39:18 2017 -0700
----------------------------------------------------------------------
.../solr/update/processor/DistributedUpdateProcessor.java | 6 ++++--
.../src/test/org/apache/solr/cloud/TestPullReplica.java | 4 ++--
.../apache/solr/cloud/TestPullReplicaErrorHandling.java | 9 ++++++++-
.../src/test/org/apache/solr/cloud/TestTlogReplica.java | 10 +---------
4 files changed, 15 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/5333577b/solr/core/src/java/org/apache/solr/update/processor/DistributedUpdateProcessor.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/update/processor/DistributedUpdateProcessor.java b/solr/core/src/java/org/apache/solr/update/processor/DistributedUpdateProcessor.java
index 993f387..ec6e432 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/DistributedUpdateProcessor.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/DistributedUpdateProcessor.java
@@ -1918,8 +1918,10 @@ public class DistributedUpdateProcessor extends UpdateRequestProcessor {
log.warn("Commit not supported on replicas of type " + Replica.Type.PULL);
} else {
// NRT replicas will always commit
- long commitVersion = vinfo.getNewClock();
- cmd.setVersion(commitVersion);
+ if (vinfo != null) {
+ long commitVersion = vinfo.getNewClock();
+ cmd.setVersion(commitVersion);
+ }
doLocalCommit(cmd);
}
} else {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/5333577b/solr/core/src/test/org/apache/solr/cloud/TestPullReplica.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestPullReplica.java b/solr/core/src/test/org/apache/solr/cloud/TestPullReplica.java
index e87d9cb..1cf4675 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestPullReplica.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestPullReplica.java
@@ -222,7 +222,7 @@ public class TestPullReplica extends SolrCloudTestCase {
CollectionAdminRequest.createCollection(collectionName, "conf", 2, 1, 0, 0)
.setMaxShardsPerNode(100)
.process(cluster.getSolrClient());
- cluster.getSolrClient().getZkStateReader().registerCore(collectionName); //TODO: Is this needed?
+ cluster.getSolrClient().getZkStateReader().registerCore(collectionName); //TODO: Why is this needed? see SOLR-9440
waitForState("Expected collection to be created with 2 shards and 1 replica each", collectionName, clusterShape(2, 1));
DocCollection docCollection = assertNumberOfReplicas(2, 0, 0, false, true);
assertEquals(2, docCollection.getSlices().size());
@@ -331,7 +331,7 @@ public class TestPullReplica extends SolrCloudTestCase {
CollectionAdminRequest.createCollection(collectionName, "conf", 1, 1, 0, 1)
.setMaxShardsPerNode(100)
.process(cluster.getSolrClient());
- cluster.getSolrClient().getZkStateReader().registerCore(collectionName); //TODO: Is this needed?
+ cluster.getSolrClient().getZkStateReader().registerCore(collectionName); //TODO: Why is this needed? see SOLR-9440
waitForState("Expected collection to be created with 1 shard and 2 replicas", collectionName, clusterShape(1, 2));
DocCollection docCollection = assertNumberOfReplicas(1, 0, 1, false, true);
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/5333577b/solr/core/src/test/org/apache/solr/cloud/TestPullReplicaErrorHandling.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestPullReplicaErrorHandling.java b/solr/core/src/test/org/apache/solr/cloud/TestPullReplicaErrorHandling.java
index 8d18bec..e2db839 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestPullReplicaErrorHandling.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestPullReplicaErrorHandling.java
@@ -54,7 +54,7 @@ import org.slf4j.LoggerFactory;
@SuppressSSL(bugUrl = "https://issues.apache.org/jira/browse/SOLR-5776")
public class TestPullReplicaErrorHandling extends SolrCloudTestCase {
- private final static int REPLICATION_TIMEOUT_SECS = 10;
+ private final static int REPLICATION_TIMEOUT_SECS = 30;
private static final Logger LOG = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
private static Map<URI, SocketProxy> proxies;
@@ -194,8 +194,15 @@ public class TestPullReplicaErrorHandling extends SolrCloudTestCase {
}
assertNumDocs(10, cluster.getSolrClient());
} finally {
+ LOG.info("Opening leader node");
proxy.reopen();
}
+ // Back to normal
+ addDocs(20);
+ assertNumDocs(20, cluster.getSolrClient());
+ try (HttpSolrClient pullReplicaClient = getHttpSolrClient(s.getReplicas(EnumSet.of(Replica.Type.PULL)).get(0).getCoreUrl())) {
+ assertNumDocs(20, pullReplicaClient);
+ }
}
public void testPullReplicaDisconnectsFromZooKeeper() throws Exception {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/5333577b/solr/core/src/test/org/apache/solr/cloud/TestTlogReplica.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestTlogReplica.java b/solr/core/src/test/org/apache/solr/cloud/TestTlogReplica.java
index d228140..a4070b3 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestTlogReplica.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestTlogReplica.java
@@ -384,14 +384,6 @@ public class TestTlogReplica extends SolrCloudTestCase {
waitForNumDocsInAllActiveReplicas(2);
}
- public void testSearchWhileReplicationHappens() {
-
- }
-
- public void testReplication() {
- // Validate incremental replication
- }
-
public void testOnlyLeaderIndexes() throws Exception {
createAndWaitForCollection(1, 0, 2, 0);
@@ -647,7 +639,7 @@ public class TestTlogReplica extends SolrCloudTestCase {
.setMaxShardsPerNode(100)
.process(cluster.getSolrClient());
int numReplicasPerShard = numNrtReplicas + numTlogReplicas + numPullReplicas;
- cluster.getSolrClient().getZkStateReader().registerCore(collectionName); //TODO: Is this needed?
+ cluster.getSolrClient().getZkStateReader().registerCore(collectionName); //TODO: Why is this needed? see SOLR-9440
waitForState("Expected collection to be created with " + numShards + " shards and " + numReplicasPerShard + " replicas",
collectionName, clusterShape(numShards, numReplicasPerShard));
return assertNumberOfReplicas(numNrtReplicas*numShards, numTlogReplicas*numShards, numPullReplicas*numShards, false, true);