You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by zh...@apache.org on 2018/12/07 06:52:28 UTC

[geode] branch feature/GEODE-Test6149 updated (0742bae -> 7cd26a7)

This is an automated email from the ASF dual-hosted git repository.

zhouxj pushed a change to branch feature/GEODE-Test6149
in repository https://gitbox.apache.org/repos/asf/geode.git.


 discard 0742bae  Test6149
 discard 8b0a045  Revert "GEODE-6149: when client's cache is closing, its GetClientPRMetaDataOp could end up with NPE (#2952)"
     new 7cd26a7  Revert "GEODE-6149: when client's cache is closing, its GetClientPRMetaDataOp could end up with NPE (#2952)"

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (0742bae)
            \
             N -- N -- N   refs/heads/feature/GEODE-Test6149 (7cd26a7)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:


[geode] 01/01: Revert "GEODE-6149: when client's cache is closing, its GetClientPRMetaDataOp could end up with NPE (#2952)"

Posted by zh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

zhouxj pushed a commit to branch feature/GEODE-Test6149
in repository https://gitbox.apache.org/repos/asf/geode.git

commit 7cd26a77d05639dc17d1eaef16105277e05c9776
Author: zhouxh <gz...@pivotal.io>
AuthorDate: Thu Dec 6 22:49:09 2018 -0800

    Revert "GEODE-6149: when client's cache is closing, its GetClientPRMetaDataOp could end up with NPE (#2952)"
    
    Test6149
---
 .../client/internal/GetClientPRMetaDataOp.java     |  4 +-
 .../management/internal/MBeanProxyFactory.java     |  8 +++-
 .../internal/GetClientPRMetaDataOpJUnitTest.java   | 50 ----------------------
 .../management/internal/MBeanProxyFactoryTest.java | 24 ++---------
 gradle/java.gradle                                 |  2 +-
 5 files changed, 12 insertions(+), 76 deletions(-)

diff --git a/geode-core/src/main/java/org/apache/geode/cache/client/internal/GetClientPRMetaDataOp.java b/geode-core/src/main/java/org/apache/geode/cache/client/internal/GetClientPRMetaDataOp.java
index 8fcf566..c82860d 100755
--- a/geode-core/src/main/java/org/apache/geode/cache/client/internal/GetClientPRMetaDataOp.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/client/internal/GetClientPRMetaDataOp.java
@@ -105,9 +105,7 @@ public class GetClientPRMetaDataOp {
                     "GetClientPRMetaDataOpImpl#processResponse: for bucketId : {} locations are {}",
                     bucketId, locations);
               }
