[geode] branch feature/GEODE-9003 updated (850f8a2 -> b4c7749)
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)
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)
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)
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)
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
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)
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)
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} * *