Opened https://issues.apache.org/jira/browse/SOLR-8728 with a test which
reproduces the exception.

On Wed, Feb 24, 2016 at 3:49 PM Shai Erera <ser...@gmail.com> wrote:

> Thanks Noble, I'll try to reproduce in a test then. Does the rule I've set
> sound right to you though?
>
> On Wed, Feb 24, 2016, 15:19 Noble Paul <noble.p...@gmail.com> wrote:
>
>> Whatever it is , there should be no NPE. could be a bug
>>
>> On Wed, Feb 24, 2016 at 6:23 PM, Shai Erera <ser...@gmail.com> wrote:
>> > Hi
>> >
>> > I wanted to try out the (relatively) new replica placement strategy and
>> how
>> > it plays with shard splitting. So I set up a 4-node cluster, created a
>> > collection with 1 shard and 2 replicas (each created on a different)
>> node.
>> >
>> > When I issue a SPLITSHARD command (without any rules set on the
>> collection),
>> > the split finishes successfully and the state of the cluster is:
>> >
>> > n1: s1_r1 (INACTIVE), s1_0_r1, s1_1_r1
>> > n2: s1_r2 (INACTIVE), s1_0_r2
>> > n3: s1_1_r2
>> > n4: empty
>> >
>> > So far as expected, since the shard splitting occurred on n1, the two
>> sub
>> > shards were created there, and then Solr filled the missing replicas on
>> > nodes 2 and 3. Also the source shard s1 was set to INACTIVE and I did
>> not
>> > delete it (in the test).
>> >
>> > Then I tried the same, curious if I set the right rule, one of the
>> > sub-shards' replicas will move to the 4th node, so I end up w/ a
>> "balanced"
>> > cluster. So I created the collection with the rule:
>> > "shard:**,replica:<2,node:*", which per the ref guide says that I
>> should end
>> > with no more than one replica per shard on every node. Per my
>> understanding,
>> > I should end up with either 2 nodes each holding one replica of each
>> shard,
>> > 3 nodes holding a mixture of replicas or 4 nodes each holds exactly one
>> > replica.
>> >
>> > However, while observing the cluster status I noticed that the two
>> created
>> > sub-shards are marked as ACTIVE and leader, while the two others are
>> marked
>> > in DOWN. Turning on INFO logging I found this:
>> >
>> > Caused by: java.lang.NullPointerException at
>> >
>> org.apache.solr.cloud.rule.Rule.getNumberOfNodesWithSameTagVal(Rule.java:168)
>> > at org.apache.solr.cloud.rule.Rule.tryAssignNodeToShard(Rule.java:130)
>> at
>> >
>> org.apache.solr.cloud.rule.ReplicaAssigner.tryAPermutationOfRules(ReplicaAssigner.java:252)
>> > at
>> >
>> org.apache.solr.cloud.rule.ReplicaAssigner.tryAllPermutations(ReplicaAssigner.java:203)
>> > at
>> >
>> org.apache.solr.cloud.rule.ReplicaAssigner.getNodeMappings0(ReplicaAssigner.java:174)
>> > at
>> >
>> org.apache.solr.cloud.rule.ReplicaAssigner.getNodeMappings(ReplicaAssigner.java:135)
>> > at org.apache.solr.cloud.Assign.getNodesViaRules(Assign.java:211) at
>> > org.apache.solr.cloud.Assign.getNodesForNewReplicas(Assign.java:179) at
>> >
>> org.apache.solr.cloud.OverseerCollectionMessageHandler.addReplica(OverseerCollectionMessageHandler.java:2204)
>> > at
>> >
>> org.apache.solr.cloud.OverseerCollectionMessageHandler.splitShard(OverseerCollectionMessageHandler.java:1212)
>> >
>> > I also tried with the rule "replica:<2,node:*" which yielded the same
>> NPE. I
>> > run on 5.4.1 and I couldn't find if this is something that was fixed in
>> > 5.5.0/master already. So the question is -- is this a bug or did I
>> > misconfigure the rule?
>> >
>> > And as a side question, is there any rule which I can configure so that
>> the
>> > split shards are distributed evenly in the cluster? Or currently
>> SPLITSHARD
>> > will always result in the created shards existing on the origin node,
>> and
>> > it's my responsibility to move them elsewhere?
>> >
>> > Shai
>>
>>
>>
>> --
>> -----------------------------------------------------
>> Noble Paul
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
>> For additional commands, e-mail: dev-h...@lucene.apache.org
>>
>>

Reply via email to