[ https://issues.apache.org/jira/browse/IGNITE-7624?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sergey Kosarev updated IGNITE-7624: ----------------------------------- Fix Version/s: (was: 2.5) > Cluster Activation from Client Node hangs up in specific configuration > ---------------------------------------------------------------------- > > Key: IGNITE-7624 > URL: https://issues.apache.org/jira/browse/IGNITE-7624 > Project: Ignite > Issue Type: Bug > Components: general > Affects Versions: 2.3 > Reporter: Sergey Kosarev > Priority: Major > Attachments: testStartInactiveAndActivateFromClient.patch > > > if we start cluster in inactive state GridTaskProcessor is not initiated > fully: > {code:java} > @Override public void onKernalStart(boolean active) throws > IgniteCheckedException { > if (!active) > return; > tasksMetaCache = ctx.security().enabled() && !ctx.isDaemon() ? > ctx.cache().<GridTaskNameHashKey, String>utilityCache() : null; > startLatch.countDown(); > }{code} > > and those startLatch is still up! > > Later on if we try activate cluster from client node async task is trying to > be invoked > (see > org.apache.ignite.internal.processors.cluster.GridClusterStateProcessorImpl#sendComputeChangeGlobalState) > and if ctx.security().enabled == true then Task is can't start as he waits > indefinitely for those startLatch in > org.apache.ignite.internal.processors.task.GridTaskProcessor#taskMetaCache > {code:java} > private IgniteInternalCache<GridTaskNameHashKey, String> taskMetaCache() { > assert ctx.security().enabled(); > if (tasksMetaCache == null) > U.awaitQuiet(startLatch); > return tasksMetaCache; > }{code} > > stacktrace of the waiting thread: > {code:java} > "async-runnable-runner-1@3141" prio=5 tid=0x68 nid=NA waiting > java.lang.Thread.State: WAITING > at sun.misc.Unsafe.park(Unsafe.java:-1) > at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) > at > java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836) > at > java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:997) > at > java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1304) > at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:231) > at > org.apache.ignite.internal.util.IgniteUtils.awaitQuiet(IgniteUtils.java:7491) > at > org.apache.ignite.internal.processors.task.GridTaskProcessor.taskMetaCache(GridTaskProcessor.java:269) > at > org.apache.ignite.internal.processors.task.GridTaskProcessor.saveTaskMetadata(GridTaskProcessor.java:845) > at > org.apache.ignite.internal.processors.task.GridTaskProcessor.startTask(GridTaskProcessor.java:703) > at > org.apache.ignite.internal.processors.task.GridTaskProcessor.execute(GridTaskProcessor.java:448) > at > org.apache.ignite.internal.processors.closure.GridClosureProcessor.runAsync(GridClosureProcessor.java:244) > at > org.apache.ignite.internal.processors.closure.GridClosureProcessor.runAsync(GridClosureProcessor.java:216) > at > org.apache.ignite.internal.IgniteComputeImpl.runAsync0(IgniteComputeImpl.java:704) > at > org.apache.ignite.internal.IgniteComputeImpl.runAsync(IgniteComputeImpl.java:689) > at > org.apache.ignite.internal.processors.cluster.GridClusterStateProcessorImpl.sendComputeChangeGlobalState(GridClusterStateProcessorImpl.java:837) > at > org.apache.ignite.internal.processors.cluster.GridClusterStateProcessorImpl.changeGlobalState0(GridClusterStateProcessorImpl.java:684) > at > org.apache.ignite.internal.processors.cluster.GridClusterStateProcessorImpl.changeGlobalState(GridClusterStateProcessorImpl.java:618) > at > org.apache.ignite.internal.cluster.IgniteClusterImpl.active(IgniteClusterImpl.java:306) > at org.apache.ignite.internal.IgniteKernal.active(IgniteKernal.java:3541) > at > org.apache.ignite.internal.processors.cache.IgniteClusterActivateDeactivateTest$7.run(IgniteClusterActivateDeactivateTest.java:628) > at org.apache.ignite.testframework.GridTestUtils$6.run(GridTestUtils.java:892) > at > org.apache.ignite.testframework.GridTestUtils$9.call(GridTestUtils.java:1237) > at org.apache.ignite.testframework.GridTestThread.run(GridTestThread.java:86) > {code} > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)