Repository: geode
Updated Branches:
  refs/heads/feature/GEODE-2681 [created] ae8350bcb


GEODE-2681: refactoring to prevent yncronization hang on getAnyInstance


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

Branch: refs/heads/feature/GEODE-2681
Commit: ae8350bcb55e7eb217798f6472689be1eb85d4a4
Parents: 1156011
Author: Ken Howe <[email protected]>
Authored: Tue Apr 18 10:43:51 2017 -0700
Committer: Ken Howe <[email protected]>
Committed: Thu Apr 20 14:06:04 2017 -0700

----------------------------------------------------------------------
 .../ShowMissingDiskStoresFunction.java          |   9 +-
 .../ShowMissingDiskStoresFunctionJUnitTest.java | 104 +++++++------------
 2 files changed, 41 insertions(+), 72 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/geode/blob/ae8350bc/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ShowMissingDiskStoresFunction.java
----------------------------------------------------------------------
diff --git 
a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ShowMissingDiskStoresFunction.java
 
b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ShowMissingDiskStoresFunction.java
index a2812fa..589c98d 100644
--- 
a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ShowMissingDiskStoresFunction.java
+++ 
b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ShowMissingDiskStoresFunction.java
@@ -36,7 +36,7 @@ import 
org.apache.geode.internal.cache.persistence.PersistentMemberPattern;
 public class ShowMissingDiskStoresFunction extends FunctionAdapter implements 