-              if (advisor != null) {
-                advisor.updateBucketServerLocations(bucketId, locations, cms);
-              }
+              advisor.updateBucketServerLocations(bucketId, locations, cms);
 
               Set<ClientPartitionAdvisor> cpas =
                   cms.getColocatedClientPartitionAdvisor(regionFullPath);
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/MBeanProxyFactory.java b/geode-core/src/main/java/org/apache/geode/management/internal/MBeanProxyFactory.java
index cbbd516..e54ce8a 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/MBeanProxyFactory.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/MBeanProxyFactory.java
@@ -166,8 +166,7 @@ public class MBeanProxyFactory {
         removeProxy(member, mbeanName, val);
       } catch (EntryNotFoundException entryNotFoundException) {
         // Entry has already been removed by another thread, so no need to remove it
-        logger.warn("Proxy for entry {} and member {} has already been removed", entry,
-            member.getId());
+        logProxyAlreadyRemoved(member, entry);
       } catch (Exception e) {
         if (!(e.getCause() instanceof InstanceNotFoundException)) {
           logger.warn("Remove Proxy failed for {} due to {}", key, e.getMessage(), e);
@@ -269,4 +268,9 @@ public class MBeanProxyFactory {
 
   }
 
+  void logProxyAlreadyRemoved(DistributedMember member, Entry<String, Object> entry) {
+    logger.warn("Proxy for entry {} and member {} has already been removed", entry,
+        member.getId());
+  }
+
 }
diff --git a/geode-core/src/test/java/org/apache/geode/cache/client/internal/GetClientPRMetaDataOpJUnitTest.java b/geode-core/src/test/java/org/apache/geode/cache/client/internal/GetClientPRMetaDataOpJUnitTest.java
deleted file mode 100644
index a1208e5..0000000
--- a/geode-core/src/test/java/org/apache/geode/cache/client/internal/GetClientPRMetaDataOpJUnitTest.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
- * agreements. See the NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the License. You may obtain a
- * copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-package org.apache.geode.cache.client.internal;
-
-import static org.junit.Assert.assertNull;
-import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import org.junit.Test;
-
-import org.apache.geode.cache.Cache;
-import org.apache.geode.internal.cache.tier.MessageType;
-import org.apache.geode.internal.cache.tier.sockets.Message;
-
-public class GetClientPRMetaDataOpJUnitTest {
-  @Test
-  public void processResponseWhenCacheClosedShuouldReturnNull() throws Exception {
-    Cache cache = mock(Cache.class);
-    ClientMetadataService cms = new ClientMetadataService(cache);
-    cms = spy(cms);
-    doReturn(true).when(cache).isClosed();
-
-    Message msg = mock(Message.class);
-    GetClientPRMetaDataOp.GetClientPRMetaDataOpImpl op =
-        new GetClientPRMetaDataOp.GetClientPRMetaDataOpImpl("testRegion", cms);
-    op = spy(op);
-
-    when(msg.getMessageType()).thenReturn(MessageType.RESPONSE_CLIENT_PR_METADATA);
-
-    assertNull(op.processResponse(msg));
-    verify(cms, times(1)).setMetadataStable(eq(true));
-  }
-}
diff --git a/geode-core/src/test/java/org/apache/geode/management/internal/MBeanProxyFactoryTest.java b/geode-core/src/test/java/org/apache/geode/management/internal/MBeanProxyFactoryTest.java
index c719fbd..73fc15d 100644
--- a/geode-core/src/test/java/org/apache/geode/management/internal/MBeanProxyFactoryTest.java
+++ b/geode-core/src/test/java/org/apache/geode/management/internal/MBeanProxyFactoryTest.java
@@ -16,45 +16,29 @@
 package org.apache.geode.management.internal;
 
 import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.doThrow;
 import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
-import static org.powermock.api.mockito.PowerMockito.mockStatic;
-import static org.powermock.api.mockito.PowerMockito.when;
 
 import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
 
-import org.apache.logging.log4j.Logger;
 import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.powermock.api.mockito.PowerMockito;
-import org.powermock.core.classloader.annotations.PowerMockIgnore;
-import org.powermock.core.classloader.annotations.PrepareForTest;
-import org.powermock.modules.junit4.PowerMockRunner;
 
 import org.apache.geode.cache.EntryNotFoundException;
 import org.apache.geode.cache.Region;
 import org.apache.geode.distributed.DistributedMember;
-import org.apache.geode.internal.logging.LogService;
 
-@RunWith(PowerMockRunner.class)
-@PrepareForTest(LogService.class)
-@PowerMockIgnore("javax.script.*")
 public class MBeanProxyFactoryTest {
   @Test
   public void removeAllProxiesEntryNotFoundLogged() {
-    mockStatic(LogService.class);
-    Logger mockLogger = PowerMockito.mock(Logger.class);
-    when(mockLogger.isDebugEnabled()).thenReturn(true);
-    when(LogService.getLogger()).thenReturn(mockLogger);
-
     MBeanProxyFactory mBeanProxyFactory =
-        new MBeanProxyFactory(mock(MBeanJMXAdapter.class), mock(SystemManagementService.class));
+        spy(new MBeanProxyFactory(mock(MBeanJMXAdapter.class),
+            mock(SystemManagementService.class)));
     Region mockRegion = mock(Region.class);
     Set entrySet = new HashSet<Map.Entry<String, Object>>();
 
@@ -68,6 +52,6 @@ public class MBeanProxyFactoryTest {
 
     // EntryNotFoundException should just result in a warning as it implies
     // the proxy has already been removed and the entry has already been destroyed
-    verify(mockLogger, times(1)).warn(anyString(), any(), any());
+    verify(mBeanProxyFactory, times(1)).logProxyAlreadyRemoved(any(), any());
   }
 }
diff --git a/gradle/java.gradle b/gradle/java.gradle
index c2cd072..874e577 100644
--- a/gradle/java.gradle
+++ b/gradle/java.gradle
@@ -33,7 +33,7 @@ subprojects {
   }
 
   String javaVersion = System.properties['java.version']
-  if (javaVersion.startsWith("1.8.0") && javaVersion.split("_")[1].toInteger() < 121) {
+  if (javaVersion.startsWith("1.8.0") && javaVersion.split("-")[0].split("_")[1].toInteger() < 121) {
     throw new GradleException("Java version 1.8.0_121 or later required, but was " + javaVersion)
   }