Can you paste the initial IS that you compute. I am mainly interested in
the simple fields.

On Mon, May 2, 2016 at 12:38 PM, Neutron sharc <neutronsh...@gmail.com>
wrote:

> Thanks Kishore for your reply!
>
> What I see is that, a resource's ideal state becomes empty after
> external view converges with the assignment.
>
> When I create a resource I compute an initial IS, and attach a
> USER_DEFINED rebalancer.  After Helix stabilizes a resource,  its
> "IDEALSTATES" mapFields is wiped off in zookeeper.  When the next
> round of rebalancing starts,  computeResourceMapping() will always get
> an empty idealState.
>
>
>
>
> On Fri, Apr 29, 2016 at 1:16 PM, kishore g <g.kish...@gmail.com> wrote:
> > Hi,
> >
> > Current state will not show dead replicas. You need to use previous
> > idealstate to derive that info. The logic will be something like this
> >
> > computeResource(.....) {
> >   List<Instances> instances =
> > previousIdealState.getInstancesForPartition(P0)
> > foreach instance
> >   if(!liveInstances.contain(instance)){
> >     //NEED TO ASSIGN ANOTHER INSTANCE TO FOR THIS PARTITION
> >   }
> > }
> >
> > This allows your logic to be idempotent and not depend on incremental
> > changes.
> >
> > thanks,
> > Kishore G
> >
> > On Thu, Apr 28, 2016 at 4:27 PM, Neutron sharc <neutronsh...@gmail.com>
> > wrote:
> >
> >> Hi team,
> >>
> >> in USER_DEFINED rebalance mode, the callback computeResourceMapping()
> >> accepts a “currentState”.  Does this variable include replicas on a
> >> dead participant ?
> >>
> >> For example, my resource has a partition P1 master replica on
> >> participant node1, a slave replica on participant node2.  When node1
> >> dies,  in callback computeResourceMapping() I retrieve P1’s replicas:
> >>
> >> Map<ParticipantId, State> replicas =
> >> currentState.getCurrentStateMap(resourceId, partitionId);
> >>
> >>
> >> Here the “replicas” includes only node2,  there is no entry for node1.
> >>
> >> However, I want to know all replicas including dead ones, so that I
> >> can know that a master replica is gone and I should failover to an
> >> existing slave, instead of starting a new master.
> >>
> >>
> >> Appreciate any comments!
> >>
> >>
> >> -Neutron
> >>
>

Reply via email to