[geode] branch feature/GEODE-9003 updated (850f8a2 -> b4c7749)

2021-03-09 Thread zhouxj
This is an automated email from the ASF dual-hosted git repository.

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


from 850f8a2  should remove the member from replicate
 add b4c7749  add test case and fix the behavior

No new revisions were added by this update.

Summary of changes:
 .../PersistentRecoveryOrderDUnitTest.java  | 26 ++
 .../cache/persistence/PersistenceAdvisorImpl.java  | 10 +++--
 2 files changed, 34 insertions(+), 2 deletions(-)



[geode] branch support/1.14 updated: GEODE-8761: detect stuck server connection threads (#6094) (#6105)

2021-03-09 Thread dschneider
This is an automated email from the ASF dual-hosted git repository.

dschneider pushed a commit to branch support/1.14
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/support/1.14 by this push:
 new 2bb7e34  GEODE-8761: detect stuck server connection threads (#6094) 
(#6105)
2bb7e34 is described below

commit 2bb7e34ab1ef3a5c0965b907ca46c7ea38dde378
Author: Darrel Schneider 
AuthorDate: Tue Mar 9 15:20:23 2021 -0800

GEODE-8761: detect stuck server connection threads (#6094) (#6105)

(cherry picked from commit df7b5b167472d87d8d262515533e7c80d7306e67)
---
 .../sockets/ServerConnectionIntegrationTest.java   | 20 +--
 .../cache/tier/sockets/ServerConnection.java   | 36 +++
 .../internal/monitoring/ThreadsMonitoring.java |  3 +-
 .../internal/monitoring/ThreadsMonitoringImpl.java |  3 ++
 .../executor/P2PReaderExecutorGroup.java   | 22 +---
 ...oup.java => ServerConnectionExecutorGroup.java} | 26 ++
 ...ExecutorGroup.java => SuspendableExecutor.java} | 10 ++
 .../tier/sockets/ServerConnectionFactoryTest.java  | 40 ++
 .../cache/tier/sockets/ServerConnectionTest.java   | 19 --
 .../monitoring/ThreadsMonitoringImplJUnitTest.java |  1 +
 .../monitoring/ThreadsMonitoringJUnitTest.java |  5 +--
 .../executor/P2PReaderExecutorGroupTest.java   | 25 --
 .../ServerConnectionExecutorGroupTest.java}| 29 
 ...GroupTest.java => SuspendableExecutorTest.java} | 14 
 .../OutputCapturingServerConnectionTest.java   |  9 +
 .../tier/sockets/ProtobufServerConnectionTest.java | 12 +--
 16 files changed, 151 insertions(+), 123 deletions(-)

diff --git 
a/geode-core/src/integrationTest/java/org/apache/geode/internal/cache/tier/sockets/ServerConnectionIntegrationTest.java
 
b/geode-core/src/integrationTest/java/org/apache/geode/internal/cache/tier/sockets/ServerConnectionIntegrationTest.java
index 48ea5e7..17e79c3 100644
--- 
a/geode-core/src/integrationTest/java/org/apache/geode/internal/cache/tier/sockets/ServerConnectionIntegrationTest.java
+++ 
b/geode-core/src/integrationTest/java/org/apache/geode/internal/cache/tier/sockets/ServerConnectionIntegrationTest.java
@@ -18,7 +18,7 @@ import static org.assertj.core.api.Assertions.assertThatCode;
 import static org.junit.Assert.fail;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
-import static org.mockito.quality.Strictness.STRICT_STUBS;
+import static org.mockito.quality.Strictness.LENIENT;
 
 import java.io.IOException;
 import java.net.InetAddress;
@@ -35,6 +35,8 @@ import org.junit.experimental.categories.Category;
 import org.mockito.junit.MockitoJUnit;
 import org.mockito.junit.MockitoRule;
 
+import org.apache.geode.distributed.internal.DistributionManager;
+import org.apache.geode.distributed.internal.InternalDistributedSystem;
 import 
org.apache.geode.distributed.internal.membership.InternalDistributedMember;
 import org.apache.geode.internal.cache.InternalCache;
 import org.apache.geode.internal.cache.TXManagerImpl;
@@ -43,6 +45,7 @@ import 
org.apache.geode.internal.cache.tier.CachedRegionHelper;
 import org.apache.geode.internal.cache.tier.CommunicationMode;
 import org.apache.geode.internal.cache.tier.MessageType;
 import org.apache.geode.internal.cache.tier.ServerSideHandshake;
