You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by kh...@apache.org on 2017/03/01 21:45:48 UTC

[1/2] geode git commit: GEODE-2541: Fixed ClassCastException failure

Repository: geode
Updated Branches:
  refs/heads/feature/GEODE-2541 [created] 8e30938aa


GEODE-2541: Fixed ClassCastException failure

Fixed in HeadlessGfsh, and added new test for handling a command response
that's not a CommandResult object


Project: http://git-wip-us.apache.org/repos/asf/geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/b8953046
Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/b8953046
Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/b8953046

Branch: refs/heads/feature/GEODE-2541
Commit: b8953046cb0b32155ff8bce09890161a77bea473
Parents: f2262d1
Author: Ken Howe <kh...@pivotal.io>
Authored: Wed Mar 1 13:04:05 2017 -0800
Committer: Ken Howe <kh...@pivotal.io>
Committed: Wed Mar 1 13:04:05 2017 -0800

----------------------------------------------------------------------
 .../management/internal/cli/HeadlessGfsh.java   | 16 +++++
 .../cli/HeadlessGfshIntegrationTest.java        | 62 +++++++++++++++-----
 2 files changed, 64 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/geode/blob/b8953046/geode-core/src/test/java/org/apache/geode/management/internal/cli/HeadlessGfsh.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/management/internal/cli/HeadlessGfsh.java b/geode-core/src/test/java/org/apache/geode/management/internal/cli/HeadlessGfsh.java
index 72be0c7..76e986d 100644
--- a/geode-core/src/test/java/org/apache/geode/management/internal/cli/HeadlessGfsh.java
+++ b/geode-core/src/test/java/org/apache/geode/management/internal/cli/HeadlessGfsh.java
@@ -15,6 +15,7 @@
 package org.apache.geode.management.internal.cli;
 
 import jline.console.ConsoleReader;
+import org.apache.geode.management.internal.cli.result.ResultBuilder;
 import org.apache.geode.management.internal.cli.shell.Gfsh;
 import org.apache.geode.management.internal.cli.shell.GfshConfig;
 import org.apache.geode.management.internal.cli.shell.jline.GfshUnsupportedTerminal;
