Controller assuming the state transition occurred is even more dangerous.
On Sun, Feb 15, 2015 at 7:18 PM, [email protected] <[email protected]> wrote: > In my experience it was fatal. The callback would jot be called but the > controller would somehow assume the state transition occurred. > On Feb 15, 2015 7:13 PM, "kishore g" <[email protected]> wrote: > > > Thanks Vlad. That explains the problem. That also explains how adding > > sleep of 3seconds work. > > > > Jason, is this exception fatal?. Will the message be processed again > after > > the handler is added. > > > > thanks, > > Kishore G > > > > On Sun, Feb 15, 2015 at 6:41 PM, [email protected] <[email protected]> > > wrote: > > > >> https://issues.apache.org/jira/browse/HELIX-548 > >> On Feb 15, 2015 6:38 PM, "kishore g" <[email protected]> wrote: > >> > >> > Hi Vlad, > >> > > >> > Was there any jira associated with it? > >> > > >> > thanks. > >> > Kishore G > >> > > >> > On Sun, Feb 15, 2015 at 4:36 PM, [email protected] <[email protected] > > > >> > wrote: > >> > > >> >> Looks like the same problem we encountered recently. > >> >> > >> >> Regards, > >> >> Vlad > >> >> On Feb 15, 2015 4:35 PM, "kishore g" <[email protected]> wrote: > >> >> > >> >> > Steph described this problem on IRC. > >> >> > > >> >> > He is using 0.7.1. On connecting to cluster he gets this NPE > >> >> > > >> >> > http://pastebin.com/YE3fwK5i > >> >> > > >> >> > java.lang.NullPointerException > >> >> > at > >> >> > > >> >> > >> > org.apache.helix.messaging.handling.HelixTaskExecutor.createMessageHandler(HelixTaskExecutor.java:661) > >> >> > at > >> >> > > >> >> > >> > org.apache.helix.messaging.handling.HelixTaskExecutor.onMessage(HelixTaskExecutor.java:581) > >> >> > at > >> >> > > >> >> > >> > org.apache.helix.manager.zk.ZkCallbackHandler.invoke(ZkCallbackHandler.java:202) > >> >> > at > >> >> > > >> >> > >> > org.apache.helix.manager.zk.ZkCallbackHandler.init(ZkCallbackHandler.java:336) > >> >> > at > >> >> > > >> >> > >> > org.apache.helix.manager.zk.ZkCallbackHandler.<init>(ZkCallbackHandler.java:130) > >> >> > at > >> >> > > >> >> > >> > org.apache.helix.manager.zk.ZkHelixConnection.addListener(ZkHelixConnection.java:533) > >> >> > at > >> >> > > >> >> > >> > org.apache.helix.manager.zk.ZkHelixConnection.addMessageListener(ZkHelixConnection.java:267) > >> >> > at > >> >> > > >> >> > >> > org.apache.helix.manager.zk.ZkHelixParticipant.setupMsgHandler(ZkHelixParticipant.java:347) > >> >> > at > >> >> > > >> >> > >> > org.apache.helix.manager.zk.ZkHelixParticipant.init(ZkHelixParticipant.java:383) > >> >> > at > >> >> > > >> >> > >> > org.apache.helix.manager.zk.ZkHelixParticipant.onConnected(ZkHelixParticipant.java:401) > >> >> > at > >> >> > > >> >> > >> > org.apache.helix.manager.zk.ZkHelixParticipant.start(ZkHelixParticipant.java:428) > >> >> > at > >> >> > > >> >> > >> > com.example.ProtostuffServerNode.spinUpParticipant(ProtostuffServerNode.java:134) > >> >> > > >> >> > > >> >> > Here is his connection code. > >> >> > > >> >> > http://pastebin.com/QRfVU1tc > >> >> > > >> >> > private static HelixParticipant spinUpParticipant(HelixAdmin admin, > >> >> > ParticipantId participantId) { > >> >> > LOGGER.info("Starting up "+participantId); > >> >> > HelixConnection connection = new ZkHelixConnection( > >> >> > ZK_ADDRESS); > >> >> > connection.connect(); > >> >> > HelixParticipant participant = connection. > >> >> > createParticipant(CLUSTER_ID, participantId); > >> >> > StateMachineEngine stateMach = participant. > >> >> > getStateMachineEngine(); > >> >> > > >> >> > > StateTransitionHandlerFactory<LocalTransitionHandler> > >> >> > transitionHandlerFactory = new OnlineOfflineHandlerFactory(); > >> >> > > stateMach.registerStateModelFactory(STATE_MODEL_NAME, > >> >> > transitionHandlerFactory); > >> >> > participant.start(); > >> >> > > >> >> > admin.enableInstance(CLUSTER_NAME, > >> >> participantId.toString( > >> >> > ), true); > >> >> > > >> >> > return participant; > >> >> > } > >> >> > > >> >> > Adding 3s sleep after registerStateModelFactory works. Any idea > what > >> is > >> >> > happening. > >> >> > > >> >> > thanks, > >> >> > Kishore G > >> >> > > >> >> > > >> >> > > >> >> > > >> >> > >> > > >> > > >> > > > > >