+import org.apache.geode.internal.monitoring.ThreadsMonitoring;
 import org.apache.geode.internal.security.SecurityService;
 import org.apache.geode.internal.serialization.KnownVersion;
 import org.apache.geode.test.junit.categories.ClientServerTest;
@@ -51,11 +54,12 @@ import 
org.apache.geode.test.junit.categories.ClientServerTest;
 public class ServerConnectionIntegrationTest {
 
   @Rule
-  public MockitoRule mockitoRule = 
MockitoJUnit.rule().strictness(STRICT_STUBS);
+  public MockitoRule mockitoRule = MockitoJUnit.rule().strictness(LENIENT);
 
   private AcceptorImpl acceptor;
   private Socket socket;
   private InternalCache cache;
+  private CachedRegionHelper cachedRegionHelper;
   private SecurityService securityService;
   private CacheServerStats stats;
 
@@ -66,11 +70,21 @@ public class ServerConnectionIntegrationTest {
 acceptor = mock(AcceptorImpl.class);
 socket = mock(Socket.class);
 cache = mock(InternalCache.class);
+cachedRegionHelper = mock(CachedRegionHelper.class);
 securityService = mock(SecurityService.class);
 stats = mock(CacheServerStats.class);
 
 when(inetAddress.getHostAddress()).thenReturn("localhost");
 when(socket.getInetAddress()).thenReturn(inetAddress);
+
+InternalDistributedSystem internalDistributedSystem = 
mock(InternalDistributedSystem.class);
+DistributionManager distributionManager = mock(DistributionManager.class);
+ThreadsMonitoring threadsMonitoring = mock(ThreadsMonitoring.class);
+
+

[geode] branch support/1.13 updated: GEODE-8558: query input by users should trim newlines and comments. (#5571)

2021-03-09 Thread jinmeiliao
This is an automated email from the ASF dual-hosted git repository.

jinmeiliao pushed a commit to branch support/1.13
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/support/1.13 by this push:
 new fab465b  GEODE-8558: query input by users should trim newlines and 
comments. (#5571)
fab465b is described below

commit fab465b0cac9ce447603ef9a41446c7843497f7c
Author: Jinmei Liao 
AuthorDate: Thu Oct 1 08:06:03 2020 -0700

GEODE-8558: query input by users should trim newlines and comments. (#5571)


(cherry picked from commit 2485e57707d8f4535bbf9a3e5f5926a26421ca20)
---
 .../internal/beans/QueryDataFunction.java  | 24 +++---
 .../QueryDataFunctionApplyLimitClauseTest.java | 52 ++
 2 files changed, 70 insertions(+), 6 deletions(-)

diff --git 
a/geode-core/src/main/java/org/apache/geode/management/internal/beans/QueryDataFunction.java
 
b/geode-core/src/main/java/org/apache/geode/management/internal/beans/QueryDataFunction.java
index d6539f0..f1395ae 100644
--- 
a/geode-core/src/main/java/org/apache/geode/management/internal/beans/QueryDataFunction.java
+++ 
b/geode-core/src/main/java/org/apache/geode/management/internal/beans/QueryDataFunction.java
@@ -16,6 +16,7 @@ package org.apache.geode.management.internal.beans;
 
 import java.util.ArrayList;
 import java.util.HashSet;
+import java.util.List;
 import java.util.Set;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
@@ -209,23 +210,34 @@ public class QueryDataFunction implements Function, 
InternalEntity {
*/
   protected static String applyLimitClause(final String query, int limit,
   final int queryResultSetLimit) {
+String[] lines = query.split(System.lineSeparator());
+List queryStrings = new ArrayList();
+for (String line : lines) {
+  // remove the comments
+  if (!line.startsWith("--") && line.length() > 0) {
+queryStrings.add(line);
+  }
+}
+if (queryStrings.isEmpty()) {
+  throw new IllegalArgumentException("invalid query: " + query);
+}
+
+String queryString = String.join(" ", queryStrings);
 
-Matcher matcher = SELECT_EXPR_PATTERN.matcher(query);
+Matcher matcher = SELECT_EXPR_PATTERN.matcher(queryString);
 
 if (matcher.matches()) {
-  Matcher limit_matcher = SELECT_WITH_LIMIT_EXPR_PATTERN.matcher(query);
+  Matcher limit_matcher = 
SELECT_WITH_LIMIT_EXPR_PATTERN.matcher(queryString);
   boolean queryAlreadyHasLimitClause = limit_matcher.matches();
 
   if (!queryAlreadyHasLimitClause) {
 if (limit == 0) {
   limit = queryResultSetLimit;
 }
-String result = query;
-result += " LIMIT " + limit;
-return result;
+return queryString + " LIMIT " + limit;
   }
 }
-return query;
+return queryString;
   }
 
 
diff --git 
a/geode-core/src/test/java/org/apache/geode/management/internal/beans/QueryDataFunctionApplyLimitClauseTest.java
 
b/geode-core/src/test/java/org/apache/geode/management/internal/beans/QueryDataFunctionApplyLimitClauseTest.java
index cf8e97b..8be3a8f 100644
--- 
a/geode-core/src/test/java/org/apache/geode/management/internal/beans/QueryDataFunctionApplyLimitClauseTest.java
+++ 
b/geode-core/src/test/java/org/apache/geode/management/internal/beans/QueryDataFunctionApplyLimitClauseTest.java
@@ -17,6 +17,7 @@
 package org.apache.geode.management.internal.beans;
 
 import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -74,4 +75,55 @@ public class QueryDataFunctionApplyLimitClauseTest {
 limit_0, 
queryResultSetLimit_100)).isEqualTo(selectQueryMissingSpaceAfterFromWithLimit);
   }
 
+  @Test
+  public void applyLimitClauseShouldTrimQuery() throws Exception {
+String query = selectQuery + System.lineSeparator();
+assertThat(QueryDataFunction.applyLimitClause(query, limit_10, 
queryResultSetLimit_100))
+.isEqualTo(selectQuery + " LIMIT " + limit_10);
+  }
+
+  @Test
+  public void applyLimitClauseShouldTrimQueryAndUseDefaultLimit() throws 
Exception {
+String query = selectQuery + System.lineSeparator();
+assertThat(QueryDataFunction.applyLimitClause(query, limit_0, 
queryResultSetLimit_100))
+.isEqualTo(selectQuery + " LIMIT " + queryResultSetLimit_100);
+  }
+
+  @Test
+  public void applyLimitClauseShouldIgnoreComments() throws Exception {
+String query = "--comment" + System.lineSeparator() + selectQuery + 
System.lineSeparator()
++ "--comment" + System.lineSeparator();
+assertThat(QueryDataFunction.applyLimitClause(query, limit_10, 
queryResultSetLimit_100))
+.isEqualTo(selectQuery + " LIMIT " + limit_10);
+  }
+
+  @Test
+  public void applyLimitShouldIgnoreNewLinesBetweenAndAfterQuery() throws 
Exception {
+String query = "select" + 

[geode] branch support/1.12 updated: GEODE-8558: query input by users should trim newlines and comments. (#5571)

2021-03-09 Thread jinmeiliao
This is an automated email from the ASF dual-hosted git repository.

jinmeiliao pushed a commit to branch support/1.12
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/support/1.12 by this push:
 new 1edd5d3  GEODE-8558: query input by users should trim newlines and 
comments. (#5571)
1edd5d3 is described below

commit 1edd5d3822eafb5c71d9fb2115c9b48a7d289ff6
Author: Jinmei Liao 
AuthorDate: Thu Oct 1 08:06:03 2020 -0700

GEODE-8558: query input by users should trim newlines and comments. (#5571)


(cherry picked from commit 2485e57707d8f4535bbf9a3e5f5926a26421ca20)
---
 .../internal/beans/QueryDataFunction.java  | 24 +++---
 .../QueryDataFunctionApplyLimitClauseTest.java | 52 ++
 2 files changed, 70 insertions(+), 6 deletions(-)

diff --git 
a/geode-core/src/main/java/org/apache/geode/management/internal/beans/QueryDataFunction.java
 
b/geode-core/src/main/java/org/apache/geode/management/internal/beans/QueryDataFunction.java
index d6539f0..f1395ae 100644
--- 
a/geode-core/src/main/java/org/apache/geode/management/internal/beans/QueryDataFunction.java
+++ 
b/geode-core/src/main/java/org/apache/geode/management/internal/beans/QueryDataFunction.java
@@ -16,6 +16,7 @@ package org.apache.geode.management.internal.beans;
 
 import java.util.ArrayList;
 import java.util.HashSet;
+import java.util.List;
 import java.util.Set;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
@@ -209,23 +210,34 @@ public class QueryDataFunction implements Function, 
InternalEntity {
*/
   protected static String applyLimitClause(final String query, int limit,
   final int queryResultSetLimit) {
+String[] lines = query.split(System.lineSeparator());
+List queryStrings = new ArrayList();
+for (String line : lines) {
+  // remove the comments
+  if (!line.startsWith("--") && line.length() > 0) {
+queryStrings.add(line);
+  }
+}
+if (queryStrings.isEmpty()) {
+  throw new IllegalArgumentException("invalid query: " + query);
+}
+
+String queryString = String.join(" ", queryStrings);
 
-Matcher matcher = SELECT_EXPR_PATTERN.matcher(query);
+Matcher matcher = SELECT_EXPR_PATTERN.matcher(queryString);
 
 if (matcher.matches()) {
-  Matcher limit_matcher = SELECT_WITH_LIMIT_EXPR_PATTERN.matcher(query);
+  Matcher limit_matcher = 
SELECT_WITH_LIMIT_EXPR_PATTERN.matcher(queryString);
   boolean queryAlreadyHasLimitClause = limit_matcher.matches();
 
   if (!queryAlreadyHasLimitClause) {
 if (limit == 0) {
   limit = queryResultSetLimit;
 }
-String result = query;
-result += " LIMIT " + limit;
-return result;
+return queryString + " LIMIT " + limit;
   }
 }
-return query;
+return queryString;
   }
 
 
diff --git 
a/geode-core/src/test/java/org/apache/geode/management/internal/beans/QueryDataFunctionApplyLimitClauseTest.java
 
b/geode-core/src/test/java/org/apache/geode/management/internal/beans/QueryDataFunctionApplyLimitClauseTest.java
index cf8e97b..8be3a8f 100644
--- 
a/geode-core/src/test/java/org/apache/geode/management/internal/beans/QueryDataFunctionApplyLimitClauseTest.java
+++ 
b/geode-core/src/test/java/org/apache/geode/management/internal/beans/QueryDataFunctionApplyLimitClauseTest.java
@@ -17,6 +17,7 @@
 package org.apache.geode.management.internal.beans;
 
 import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -74,4 +75,55 @@ public class QueryDataFunctionApplyLimitClauseTest {
 limit_0, 
queryResultSetLimit_100)).isEqualTo(selectQueryMissingSpaceAfterFromWithLimit);
   }
 
+  @Test
+  public void applyLimitClauseShouldTrimQuery() throws Exception {
+String query = selectQuery + System.lineSeparator();
+assertThat(QueryDataFunction.applyLimitClause(query, limit_10, 
queryResultSetLimit_100))
+.isEqualTo(selectQuery + " LIMIT " + limit_10);
+  }
+
+  @Test
+  public void applyLimitClauseShouldTrimQueryAndUseDefaultLimit() throws 
Exception {
+String query = selectQuery + System.lineSeparator();
+assertThat(QueryDataFunction.applyLimitClause(query, limit_0, 
queryResultSetLimit_100))
+.isEqualTo(selectQuery + " LIMIT " + queryResultSetLimit_100);
+  }
+
+  @Test
+  public void applyLimitClauseShouldIgnoreComments() throws Exception {
+String query = "--comment" + System.lineSeparator() + selectQuery + 
System.lineSeparator()
++ "--comment" + System.lineSeparator();
+assertThat(QueryDataFunction.applyLimitClause(query, limit_10, 
queryResultSetLimit_100))
+.isEqualTo(selectQuery + " LIMIT " + limit_10);
+  }
+
+  @Test
+  public void applyLimitShouldIgnoreNewLinesBetweenAndAfterQuery() throws 
Exception {
+String query = "select" + 

[geode] branch develop updated (df7b5b1 -> cc5fb5b)

2021-03-09 Thread burcham
This is an automated email from the ASF dual-hosted git repository.

burcham pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git.


from df7b5b1  GEODE-8761: detect stuck server connection threads (#6094)
 add cc5fb5b  GEODE-9012: turn off Github PR to Jira comment mirroring 
(#6103)

No new revisions were added by this update.

Summary of changes:
 .asf.yaml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)



[geode-native] branch master updated: Quoting our context list items, per INFRA-21546

2021-03-09 Thread rhoughton
This is an automated email from the ASF dual-hosted git repository.

rhoughton pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/geode-native.git


The following commit(s) were added to refs/heads/master by this push:
 new fe66f52  Quoting our context list items, per INFRA-21546
fe66f52 is described below

commit fe66f52c700a647662cdd10bbb97554072c3cc4c
Author: Robert Houghton 
AuthorDate: Tue Mar 9 10:45:10 2021 -0800

Quoting our context list items, per INFRA-21546
---
 .asf.yaml | 26 +-
 1 file changed, 13 insertions(+), 13 deletions(-)

diff --git a/.asf.yaml b/.asf.yaml
index 5bcd60f..a094cfd 100644
--- a/.asf.yaml
+++ b/.asf.yaml
@@ -37,19 +37,19 @@ github:
 strict: false
 # contexts are the names of checks that must pass
 contexts:
-- concourse-ci/build-rhel-7-debug
-- concourse-ci/build-rhel-8-debug
-- concourse-ci/build-ubuntu-16.04-debug
-- concourse-ci/build-ubuntu-18.04-debug
-- concourse-ci/build-ubuntu-20.04-debug
-- concourse-ci/build-windows-2016-vs-2017-debug
-# - concourse-ci/build-windows-2019-vs-2019-debug
-- concourse-ci/clang-format
-- concourse-ci/clang-tidy
-- concourse-ci/rat-check
-- LGTM analysis: C#
-- LGTM analysis: JavaScript
-- LGTM analysis: C/C++
+- "concourse-ci/build-rhel-7-debug"
+- "concourse-ci/build-rhel-8-debug"
+- "concourse-ci/build-ubuntu-16.04-debug"
+- "concourse-ci/build-ubuntu-18.04-debug"
+- "concourse-ci/build-ubuntu-20.04-debug"
+- "concourse-ci/build-windows-2016-vs-2017-debug"
+# - "concourse-ci/build-windows-2019-vs-2019-debug"
+- "concourse-ci/clang-format"
+- "concourse-ci/clang-tidy"
+- "concourse-ci/rat-check"
+- "LGTM analysis: C#"
+- "LGTM analysis: JavaScript"
+- "LGTM analysis: C/C++"
 
   required_pull_request_reviews:
 dismiss_stale_reviews: false



[geode] branch develop updated: GEODE-8761: detect stuck server connection threads (#6094)

2021-03-09 Thread dschneider
This is an automated email from the ASF dual-hosted git repository.

dschneider pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/develop by this push:
 new df7b5b1  GEODE-8761: detect stuck server connection threads (#6094)
df7b5b1 is described below

commit df7b5b167472d87d8d262515533e7c80d7306e67
Author: Darrel Schneider 
AuthorDate: Tue Mar 9 09:00:18 2021 -0800

GEODE-8761: detect stuck server connection threads (#6094)
---
 .../sockets/ServerConnectionIntegrationTest.java   | 20 +--
 .../cache/tier/sockets/ServerConnection.java   | 36 +++
 .../internal/monitoring/ThreadsMonitoring.java |  3 +-
 .../internal/monitoring/ThreadsMonitoringImpl.java |  3 ++
 .../executor/P2PReaderExecutorGroup.java   | 22 +---
 ...oup.java => ServerConnectionExecutorGroup.java} | 26 ++
 ...ExecutorGroup.java => SuspendableExecutor.java} | 10 ++
 .../tier/sockets/ServerConnectionFactoryTest.java  | 40 ++
 .../cache/tier/sockets/ServerConnectionTest.java   | 19 --
 .../monitoring/ThreadsMonitoringImplJUnitTest.java |  1 +
 .../monitoring/ThreadsMonitoringJUnitTest.java |  5 +--
 .../executor/P2PReaderExecutorGroupTest.java   | 25 --
 .../ServerConnectionExecutorGroupTest.java}| 29 
 ...GroupTest.java => SuspendableExecutorTest.java} | 14 
 .../OutputCapturingServerConnectionTest.java   |  9 +
 .../tier/sockets/ProtobufServerConnectionTest.java | 12 +--
 16 files changed, 151 insertions(+), 123 deletions(-)

diff --git 
a/geode-core/src/integrationTest/java/org/apache/geode/internal/cache/tier/sockets/ServerConnectionIntegrationTest.java
 
b/geode-core/src/integrationTest/java/org/apache/geode/internal/cache/tier/sockets/ServerConnectionIntegrationTest.java
index 48ea5e7..17e79c3 100644
--- 
a/geode-core/src/integrationTest/java/org/apache/geode/internal/cache/tier/sockets/ServerConnectionIntegrationTest.java
+++ 
b/geode-core/src/integrationTest/java/org/apache/geode/internal/cache/tier/sockets/ServerConnectionIntegrationTest.java
@@ -18,7 +18,7 @@ import static org.assertj.core.api.Assertions.assertThatCode;
 import static org.junit.Assert.fail;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
-import static org.mockito.quality.Strictness.STRICT_STUBS;
+import static org.mockito.quality.Strictness.LENIENT;
 
 import java.io.IOException;
 import java.net.InetAddress;
@@ -35,6 +35,8 @@ import org.junit.experimental.categories.Category;
 import org.mockito.junit.MockitoJUnit;
 import org.mockito.junit.MockitoRule;
 
+import org.apache.geode.distributed.internal.DistributionManager;
+import org.apache.geode.distributed.internal.InternalDistributedSystem;
 import 
org.apache.geode.distributed.internal.membership.InternalDistributedMember;
 import org.apache.geode.internal.cache.InternalCache;
 import org.apache.geode.internal.cache.TXManagerImpl;
@@ -43,6 +45,7 @@ import 
org.apache.geode.internal.cache.tier.CachedRegionHelper;
 import org.apache.geode.internal.cache.tier.CommunicationMode;
 import org.apache.geode.internal.cache.tier.MessageType;
 import org.apache.geode.internal.cache.tier.ServerSideHandshake;
+import org.apache.geode.internal.monitoring.ThreadsMonitoring;
 import org.apache.geode.internal.security.SecurityService;
 import org.apache.geode.internal.serialization.KnownVersion;
 import org.apache.geode.test.junit.categories.ClientServerTest;
@@ -51,11 +54,12 @@ import 
org.apache.geode.test.junit.categories.ClientServerTest;
 public class ServerConnectionIntegrationTest {
 
   @Rule
-  public MockitoRule mockitoRule = 
MockitoJUnit.rule().strictness(STRICT_STUBS);
+  public MockitoRule mockitoRule = MockitoJUnit.rule().strictness(LENIENT);
 
   private AcceptorImpl acceptor;
   private Socket socket;
   private InternalCache cache;
+  private CachedRegionHelper cachedRegionHelper;
   private SecurityService securityService;
   private CacheServerStats stats;
 
@@ -66,11 +70,21 @@ public class ServerConnectionIntegrationTest {
 acceptor = mock(AcceptorImpl.class);
 socket = mock(Socket.class);
 cache = mock(InternalCache.class);
+cachedRegionHelper = mock(CachedRegionHelper.class);
 securityService = mock(SecurityService.class);
 stats = mock(CacheServerStats.class);
 
 when(inetAddress.getHostAddress()).thenReturn("localhost");
 when(socket.getInetAddress()).thenReturn(inetAddress);
+
+InternalDistributedSystem internalDistributedSystem = 
mock(InternalDistributedSystem.class);
+DistributionManager distributionManager = mock(DistributionManager.class);
+ThreadsMonitoring threadsMonitoring = mock(ThreadsMonitoring.class);
+
+when(cachedRegionHelper.getCache()).thenReturn(cache);
+
when(cache.getInternalDistributedSystem()).thenReturn(internalDistributedSystem);
+

[geode] branch develop updated: GEODE-8972: remove shunnedMembers collection from GMSMembership (#6089)

2021-03-09 Thread bschuchardt
This is an automated email from the ASF dual-hosted git repository.

bschuchardt pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/develop by this push:
 new c2fc107  GEODE-8972: remove shunnedMembers collection from 
GMSMembership (#6089)
c2fc107 is described below

commit c2fc107bad1de221157072470e2a6ad426533f20
Author: Kamilla Aslami 
AuthorDate: Tue Mar 9 09:59:13 2021 -0600

GEODE-8972: remove shunnedMembers collection from GMSMembership (#6089)

* GEODE-8972: remove shunnedMembers collection from GMSMembership

* Changes after the code review
---
 .../internal/membership/api/Membership.java|   7 -
 .../internal/membership/gms/GMSMembership.java | 168 ++---
 2 files changed, 12 insertions(+), 163 deletions(-)

diff --git 
a/geode-membership/src/main/java/org/apache/geode/distributed/internal/membership/api/Membership.java
 
b/geode-membership/src/main/java/org/apache/geode/distributed/internal/membership/api/Membership.java
index 91583d2..dfaa045 100644
--- 
a/geode-membership/src/main/java/org/apache/geode/distributed/internal/membership/api/Membership.java
+++ 
b/geode-membership/src/main/java/org/apache/geode/distributed/internal/membership/api/Membership.java
@@ -243,13 +243,6 @@ public interface Membership {
*/
   Throwable getShutdownCause();
 
-  /**
-   * If this member is shunned, ensure that a warning is generated at least 
once.
-   *
-   * @param mbr the member that may be shunned
-   */
-  void warnShun(ID mbr);
-
   boolean addSurpriseMember(ID mbr);
 
   /**
diff --git 
a/geode-membership/src/main/java/org/apache/geode/distributed/internal/membership/gms/GMSMembership.java
 
b/geode-membership/src/main/java/org/apache/geode/distributed/internal/membership/gms/GMSMembership.java
index 3c05988..a119c02 100644
--- 
a/geode-membership/src/main/java/org/apache/geode/distributed/internal/membership/gms/GMSMembership.java
+++ 
b/geode-membership/src/main/java/org/apache/geode/distributed/internal/membership/gms/GMSMembership.java
@@ -258,19 +258,6 @@ public class GMSMembership 
implements Membership shunnedMembers = new ConcurrentHashMap<>();
-
-  /**
* Members that have sent a shutdown message. This is used to suppress 
suspect processing that
* otherwise becomes pretty aggressive when a member is shutting down.
*/
@@ -286,15 +273,6 @@ public class GMSMembership 
implements Membership shunnedAndWarnedMembers =
-  Collections.newSetFromMap(new ConcurrentHashMap<>());
-  /**
* The identities and birth-times of others that we have allowed into 
membership at the
* distributed system level, but have not yet appeared in a view.
* 
@@ -323,14 +301,6 @@ public class GMSMembership 
implements Membership suspectedMembers = new ConcurrentHashMap<>();
 
   /**
-   * Length of time, in seconds, that a member is retained in the zombie set
-   *
-   * @see #shunnedMembers
-   */
-  private static final int SHUNNED_SUNSET = Integer
-  .getInteger(GeodeGlossary.GEMFIRE_PREFIX + "shunned-member-timeout", 
300).intValue();
-
-  /**
* Set to true when the service should stop.
*/
   private volatile boolean shutdownInProgress = false;
@@ -442,14 +412,7 @@ public class GMSMembership 
implements Membership", m);
@@ -646,11 +609,10 @@ public class GMSMembership 
implements Membership 
implements Membership 
implements Membership 
implements Membership", m);
-  }
-
   /**
* Logic for processing a distribution message.
* 
@@ -874,9 +820,7 @@ public class GMSMembership 
implements Membership 
implements Membership", m);
   if (logger.isTraceEnabled()) {
 logger.trace("Membership: Ignoring message from shunned member 
<{}>:{}", m, msg);
   }
@@ -1427,14 +1371,6 @@ public class GMSMembership 
implements Membership 
implements Membership now) {
-  return true;
-}
-
-// Oh, it _is_ stale. Remove it while we're here.
-endShun(m);
-return false;
+final MembershipView view = latestView;
+return m.getVmViewId() <= view.getViewId() && !view.contains(m);
   }
 
   private boolean isShunnedOrNew(final ID m) {
+final MembershipView view = latestView;
+if (m.getVmViewId() <= view.getViewId() && view.contains(m)) {
+  return false;
+}
 latestViewReadLock.lock();
 try {
-  return shunnedMembers.containsKey(m) || isNew(m);
+  return isShunned(m) || isNew(m);
 } finally { // synchronized
   latestViewReadLock.unlock();
 }
@@ -1483,11 +1408,9 @@ public class GMSMembership 
implements Membership
-   * Unlike isShunned, this method will not cause expiry of a surprise member. 
That must be done
+   * This method will not cause expiry of a surprise member. That must be done
* during view processing.
* 
-   * Like isShunned, this method holds the view lock while executing
-   *
* Concurrency: protected by {@link #latestViewReadLock}
*
*