Yes, the state transition method is invoked when a resource X is assigned to B. Available on IRC if you need help.
On Thu, Feb 20, 2014 at 11:39 PM, Sandeep Nayak <[email protected]> wrote: > Sorry to keep using the same thread but is there a callback which gets > invoked when say a resource is added? > > So example > > T1: 3 nodes : A, B and C > T2: resource X gets added on A with 1 partition and 2 replicas > T3: resource X is available on say A and B > > Is there a callback that can be registered on B so that the statemodel > or some object will receive a message when X is added to B? > > > On Thu, Feb 20, 2014 at 11:31 PM, kishore g <[email protected]> wrote: > > Agree with that, there are some cases where the api's need to be async. > We > > have taskScheduler api that is well suited for such usecases. However, I > > think there are some gaps in the design/ implementation. Fixing that will > > allow us to easily support such operations. > > > > Yes, agree the API needs to be marked to throw a proper exception. > > > > thanks, > > Kishore G > > > > > > On Thu, Feb 20, 2014 at 11:17 PM, Sandeep Nayak <[email protected]> > wrote: > >> > >> The dropResource works I imagine but adding the resource back > >> immediately does not. I will try and play with delays to see if the > >> cleanup works, currently I catch HelixException and ignore it. > >> > >> Thinking out aloud, I imagine a call to drop should return after some > >> internal state tracks that the resource is removed and maybe queues a > >> task for background propagation/removal across nodes. I imagine the > >> task should fall on a queue/executor, a subsequent task would be for > >> resource add. But both calls to remove and add should return as soon > >> as the internal state is tracked to mark the state correctly. > >> Eventually I imagine the remove task will execute on the background > >> and upon acks from all other participants move on to the next task > >> i.e. the tasks execute sequentially. > >> > >> Apologies on the above blurb, just sharing my thoughts I am sure you > >> guys are well aware of what I am talking of. > >> > >> On a separate note maybe this API also needs to be marked on a ticket > >> to throw a proper exception. > >> > >> Thanks, > >> > >> Sandeep > >> > >> On Thu, Feb 20, 2014 at 11:05 PM, kishore g <[email protected]> > wrote: > >> > Great! Thanks for your patience, I know it was not easy. We really > need > >> > lot > >> > more work on documentation. Suggestions/feedback/contributions are > >> > welcome. > >> > > >> > Did dropResource succeed, can you wait until it dissappears from > >> > idealstates > >> > and external view. You might want to give some time for the resource > to > >> > be > >> > cleaned up. We can probably add additional safety check to addResource > >> > back > >> > when the resources are still active. > >> > > >> > thanks, > >> > Kishore G > >> > > >> > > >> > On Thu, Feb 20, 2014 at 10:16 PM, Sandeep Nayak <[email protected]> > >> > wrote: > >> >> > >> >> Btw other than the remove, I have the resources working and > >> >> distributing the way I want. So just wanted to say good work, it > works > >> >> nicely :-) > >> >> > >> >> Thanks, > >> >> > >> >> Sandeep > >> >> > >> >> On Thu, Feb 20, 2014 at 10:06 PM, Sandeep Nayak <[email protected]> > >> >> wrote: > >> >> > Does it need time to remove the resource? I tried dropResource and > >> >> > the > >> >> > very next call I invoke addResource to see if I can add it again > and > >> >> > the add call fails with the exception > >> >> > > >> >> > org.apache.helix.HelixException: Skip the operation. Resource ideal > >> >> > state directory already exists:/cluster/IDEALSTATES/resource-name > >> >> > > >> >> > On Thu, Feb 20, 2014 at 10:03 PM, Kanak Biscuitwala > >> >> > <[email protected]> wrote: > >> >> >> Hi Sandeep, > >> >> >> > >> >> >> dropResource is correct. resetResource takes resources in error > >> >> >> state > >> >> >> and resets them to the initial state. > >> >> >> > >> >> >> Kanak > >> >> >> ---------------------------------------- > >> >> >>> Date: Thu, 20 Feb 2014 21:58:24 -0800 > >> >> >>> Subject: Helix 0.6.2: Resetting or removing a resource > >> >> >>> From: [email protected] > >> >> >>> To: [email protected] > >> >> >>> > >> >> >>> Hi guys, > >> >> >>> > >> >> >>> Wanted to check what is the correct API for removing a resource > so > >> >> >>> that it is unavailable on any of the nodes? > >> >> >>> > >> >> >>> I see HelixAdmin.dropResource and HelixAdmin.resetResource. What > is > >> >> >>> the right API to use to remove a resource entirely from the > >> >> >>> cluster? > >> >> >>> > >> >> >>> Thanks, > >> >> >>> > >> >> >>> Sandeep > >> > > >> > > > > > >
