From 1169bb3348ee225b155729cc3be39089fe5198ad Mon Sep 17 00:00:00 2001 From: Andrey Date: Wed, 15 Apr 2015 10:38:52 +0700 Subject: [PATCH] # ignite-667 --- .../internal/visor/query/VisorQueryTask.java | 4 +--- .../cache/GridCacheAbstractFailoverSelfTest.java | 27 ++++++++++++++++++---- .../testsuites/IgniteCacheRestartTestSuite.java | 2 +- modules/visor-console/pom.xml | 4 ++-- .../ignite/visor/commands/VisorConsole.scala | 20 ++++++++++++---- 5 files changed, 41 insertions(+), 16 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryTask.java index 6683205..b320842 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryTask.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryTask.java @@ -44,9 +44,7 @@ public class VisorQueryTask extends VisorOneNodeTask err = new AtomicReference<>(); + IgniteInternalFuture fut = GridTestUtils.runMultiThreadedAsync(new CA() { @Override public void apply() { info("Run topology change."); try { - for (int i = 0; i < TOP_CHANGE_CNT; i++) { + for (int i = 0; i < TOP_CHANGE_CNT && err.get() == null; i++) { info("Topology change " + i); String name = UUID.randomUUID().toString(); @@ -181,8 +184,15 @@ public abstract class GridCacheAbstractFailoverSelfTest extends GridCacheAbstrac try { final Ignite g = startGrid(name); - for (int k = half; k < ENTRY_CNT; k++) - assertNotNull("Failed to get key: 'key" + k + "'", cache(g).get("key" + k)); + IgniteCache cache = g.cache(null).withAsync(); + + for (int k = half; k < ENTRY_CNT; k++) { + String key = "key" + k; + + cache.get(key); + + assertNotNull("Failed to get key: 'key" + k + "'", cache.future().get(30_000)); + } } finally { G.stop(name, false); @@ -190,9 +200,9 @@ public abstract class GridCacheAbstractFailoverSelfTest extends GridCacheAbstrac } } catch (Exception e) { - log.error("Unexpected exception in topology-change-thread: " + e, e); + err.set(e); - throw F.wrap(e); + log.error("Unexpected exception in topology-change-thread: " + e, e); } } }, TOP_CHANGE_THREAD_CNT, "topology-change-thread"); @@ -210,12 +220,19 @@ public abstract class GridCacheAbstractFailoverSelfTest extends GridCacheAbstrac } } catch (Exception e) { + err.set(e); + log.error("Unexpected exception: " + e, e); throw e; } fut.get(); + + Exception err0 = err.get(); + + if (err0 != null) + throw err0; } /** diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheRestartTestSuite.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheRestartTestSuite.java index 6f10ec2..5b406c6 100644 --- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheRestartTestSuite.java +++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheRestartTestSuite.java @@ -43,7 +43,7 @@ public class IgniteCacheRestartTestSuite extends TestSuite { // suite.addTestSuite(GridCacheReplicatedNodeRestartSelfTest.class); suite.addTestSuite(IgniteCacheAtomicNodeRestartTest.class); - suite.addTestSuite(IgniteCacheAtomicReplicatedNodeRestartSelfTest.class); + // suite.addTestSuite(IgniteCacheAtomicReplicatedNodeRestartSelfTest.class); // TODO IGNITE-747 suite.addTestSuite(IgniteCacheAtomicPutAllFailoverSelfTest.class); // suite.addTestSuite(GridCachePutAllFailoverSelfTest.class); TODO IGNITE-157 diff --git a/modules/visor-console/pom.xml b/modules/visor-console/pom.xml index c5b9523..7abd896 100644 --- a/modules/visor-console/pom.xml +++ b/modules/visor-console/pom.xml @@ -83,9 +83,9 @@ - org.scala-lang + jline jline - 2.11.0-M3 + 2.12.1 diff --git a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/VisorConsole.scala b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/VisorConsole.scala index 1d5c4b8..bc815b3 100644 --- a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/VisorConsole.scala +++ b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/VisorConsole.scala @@ -22,6 +22,11 @@ import org.apache.ignite.internal.util.scala.impl import org.apache.ignite.internal.util.{IgniteUtils => U} import org.apache.ignite.startup.cmdline.AboutDialog +import jline.TerminalSupport +import jline.console.ConsoleReader +import jline.console.completer.Completer +import jline.internal.Configuration + import javax.swing.ImageIcon import java._ import java.awt.Image @@ -50,10 +55,6 @@ import org.apache.ignite.visor.commands.vvm.VisorVvmCommand import org.apache.ignite.visor.visor import org.apache.ignite.visor.visor._ -import scala.tools.jline.console.ConsoleReader -import scala.tools.jline.console.completer.Completer -import scala.tools.jline.internal.Configuration - /** * Command line Visor. */ @@ -142,7 +143,16 @@ object VisorConsole extends App { case None => new FileInputStream(FileDescriptor.in) } - private val reader = new ConsoleReader(inputStream, System.out, null, null) + // Workaround for IDEA terminal. + val term = try { + Class.forName("com.intellij.rt.execution.application.AppMain") + + new TerminalSupport(true) {} + } catch { + case ignored: ClassNotFoundException => null + } + + private val reader = new ConsoleReader(inputStream, System.out, term) reader.addCompleter(new VisorCommandCompleter(visor.commands)) reader.addCompleter(new VisorFileNameCompleter()) -- 2.3.5