Hi Xiaofeng, This looks like a bug and we will fix it. In the mean time, you can apply this patch:
https://gist.github.com/kanakb/9756432 Thanks, Kanak ---------------------------------------- > From: [email protected] > Subject: running resync filestore recipe > Date: Mon, 24 Mar 2014 23:39:01 -0700 > To: [email protected] > > Hello, > > I’m new to Helix and trying to get a taste of running some examples. The > closest model (to what I need) is the resync filestore recipe example. > > The instructions look simple enough: > > git clone https://git-wip-us.apache.org/repos/asf/incubator-helix.git > cd recipes/rsync-replicated-file-system/ > mvn clean install package -DskipTests > cd target/rsync-replicated-file-system-pkg/bin > chmod +x * > ./quickdemo > > However, I don’t think what I’ve got was a successful run. Besides the > exceptions, the program hung there until I hit Ctrl-C. are there anythings I > missed? What else do I need to get this recipe example to work? > > BTW, I’m running on Mac OS X 10.9.2. > > ./quickdemo.sh > STARTING NODES > localhost_12002 transitioning from OFFLINE to SLAVE for repository_0 > localhost_12003 transitioning from OFFLINE to SLAVE for repository_0 > No master found > localhost_12003 transitioned from OFFLINE to SLAVE for repository_0 > localhost_12001 transitioning from OFFLINE to SLAVE for repository_0 > No master found > localhost_12001 transitioned from OFFLINE to SLAVE for repository_0 > No master found > localhost_12002 transitioned from OFFLINE to SLAVE for repository_0 > No master found > No master found > No master found > localhost_12001 transitioning from SLAVE to MASTER for repository_0 > 0 [pool-7-thread-2] ERROR > org.apache.helix.messaging.handling.HelixStateTransitionHandler - Exception > while executing a state transition task repository_0 > java.lang.reflect.InvocationTargetException > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:606) > at > org.apache.helix.messaging.handling.HelixStateTransitionHandler.invoke(HelixStateTransitionHandler.java:350) > at > org.apache.helix.messaging.handling.HelixStateTransitionHandler.handleMessage(HelixStateTransitionHandler.java:300) > at org.apache.helix.messaging.handling.HelixTask.call(HelixTask.java:85) > at org.apache.helix.messaging.handling.HelixTask.call(HelixTask.java:42) > at java.util.concurrent.FutureTask.run(FutureTask.java:262) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:744) > Caused by: java.lang.IllegalArgumentException: Path must start with / > character > at org.apache.helix.util.PathUtils.validatePath(PathUtils.java:51) > at > org.apache.helix.manager.zk.ZkCacheBaseDataAccessor.prependChroot(ZkCacheBaseDataAccessor.java:135) > at > org.apache.helix.manager.zk.ZkCacheBaseDataAccessor.update(ZkCacheBaseDataAccessor.java:270) > at > org.apache.helix.filestore.FileStoreStateModel.onBecomeMasterFromSlave(FileStoreStateModel.java:153) > ... 12 more > 9 [pool-7-thread-2] ERROR > org.apache.helix.participant.statemachine.StateModel - Default rollback > method invoked on error. Error Code: ERROR > 12 [pool-7-thread-2] ERROR org.apache.helix.messaging.handling.HelixTask - > Message execution failed. msgId: 89a4bdd0-f1d2-4115-9f22-4e046254c9bf, > errorMsg: java.lang.reflect.InvocationTargetException > 17 [pool-7-thread-2] ERROR > org.apache.helix.messaging.handling.HelixStateTransitionHandler - Skip > internal error. errCode: ERROR, errMsg: null > No master found > No master found > localhost_12002 transitioning from SLAVE to MASTER for repository_0 > 44 [pool-5-thread-2] ERROR > org.apache.helix.messaging.handling.HelixStateTransitionHandler - Exception > while executing a state transition task repository_0 > java.lang.reflect.InvocationTargetException > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:606) > at > org.apache.helix.messaging.handling.HelixStateTransitionHandler.invoke(HelixStateTransitionHandler.java:350) > at > org.apache.helix.messaging.handling.HelixStateTransitionHandler.handleMessage(HelixStateTransitionHandler.java:300) > at org.apache.helix.messaging.handling.HelixTask.call(HelixTask.java:85) > at org.apache.helix.messaging.handling.HelixTask.call(HelixTask.java:42) > at java.util.concurrent.FutureTask.run(FutureTask.java:262) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:744) > Caused by: java.lang.IllegalArgumentException: Path must start with / > character > at org.apache.helix.util.PathUtils.validatePath(PathUtils.java:51) > at > org.apache.helix.manager.zk.ZkCacheBaseDataAccessor.prependChroot(ZkCacheBaseDataAccessor.java:135) > at > org.apache.helix.manager.zk.ZkCacheBaseDataAccessor.update(ZkCacheBaseDataAccessor.java:270) > at > org.apache.helix.filestore.FileStoreStateModel.onBecomeMasterFromSlave(FileStoreStateModel.java:153) > ... 12 more > 50 [pool-5-thread-2] ERROR > org.apache.helix.participant.statemachine.StateModel - Default rollback > method invoked on error. Error Code: ERROR > 51 [pool-5-thread-2] ERROR org.apache.helix.messaging.handling.HelixTask - > Message execution failed. msgId: e76917b7-0ac3-4e9b-822d-b1040591e66e, > errorMsg: java.lang.reflect.InvocationTargetException > 54 [pool-5-thread-2] ERROR > org.apache.helix.messaging.handling.HelixStateTransitionHandler - Skip > internal error. errCode: ERROR, errMsg: null > No master found > localhost_12003 transitioning from SLAVE to MASTER for repository_0 > 89 [pool-6-thread-2] ERROR > org.apache.helix.messaging.handling.HelixStateTransitionHandler - Exception > while executing a state transition task repository_0 > java.lang.reflect.InvocationTargetException > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:606) > at > org.apache.helix.messaging.handling.HelixStateTransitionHandler.invoke(HelixStateTransitionHandler.java:350) > at > org.apache.helix.messaging.handling.HelixStateTransitionHandler.handleMessage(HelixStateTransitionHandler.java:300) > at org.apache.helix.messaging.handling.HelixTask.call(HelixTask.java:85) > at org.apache.helix.messaging.handling.HelixTask.call(HelixTask.java:42) > at java.util.concurrent.FutureTask.run(FutureTask.java:262) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:744) > Caused by: java.lang.IllegalArgumentException: Path must start with / > character > at org.apache.helix.util.PathUtils.validatePath(PathUtils.java:51) > at > org.apache.helix.manager.zk.ZkCacheBaseDataAccessor.prependChroot(ZkCacheBaseDataAccessor.java:135) > at > org.apache.helix.manager.zk.ZkCacheBaseDataAccessor.update(ZkCacheBaseDataAccessor.java:270) > at > org.apache.helix.filestore.FileStoreStateModel.onBecomeMasterFromSlave(FileStoreStateModel.java:153) > ... 12 more > 93 [pool-6-thread-2] ERROR > org.apache.helix.participant.statemachine.StateModel - Default rollback > method invoked on error. Error Code: ERROR > 95 [pool-6-thread-2] ERROR org.apache.helix.messaging.handling.HelixTask - > Message execution failed. msgId: 58885cd6-491d-465d-b01a-1992a10645c1, > errorMsg: java.lang.reflect.InvocationTargetException > 98 [pool-6-thread-2] ERROR > org.apache.helix.messaging.handling.HelixStateTransitionHandler - Skip > internal error. errCode: ERROR, errMsg: null > CLUSTER STATUS > External View > repository, {BUCKET_SIZE=0}{repository_0={localhost_12001=ERROR, > localhost_12002=ERROR, localhost_12003=ERROR}}{} > ===============FILES=============================== > /tmp/IntegrationTest/localhost_12001/filestore:[] > /tmp/IntegrationTest/localhost_12002/filestore:[] > /tmp/IntegrationTest/localhost_12003/filestore:[] > ===============FILES=============================== > Writing files a.txt and b.txt to current master > /tmp/IntegrationTest/localhost_12001/filestore > ===============FILES=============================== > /tmp/IntegrationTest/localhost_12001/filestore:[a.txt, b.txt] > /tmp/IntegrationTest/localhost_12002/filestore:[] > /tmp/IntegrationTest/localhost_12003/filestore:[] > ===============FILES=============================== > Stopping the MASTER node:localhost_12001 > [-] localhost_12001 is interrupted ... > CLUSTER STATUS > External View > repository, {BUCKET_SIZE=0}{repository_0={localhost_12002=ERROR, > localhost_12003=ERROR}}{} > Writing files c.txt and d.txt to current master > /tmp/IntegrationTest/localhost_12002/filestore > ===============FILES=============================== > /tmp/IntegrationTest/localhost_12001/filestore:[a.txt, b.txt] > /tmp/IntegrationTest/localhost_12002/filestore:[c.txt, d.txt] > /tmp/IntegrationTest/localhost_12003/filestore:[] > ===============FILES=============================== > Create or modify any files under > /tmp/IntegrationTest/localhost_12002/filestore and it should get replicated > to /tmp/IntegrationTest/localhost_12003/filestore > > Had to hit [Ctrl-C] to quit. > > Thanks, > — > Xiaofeng Lin > >