@@ -122,6 +123,13 @@ public class HeadlessGfsh implements ResultHandler {
     try {
       Object result = queue.poll(timeout, TimeUnit.SECONDS);
       queue.clear();
+      if (!(result instanceof org.apache.geode.management.internal.cli.result.CommandResult)) {
+        if (result == null) {
+          return ResultBuilder.createBadResponseErrorResult("command response was null");
+        } else {
+          return ResultBuilder.createBadResponseErrorResult(result.toString());
+        }
+      }
       return result;
     } catch (InterruptedException e) {
       e.printStackTrace();
@@ -159,6 +167,14 @@ public class HeadlessGfsh implements ResultHandler {
     return shell.errorString;
   }
 
+  /**
+   * Method for tests to access the results queue
+   *
+   */
+  LinkedBlockingQueue getQueue() {
+    return queue;
+  }
+
   public static class HeadlessGfshShell extends Gfsh {
 
     private ResultHandler handler = null;

http://git-wip-us.apache.org/repos/asf/geode/blob/b8953046/geode-core/src/test/java/org/apache/geode/management/internal/cli/HeadlessGfshIntegrationTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/management/internal/cli/HeadlessGfshIntegrationTest.java b/geode-core/src/test/java/org/apache/geode/management/internal/cli/HeadlessGfshIntegrationTest.java
index 2ea8d99..c183377 100644
--- a/geode-core/src/test/java/org/apache/geode/management/internal/cli/HeadlessGfshIntegrationTest.java
+++ b/geode-core/src/test/java/org/apache/geode/management/internal/cli/HeadlessGfshIntegrationTest.java
@@ -14,10 +14,24 @@
  */
 package org.apache.geode.management.internal.cli;
 
+import static org.apache.geode.distributed.ConfigurationProperties.HTTP_SERVICE_PORT;
+import static org.apache.geode.distributed.ConfigurationProperties.JMX_MANAGER;
+import static org.apache.geode.distributed.ConfigurationProperties.JMX_MANAGER_PORT;
+import static org.apache.geode.distributed.ConfigurationProperties.JMX_MANAGER_START;
+import static org.apache.geode.distributed.ConfigurationProperties.MCAST_PORT;
+import static org.apache.geode.distributed.ConfigurationProperties.NAME;
+import static org.apache.geode.internal.AvailablePort.SOCKET;
+import static org.apache.geode.internal.AvailablePort.getRandomAvailablePort;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
 import org.apache.geode.cache.CacheFactory;
 import org.apache.geode.distributed.DistributedSystem;
 import org.apache.geode.internal.cache.GemFireCacheImpl;
+import org.apache.geode.management.cli.Result;
+import org.apache.geode.management.internal.cli.result.CommandResult;
 import org.apache.geode.test.junit.categories.IntegrationTest;
+import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
@@ -26,18 +40,17 @@ import org.junit.rules.TestName;
 
 import java.io.IOException;
 import java.util.Properties;
-
-import static org.apache.geode.distributed.ConfigurationProperties.*;
-import static org.apache.geode.internal.AvailablePort.SOCKET;
-import static org.apache.geode.internal.AvailablePort.getRandomAvailablePort;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import java.util.concurrent.LinkedBlockingQueue;
 
 /**
  * TODO : Add more tests for error-catch, different type of results etc
  */
 @Category(IntegrationTest.class)
 public class HeadlessGfshIntegrationTest {
+  private int port;
+  private DistributedSystem ds;
+  private GemFireCacheImpl cache;
+  private HeadlessGfsh gfsh;
 
   @Rule
   public TemporaryFolder temporaryFolder = new TemporaryFolder();
@@ -45,11 +58,9 @@ public class HeadlessGfshIntegrationTest {
   @Rule
   public TestName testName = new TestName();
 
-  @SuppressWarnings({"deprecation"})
-  @Test
-  public void testHeadlessGfshTest()
-      throws ClassNotFoundException, IOException, InterruptedException {
-    int port = getRandomAvailablePort(SOCKET);
+  @Before
+  public void setup() throws IOException, ClassNotFoundException {
+    port = getRandomAvailablePort(SOCKET);
 
     Properties properties = new Properties();
     properties.put(NAME, this.testName.getMethodName());
@@ -59,11 +70,17 @@ public class HeadlessGfshIntegrationTest {
     properties.put(HTTP_SERVICE_PORT, "0");
     properties.put(MCAST_PORT, "0");
 
-    DistributedSystem ds = DistributedSystem.connect(properties);
-    GemFireCacheImpl cache = (GemFireCacheImpl) CacheFactory.create(ds);
+    ds = DistributedSystem.connect(properties);
+    cache = (GemFireCacheImpl) CacheFactory.create(ds);
 
-    HeadlessGfsh gfsh = new HeadlessGfsh("Test", 25,
+    gfsh = new HeadlessGfsh("Test", 25,
         this.temporaryFolder.newFolder("gfsh_files").getCanonicalPath());
+  }
+
+  @SuppressWarnings({"deprecation"})
+  @Test
+  public void testHeadlessGfshTest() throws InterruptedException {
+
     for (int i = 0; i < 5; i++) {
       gfsh.executeCommand("connect --jmx-manager=localhost[" + port + "]");
       Object result = gfsh.getResult();
@@ -88,4 +105,21 @@ public class HeadlessGfshIntegrationTest {
     ds.disconnect();
   }
 
+  @SuppressWarnings({"deprecation"})
+  @Test
+  public void testStringResultReturnedAsCommandResult() throws InterruptedException {
+    gfsh.clear();
+    gfsh.executeCommand("list members");
+
+    LinkedBlockingQueue headlessQueue = gfsh.getQueue();
+    headlessQueue.clear();
+    headlessQueue.put("ERROR RESULT");
+    Object result = gfsh.getResult();
+    assertNotNull(result);
+    assertTrue(((CommandResult) result).getStatus() == Result.Status.ERROR);
+    System.out.println(((CommandResult) result).toString());
+    gfsh.terminate();
+    cache.close();
+    ds.disconnect();
+  }
 }


[2/2] geode git commit: Merge remote-tracking branch 'origin/develop' into feature/GEODE-2541

Posted by kh...@apache.org.
Merge remote-tracking branch 'origin/develop' into feature/GEODE-2541


Project: http://git-wip-us.apache.org/repos/asf/geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/8e30938a
Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/8e30938a
Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/8e30938a

Branch: refs/heads/feature/GEODE-2541
Commit: 8e30938aae3d1d60735c24ea16459b555addebdb
Parents: b895304 635d311
Author: Ken Howe <kh...@pivotal.io>
Authored: Wed Mar 1 13:42:16 2017 -0800
Committer: Ken Howe <kh...@pivotal.io>
Committed: Wed Mar 1 13:42:16 2017 -0800

----------------------------------------------------------------------
 BUILDING.md                                     |  68 ++---
 README.md                                       | 162 +++++++++---
 geode-assembly/src/main/dist/NOTICE             |  10 +-
 .../src/test/resources/expected_jars.txt        |   1 -
 .../java/org/apache/geode/cache/Operation.java  |  16 ++
 .../internal/AsyncEventQueueImpl.java           |   9 +
 .../org/apache/geode/internal/DSFIDFactory.java |   2 -
 .../geode/internal/DataSerializableFixedID.java |   4 +-
 .../geode/internal/cache/AbstractRegion.java    |   4 +-
 .../geode/internal/cache/DestroyOperation.java  |   6 -
 .../cache/DistributedCacheOperation.java        |  27 +-
 .../cache/DistributedPutAllOperation.java       |  27 --
 .../geode/internal/cache/DistributedRegion.java | 100 ++------
 .../cache/DistributedRemoveAllOperation.java    |  15 --
 .../geode/internal/cache/GemFireCacheImpl.java  |  27 --
 .../internal/cache/InvalidateOperation.java     |   8 -
 .../geode/internal/cache/LocalRegion.java       |   6 -
 .../org/apache/geode/internal/cache/OpType.java |   2 +
 .../cache/ReliableDistributionData.java         |  41 ---
 .../internal/cache/ReliableMessageQueue.java    |  69 ------
 .../cache/ReliableMessageQueueFactory.java      |  41 ---
 .../cache/ReliableMessageQueueFactoryImpl.java  | 246 ------------------
 .../internal/cache/SendQueueOperation.java      | 190 --------------
 .../geode/internal/cache/TXCommitMessage.java   |  41 +--
 .../cache/UpdateEntryVersionOperation.java      |   6 -
 .../geode/internal/cache/UpdateOperation.java   |  13 -
 .../cache/tier/sockets/BaseCommand.java         |  18 +-
 .../cache/wan/serial/BatchDestroyOperation.java |   7 -
 .../geode/internal/i18n/LocalizedStrings.java   |  10 +-
 .../internal/statistics/StatArchiveReader.java  |   4 +-
 .../internal/cli/parser/ParserUtils.java        |   2 +-
 .../management/internal/cli/util/JsonUtil.java  |   2 +-
 .../BaseLineAndCompareQueryPerfJUnitTest.java   |   5 +-
 .../query/dunit/SelectStarQueryDUnitTest.java   |   4 +-
 .../org/apache/geode/internal/JavaExec.java     |  71 ------
 .../org/apache/geode/internal/LongBuffer.java   |  96 -------
 .../tier/sockets/ClientServerMiscDUnitTest.java |  84 ++-----
 .../tier/sockets/InterestListDUnitTest.java     |  99 ++++++++
 ...veWithMissingResourceTypeRegressionTest.java |   3 +-
 .../managing/security/ssl_example.html.md.erb   |   2 +-
 .../geode/cache/lucene/LuceneService.java       |  14 +-
 .../internal/DestroyLuceneIndexMessage.java     | 109 ++++++++
 .../lucene/internal/InternalLuceneIndex.java    |   5 +
 .../LuceneIndexForPartitionedRegion.java        | 109 +++++++-
 .../cache/lucene/internal/LuceneIndexImpl.java  |  16 ++
 .../cache/lucene/internal/LuceneQueryImpl.java  |   5 +
 .../cache/lucene/internal/LuceneRawIndex.java   |   2 +
 .../lucene/internal/LuceneServiceImpl.java      |  62 ++++-
 .../PageableLuceneQueryResultsImpl.java         |  23 +-
 .../lucene/internal/cli/LuceneCliStrings.java   |  28 ++-
 .../cli/LuceneFunctionSerializable.java         |  36 +++
 .../internal/cli/LuceneIndexCommands.java       | 113 +++++++--
 .../lucene/internal/cli/LuceneIndexDetails.java |  16 +-
 .../lucene/internal/cli/LuceneIndexInfo.java    |  15 +-
 .../lucene/internal/cli/LuceneQueryInfo.java    |  15 +-
 .../functions/LuceneDestroyIndexFunction.java   |  57 +++++
 .../distributed/LuceneQueryFunction.java        |   4 +
 .../internal/results/LuceneGetPageFunction.java |  83 +++++++
 .../internal/results/MapResultCollector.java    |  58 +++++
 .../lucene/internal/results/PageEntry.java      |  98 ++++++++
 .../lucene/internal/results/PageResults.java    |  60 +++++
 .../lucene/LuceneIndexDestroyDUnitTest.java     | 247 +++++++++++++++++++
 .../lucene/LuceneQueriesIntegrationTest.java    |  41 +++
 .../geode/cache/lucene/PaginationDUnitTest.java |   7 +-
 .../internal/LuceneQueryImplJUnitTest.java      |  54 ++--
 ...PageableLuceneQueryResultsImplJUnitTest.java |  39 ++-
 .../cli/LuceneIndexCommandsDUnitTest.java       |  50 +++-
 .../cli/LuceneIndexCommandsJUnitTest.java       |  53 ++++
 .../LuceneDestroyIndexFunctionJUnitTest.java    |  93 +++++++
 .../LuceneClusterConfigurationDUnitTest.java    |  99 +++++++-
 .../LuceneQueryFunctionJUnitTest.java           |  25 +-
 .../results/LuceneGetPageFunctionJUnitTest.java |  65 +++++
 .../internal/results/PageEntryJUnitTest.java    |  93 +++++++
 .../internal/results/PageResultsJUnitTest.java  |  44 ++++
 geode-pulse/src/main/webapp/META-INF/NOTICE     |   4 +-
 geode-web-api/build.gradle                      |   1 -
 geode-web-api/src/main/webapp/META-INF/NOTICE   |   4 +-
 gradle/dependency-versions.properties           |   7 +-
 78 files changed, 2076 insertions(+), 1326 deletions(-)
----------------------------------------------------------------------