/** * @throws InterruptedException If interrupted. */ public void waitForBlocked() throws InterruptedException { waitForBlocked(1); }
@Override public Void call() throws Exception { spi.waitForBlocked(); client.transactions().localActiveTransactions().iterator().next().rollback(); return null; } }, "tx-rollback-thread");
@Override public Void call() throws Exception { spi.waitForBlocked(); final IgniteFuture<?> fut = txRef.get().rollbackAsync(); doSleep(500); spi.stopBlock(true); fut.get(); return null; } }, "tx-rollback-thread");
crdSpi.waitForBlocked();
TestRecordingCommunicationSpi.spi(unstable).waitForBlocked();
backupSpi.waitForBlocked(1, 5000);
clientSpi.waitForBlocked();
clientSpi.waitForBlocked();
clientSpi.waitForBlocked(); crdSpi.waitForBlocked();
srvSpi.waitForBlocked();
/** * Tests that idle verify print partitions info when node failing. * * @throws Exception If failed. */ @Test public void testCacheIdleVerifyDumpWhenNodeFailing() throws Exception { Ignite ignite = startGrids(3); Ignite unstable = startGrid("unstable"); ignite.cluster().active(true); createCacheAndPreload(ignite, 100); for (int i = 0; i < 3; i++) { TestRecordingCommunicationSpi.spi(unstable).blockMessages(GridJobExecuteResponse.class, getTestIgniteInstanceName(i)); } injectTestSystemOut(); IgniteInternalFuture fut = GridTestUtils.runAsync(() -> { assertEquals(EXIT_CODE_OK, execute("--cache", "idle_verify", "--dump")); }); TestRecordingCommunicationSpi.spi(unstable).waitForBlocked(); UUID unstableNodeId = unstable.cluster().localNode().id(); unstable.close(); fut.get(); checkExceptionMessageOnReport(unstableNodeId); }
spi.waitForBlocked(); spi.stopBlock();
testSpi(srv0).waitForBlocked(GridNearTxPrepareResponse.class, client.name());
TestRecordingCommunicationSpi.spi(ignite0).waitForBlocked();
testSpi(client2).waitForBlocked(GridNearTxFinishRequest.class, srv0.name());
crdSpi.waitForBlocked();
testSpi(client2).waitForBlocked(GridNearTxFinishRequest.class, srv0.name());