/** * Runs the actual load test. * * @param g Grid. * @param threadCnt Number of threads. * @param taskCnt Number of tasks. * @param dur Test duration. * @param iterCntr Iteration counter. */ private static void runTest(final Ignite g, int threadCnt, int taskCnt, long dur, final LongAdder iterCntr) { final Semaphore sem = new Semaphore(taskCnt); final IgniteInClosure<IgniteFuture> lsnr = new CI1<IgniteFuture>() { @Override public void apply(IgniteFuture t) { sem.release(); } }; GridLoadTestUtils.runMultithreadedInLoop(new Callable<Object>() { @Nullable @Override public Object call() throws Exception { sem.acquire(); g.compute().executeAsync(GridJobExecutionLoadTestTask.class, null).listen(lsnr); iterCntr.increment(); return null; } }, threadCnt, dur > 0 ? dur : Long.MAX_VALUE); }
GridLoadTestUtils.runMultithreadedInLoop(new Callable<Object>() { @Override public Object call() { g.compute().execute(GridJobExecutionLoadTestTask.class, null);
GridLoadTestUtils.runMultithreadedInLoop(new Callable<Object>() { @Nullable @Override public Object call() { try {
GridLoadTestUtils.runMultithreadedInLoop(new Callable<Object>() { @Nullable @Override public Object call() { try {
GridLoadTestUtils.runMultithreadedInLoop(new Callable<Object>() { @Nullable @Override public Object call() throws Exception { long keyVal = cntr.incrementAndGet(); GridLoadTestUtils.runMultithreadedInLoop(new Callable<Object>() { @Nullable @Override public Object call() throws Exception { long keyVal = cntr.incrementAndGet();