InternalEntity {
 
   protected Cache getCache() {
-    return CacheFactory.getAnyInstance();
+    return GemFireCacheImpl.getInstance();
   }
 
   @Override
@@ -50,12 +50,11 @@ public class ShowMissingDiskStoresFunction extends 
FunctionAdapter implements In
     try {
       final Cache cache = getCache();
 
-      if (cache instanceof InternalCache) {
-        final InternalCache gemfireCache = (InternalCache) cache;
+      if (cache != null) {
+        final GemFireCacheImpl gfci = (GemFireCacheImpl) cache;
 
-        final DistributedMember member = gemfireCache.getMyId();
+        final DistributedMember member = gfci.getMyId();
 
-        GemFireCacheImpl gfci = GemFireCacheImpl.getInstance();
         if (gfci != null && !gfci.isClosed()) {
           // Missing DiskStores
           PersistentMemberManager mm = gfci.getPersistentMemberManager();

http://git-wip-us.apache.org/repos/asf/geode/blob/ae8350bc/geode-core/src/test/java/org/apache/geode/management/internal/cli/functions/ShowMissingDiskStoresFunctionJUnitTest.java
----------------------------------------------------------------------
diff --git 
a/geode-core/src/test/java/org/apache/geode/management/internal/cli/functions/ShowMissingDiskStoresFunctionJUnitTest.java
 
b/geode-core/src/test/java/org/apache/geode/management/internal/cli/functions/ShowMissingDiskStoresFunctionJUnitTest.java
index 1cfa242..a2c9c90 100644
--- 
a/geode-core/src/test/java/org/apache/geode/management/internal/cli/functions/ShowMissingDiskStoresFunctionJUnitTest.java
+++ 
b/geode-core/src/test/java/org/apache/geode/management/internal/cli/functions/ShowMissingDiskStoresFunctionJUnitTest.java
@@ -107,14 +107,14 @@ public class ShowMissingDiskStoresFunctionJUnitTest {
     GemFireCacheImpl.setInstanceForTests(oldCacheInstance);
   }
 
-  private class TestSPRFFunc1 extends ShowMissingDiskStoresFunction {
+  private class TestSMDSFFunc1 extends ShowMissingDiskStoresFunction {
     @Override
     protected Cache getCache() {
       return null;
     }
   }
 
-  private class TestSPRFFunc2 extends ShowMissingDiskStoresFunction {
+  private class TestSMDSFFunc2 extends ShowMissingDiskStoresFunction {
     @Override
     protected Cache getCache() {
       return cache;
@@ -127,22 +127,22 @@ public class ShowMissingDiskStoresFunctionJUnitTest {
    */
   @Test
   public final void testGetCache() {
-    ShowMissingDiskStoresFunction rff = new ShowMissingDiskStoresFunction();
-    assertTrue(rff.getCache() instanceof Cache);
+    ShowMissingDiskStoresFunction smdsFunc = new 
ShowMissingDiskStoresFunction();
+    assertTrue(smdsFunc.getCache() instanceof Cache);
   }
 
   /**
    * Test method for
-   * {@link 
org.apache.geode.management.internal.cli.functions.ShowMissingDiskStoresFunction#execute(org.apache.geode.cache.execute.FunctionContext)}.
+   * {@link ShowMissingDiskStoresFunction#execute(FunctionContext)}.
    */
   @Test
   public final void testExecute() {
-    ShowMissingDiskStoresFunction rff = new ShowMissingDiskStoresFunction();
+    ShowMissingDiskStoresFunction smdsFunc = new 
ShowMissingDiskStoresFunction();
     List<?> results = null;
 
     when(cache.getPersistentMemberManager()).thenReturn(memberManager);
 
-    rff.execute(context);
+    smdsFunc.execute(context);
     try {
       results = resultSender.getResults();
     } catch (Throwable e) {
@@ -160,8 +160,8 @@ public class ShowMissingDiskStoresFunctionJUnitTest {
   public final void testExecuteWithNullContextThrowsRuntimeException() {
     expectedException.expect(RuntimeException.class);
 
-    ShowMissingDiskStoresFunction rff = new ShowMissingDiskStoresFunction();
-    rff.execute(null);
+    ShowMissingDiskStoresFunction smdsFunc = new 
ShowMissingDiskStoresFunction();
+    smdsFunc.execute(null);
     fail("Missing expected RuntimeException");
   }
 
@@ -170,17 +170,12 @@ public class ShowMissingDiskStoresFunctionJUnitTest {
    * {@link 
org.apache.geode.management.internal.cli.functions.ShowMissingDiskStoresFunction#execute(org.apache.geode.cache.execute.FunctionContext)}.
    */
   @Test
-  public final void testExecuteWithNullCacheInstanceHasEmptyResults() {
-    TestSPRFFunc1 rff = new TestSPRFFunc1();
+  public final void testExecuteWithNullCacheInstanceHasEmptyResults() throws 
Throwable {
+    TestSMDSFFunc1 testSMDSFunc = new TestSMDSFFunc1();
     List<?> results = null;
 
-    rff.execute(context);
-    try {
-      results = resultSender.getResults();
-    } catch (Throwable e) {
-      e.printStackTrace();
-      fail("Unexpected exception");
-    }
+    testSMDSFunc.execute(context);
+    results = resultSender.getResults();
     assertNotNull(results);
     assertEquals(1, results.size());
     assertNull(results.get(0));
@@ -191,20 +186,15 @@ public class ShowMissingDiskStoresFunctionJUnitTest {
    * {@link 
org.apache.geode.management.internal.cli.functions.ShowMissingDiskStoresFunction#execute(org.apache.geode.cache.execute.FunctionContext)}.
    */
   @Test
-  public final void testExecuteWithNullGFCIResultValueIsNull() {
-    TestSPRFFunc2 rff = new TestSPRFFunc2();
+  public final void testExecuteWithNullGFCIResultValueIsNull() throws 
Throwable {
+    TestSMDSFFunc2 testSMDSFunc = new TestSMDSFFunc2();
     List<?> results = null;
 
     when(cache.getPersistentMemberManager()).thenReturn(memberManager);
     GemFireCacheImpl.setInstanceForTests(null);
 
-    rff.execute(context);
-    try {
-      results = resultSender.getResults();
-    } catch (Throwable e) {
-      e.printStackTrace();
-      fail("Unexpected exception");
-    }
+    testSMDSFunc.execute(context);
+    results = resultSender.getResults();
     assertNotNull(results);
     assertEquals(1, results.size());
     assertNull(results.get(0));
@@ -215,19 +205,14 @@ public class ShowMissingDiskStoresFunctionJUnitTest {
    * {@link 
org.apache.geode.management.internal.cli.functions.ShowMissingDiskStoresFunction#execute(org.apache.geode.cache.execute.FunctionContext)}.
    */
   @Test
-  public final void testExecuteWhenGFCIClosedResultValueIsNull() {
-    TestSPRFFunc2 rff = new TestSPRFFunc2();
+  public final void testExecuteWhenGFCIClosedResultValueIsNull() throws 
Throwable {
+    TestSMDSFFunc2 testSMDSFunc = new TestSMDSFFunc2();
     List<?> results = null;
 
     when(cache.getPersistentMemberManager()).thenReturn(memberManager);
     when(((GemFireCacheImpl) cache).isClosed()).thenReturn(true);
-    rff.execute(context);
-    try {
-      results = resultSender.getResults();
-    } catch (Throwable e) {
-      e.printStackTrace();
-      fail("Unexpected exception");
-    }
+    testSMDSFunc.execute(context);
+    results = resultSender.getResults();
     assertNotNull(results);
   }
 
@@ -238,8 +223,8 @@ public class ShowMissingDiskStoresFunctionJUnitTest {
    * @throws UnknownHostException
    */
   @Test
-  public final void testExecuteReturnsMissingDiskStores() throws 
UnknownHostException {
-    ShowMissingDiskStoresFunction rff = new ShowMissingDiskStoresFunction();
+  public final void testExecuteReturnsMissingDiskStores() throws Throwable {
+    ShowMissingDiskStoresFunction smdsFunc = new 
ShowMissingDiskStoresFunction();
     List<?> results = null;
 
     when(cache.getPersistentMemberManager()).thenReturn(memberManager);
@@ -255,13 +240,8 @@ public class ShowMissingDiskStoresFunctionJUnitTest {
     mapMember1.put("member1", regions1);
     when(memberManager.getWaitingRegions()).thenReturn(mapMember1);
 
-    rff.execute(context);
-    try {
-      results = resultSender.getResults();
-    } catch (Throwable e) {
-      e.printStackTrace();
-      fail("Unexpected exception");
-    }
+    smdsFunc.execute(context);
+    results = resultSender.getResults();
     assertNotNull(results);
     assertEquals(1, results.size());
     Set<?> detailSet = (Set<?>) results.get(0);
@@ -286,8 +266,8 @@ public class ShowMissingDiskStoresFunctionJUnitTest {
    * {@link 
org.apache.geode.management.internal.cli.functions.ShowMissingDiskStoresFunction#execute(org.apache.geode.cache.execute.FunctionContext)}.
    */
   @Test
-  public final void testExecuteReturnsMissingColocatedRegions() {
-    ShowMissingDiskStoresFunction rff = new ShowMissingDiskStoresFunction();
+  public final void testExecuteReturnsMissingColocatedRegions() throws 
Throwable {
+    ShowMissingDiskStoresFunction smdsFunc = new 
ShowMissingDiskStoresFunction();
     List<?> results = null;
 
     when(cache.getPersistentMemberManager()).thenReturn(memberManager);
@@ -301,13 +281,8 @@ public class ShowMissingDiskStoresFunctionJUnitTest {
     when(pr1.getMissingColocatedChildren()).thenReturn(missing1);
     when(pr1.getFullPath()).thenReturn("/pr1");
 
-    rff.execute(context);
-    try {
-      results = resultSender.getResults();
-    } catch (Throwable e) {
-      e.printStackTrace();
-      fail("Unexpected exception");
-    }
+    smdsFunc.execute(context);
+    results = resultSender.getResults();
     assertEquals(1, results.size());
     Set<?> detailSet = (Set<?>) results.get(0);
     assertEquals(2, detailSet.toArray().length);
@@ -332,8 +307,8 @@ public class ShowMissingDiskStoresFunctionJUnitTest {
    * @throws UnknownHostException
    */
   @Test
-  public final void testExecuteReturnsMissingStoresAndRegions() throws 
UnknownHostException {
-    ShowMissingDiskStoresFunction rff = new ShowMissingDiskStoresFunction();
+  public final void testExecuteReturnsMissingStoresAndRegions() throws 
Throwable {
+    ShowMissingDiskStoresFunction smdsFunc = new 
ShowMissingDiskStoresFunction();
     List<?> results = null;
 
     when(cache.getPersistentMemberManager()).thenReturn(memberManager);
@@ -358,13 +333,8 @@ public class ShowMissingDiskStoresFunctionJUnitTest {
     when(pr1.getMissingColocatedChildren()).thenReturn(missing1);
     when(pr1.getFullPath()).thenReturn("/pr1");
 
-    rff.execute(context);
-    try {
-      results = resultSender.getResults();
-    } catch (Throwable e) {
-      e.printStackTrace();
-      fail("Unexpected exception");
-    }
+    smdsFunc.execute(context);
+    results = resultSender.getResults();
     assertEquals(2, results.size());
     for (Object result : results) {
       Set<?> detailSet = (Set<?>) result;
@@ -412,11 +382,11 @@ public class ShowMissingDiskStoresFunctionJUnitTest {
   public final void testExecuteCatchesExceptions() throws Throwable {
     expectedException.expect(RuntimeException.class);
 
-    ShowMissingDiskStoresFunction rff = new ShowMissingDiskStoresFunction();
+    ShowMissingDiskStoresFunction smdsFunc = new 
ShowMissingDiskStoresFunction();
 
     when(cache.getPersistentMemberManager()).thenThrow(new RuntimeException());
 
-    rff.execute(context);
+    smdsFunc.execute(context);
     List<?> results = resultSender.getResults();
     fail("Failed to catch expected RuntimeException");
   }
@@ -428,8 +398,8 @@ public class ShowMissingDiskStoresFunctionJUnitTest {
    */
   @Test
   public final void testGetId() {
-    ShowMissingDiskStoresFunction rff = new ShowMissingDiskStoresFunction();
-    assertEquals(ShowMissingDiskStoresFunction.class.getName(), rff.getId());
+    ShowMissingDiskStoresFunction smdsFunc = new 
ShowMissingDiskStoresFunction();
+    assertEquals(ShowMissingDiskStoresFunction.class.getName(), 
smdsFunc.getId());
   }
 
   private static class TestResultSender implements ResultSender {

Reply via email to