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