You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by bs...@apache.org on 2019/12/06 23:29:53 UTC
[geode] branch feature/GEODE-7556 created (now 18d34a2)
This is an automated email from the ASF dual-hosted git repository.
bschuchardt pushed a change to branch feature/GEODE-7556
in repository https://gitbox.apache.org/repos/asf/geode.git.
at 18d34a2 remove dependency on GemFireIOException and make a concrete list of remaining exception dependencies
This branch includes the following new commits:
new b9478d1 removed use of InternalGemFireException
new d03166c removed dependency on ForcedDisconnectException - use MemberDisconnectException in gms classes
new 18d34a2 remove dependency on GemFireIOException and make a concrete list of remaining exception dependencies
The 3 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.
[geode] 01/03: removed use of InternalGemFireException
Posted by bs...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
bschuchardt pushed a commit to branch feature/GEODE-7556
in repository https://gitbox.apache.org/repos/asf/geode.git
commit b9478d12906cfd011343915a9805174b92d63aca
Author: Bruce Schuchardt <bs...@pivotal.io>
AuthorDate: Fri Dec 6 10:41:44 2019 -0800
removed use of InternalGemFireException
---
.../distributed/internal/DistributionImpl.java | 17 +++++++++-
.../internal/membership/gms/GMSMembership.java | 39 +++-------------------
.../gms/InternalMembershipException.java | 21 ++++++++++++
.../membership/gms/locator/GMSLocator.java | 10 +++---
.../membership/gms/messenger/JGroupsMessenger.java | 8 ++---
.../MembershipDependenciesJUnitTest.java | 1 -
6 files changed, 51 insertions(+), 45 deletions(-)
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionImpl.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionImpl.java
index 2950e4c..54886dc 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionImpl.java
@@ -34,6 +34,8 @@ import java.util.function.Supplier;
import org.apache.logging.log4j.Logger;
import org.apache.geode.CancelException;
+import org.apache.geode.GemFireConfigException;
+import org.apache.geode.SystemConnectException;
import org.apache.geode.SystemFailure;
import org.apache.geode.ToDataException;
import org.apache.geode.annotations.VisibleForTesting;
@@ -72,8 +74,10 @@ import org.apache.geode.internal.serialization.DeserializationContext;
import org.apache.geode.internal.serialization.SerializationContext;
import org.apache.geode.internal.serialization.Version;
import org.apache.geode.internal.tcp.ConnectExceptions;
+import org.apache.geode.internal.tcp.ConnectionException;
import org.apache.geode.internal.util.Breadcrumbs;
import org.apache.geode.logging.internal.executors.LoggingThread;
+import org.apache.geode.security.GemFireSecurityException;
public class DistributionImpl implements Distribution {
private static final Logger logger = Services.getLogger();
@@ -170,7 +174,18 @@ public class DistributionImpl implements Distribution {
@Override
public void start() {
- membership.start();
+ try {
+ membership.start();
+ } catch (ConnectionException e) {
+ throw new DistributionException(
+ "Unable to create membership manager",
+ e);
+ } catch (GemFireConfigException | SystemConnectException | GemFireSecurityException e) {
+ throw e;
+ } catch (RuntimeException e) {
+ Services.getLogger().error("Unexpected problem starting up membership services", e);
+ throw new SystemConnectException("Problem starting up membership services", e);
+ }
}
@VisibleForTesting
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/GMSMembership.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/GMSMembership.java
index 3665af1..5fe5197 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/GMSMembership.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/GMSMembership.java
@@ -43,14 +43,11 @@ import org.apache.logging.log4j.Logger;
import org.apache.geode.CancelException;
import org.apache.geode.ForcedDisconnectException;
import org.apache.geode.GemFireConfigException;
-import org.apache.geode.InternalGemFireError;
-import org.apache.geode.SystemConnectException;
import org.apache.geode.SystemFailure;
import org.apache.geode.annotations.internal.MakeNotStatic;
import org.apache.geode.distributed.DistributedMember;
import org.apache.geode.distributed.DistributedSystemDisconnectedException;
import org.apache.geode.distributed.internal.DistributionConfig;
-import org.apache.geode.distributed.internal.DistributionException;
import org.apache.geode.distributed.internal.StartupMessage;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.distributed.internal.membership.MembershipView;
@@ -66,11 +63,9 @@ import org.apache.geode.distributed.internal.membership.gms.api.MessageListener;
import org.apache.geode.distributed.internal.membership.gms.api.QuorumChecker;
import org.apache.geode.distributed.internal.membership.gms.interfaces.Manager;
import org.apache.geode.internal.serialization.Version;
-import org.apache.geode.internal.tcp.ConnectionException;
import org.apache.geode.internal.tcp.MemberShunnedException;
import org.apache.geode.logging.internal.executors.LoggingExecutors;
import org.apache.geode.logging.internal.executors.LoggingThread;
-import org.apache.geode.security.GemFireSecurityException;
public class GMSMembership implements Membership {
private static final Logger logger = Services.getLogger();
@@ -580,7 +575,6 @@ public class GMSMembership implements Membership {
* Joins the distributed system
*
* @throws GemFireConfigException - configuration error
- * @throws SystemConnectException - problem joining
*/
private void join() {
services.setShutdownCause(null);
@@ -603,16 +597,6 @@ public class GMSMembership implements Membership {
latestView = new MembershipView(initialView, initialView.getViewId());
latestView.makeUnmodifiable();
listener.viewInstalled(latestView);
-
- } catch (RuntimeException ex) {
- throw ex;
- } catch (Exception ex) {
- if (ex.getCause() != null && ex.getCause().getCause() instanceof SystemConnectException) {
- throw (SystemConnectException) (ex.getCause().getCause());
- }
- throw new DistributionException(
- "An Exception was thrown while attempting to join the distributed system.",
- ex);
} finally {
this.isJoining = false;
}
@@ -1088,11 +1072,9 @@ public class GMSMembership implements Membership {
processView(o.gmsView.getViewId(), o.gmsView);
} else if (o.isSurpriseConnect()) { // connect
processSurpriseConnect(o.member);
+ } else {
+ throw new IllegalArgumentException("unknown startup event: " + o);
}
-
- else // sanity
- throw new InternalGemFireError(
- String.format("unknown startup event: %s", o));
}
/**
@@ -1938,18 +1920,7 @@ public class GMSMembership implements Membership {
@Override
public void start() {
- try {
- services.start();
- } catch (ConnectionException e) {
- throw new DistributionException(
- "Unable to create membership manager",
- e);
- } catch (GemFireConfigException | SystemConnectException | GemFireSecurityException e) {
- throw e;
- } catch (RuntimeException e) {
- Services.getLogger().error("Unexpected problem starting up membership services", e);
- throw new SystemConnectException("Problem starting up membership services", e);
- }
+ services.start();
}
@Override
@@ -2172,8 +2143,8 @@ public class GMSMembership implements Membership {
listener.quorumLost(
gmsMemberCollectionToInternalDistributedMemberSet(failures),
remaining);
- } catch (CancelException e) {
- // safe to ignore - a forced disconnect probably occurred
+ } catch (Exception e) {
+ logger.info("Quorum-loss listener threw an exception", e);
}
}
}
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/InternalMembershipException.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/InternalMembershipException.java
new file mode 100644
index 0000000..8f89689
--- /dev/null
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/InternalMembershipException.java
@@ -0,0 +1,21 @@
+/*
+ * 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.distributed.internal.membership.gms;
+
+public class InternalMembershipException extends RuntimeException {
+ public InternalMembershipException(String s, Throwable e) {
+ super(s, e);
+ }
+}
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/locator/GMSLocator.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/locator/GMSLocator.java
index 50647e9..85ffe61 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/locator/GMSLocator.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/locator/GMSLocator.java
@@ -37,11 +37,11 @@ import java.util.concurrent.ConcurrentHashMap;
import org.apache.logging.log4j.Logger;
-import org.apache.geode.InternalGemFireException;
import org.apache.geode.annotations.VisibleForTesting;
import org.apache.geode.distributed.internal.LocatorStats;
import org.apache.geode.distributed.internal.membership.gms.GMSMembershipView;
import org.apache.geode.distributed.internal.membership.gms.GMSUtil;
+import org.apache.geode.distributed.internal.membership.gms.InternalMembershipException;
import org.apache.geode.distributed.internal.membership.gms.Services;
import org.apache.geode.distributed.internal.membership.gms.api.MemberIdentifier;
import org.apache.geode.distributed.internal.membership.gms.interfaces.Locator;
@@ -158,7 +158,7 @@ public class GMSLocator implements Locator {
return viewFile;
}
- public void init(String persistentFileIdentifier) throws InternalGemFireException {
+ public void init(String persistentFileIdentifier) {
if (viewFile == null) {
viewFile =
workingDirectory.resolve("locator" + persistentFileIdentifier + "view.dat").toFile();
@@ -379,7 +379,7 @@ public class GMSLocator implements Locator {
}
}
- private void recover() throws InternalGemFireException {
+ private void recover() {
if (!recoverFromOtherLocators()) {
recoverFromFile(viewFile);
}
@@ -413,7 +413,7 @@ public class GMSLocator implements Locator {
return false;
}
- boolean recoverFromFile(File file) throws InternalGemFireException {
+ boolean recoverFromFile(File file) {
if (!file.exists()) {
logger.info("recovery file not found: {}", file.getAbsolutePath());
return false;
@@ -466,7 +466,7 @@ public class GMSLocator implements Locator {
logger.warn("Peer locator was unable to recover from or delete {}", file);
viewFile = null;
}
- throw new InternalGemFireException(message, e);
+ throw new InternalMembershipException(message, e);
}
}
}
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/messenger/JGroupsMessenger.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/messenger/JGroupsMessenger.java
index 9a584af..fc2d346 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/messenger/JGroupsMessenger.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/messenger/JGroupsMessenger.java
@@ -69,8 +69,6 @@ import org.jgroups.util.UUID;
import org.apache.geode.ForcedDisconnectException;
import org.apache.geode.GemFireConfigException;
import org.apache.geode.GemFireIOException;
-import org.apache.geode.InternalGemFireError;
-import org.apache.geode.InternalGemFireException;
import org.apache.geode.SystemConnectException;
import org.apache.geode.alerting.internal.spi.AlertingAction;
import org.apache.geode.annotations.internal.MutableForTesting;
@@ -79,6 +77,7 @@ import org.apache.geode.distributed.internal.DistributionConfig;
import org.apache.geode.distributed.internal.membership.gms.GMSMemberData;
import org.apache.geode.distributed.internal.membership.gms.GMSMembershipView;
import org.apache.geode.distributed.internal.membership.gms.GMSUtil;
+import org.apache.geode.distributed.internal.membership.gms.InternalMembershipException;
import org.apache.geode.distributed.internal.membership.gms.Services;
import org.apache.geode.distributed.internal.membership.gms.api.MemberData;
import org.apache.geode.distributed.internal.membership.gms.api.MemberIdentifier;
@@ -102,6 +101,7 @@ import org.apache.geode.internal.serialization.Version;
import org.apache.geode.internal.serialization.VersionedDataInputStream;
import org.apache.geode.internal.tcp.MemberShunnedException;
+
@SuppressWarnings("StatementWithEmptyBody")
public class JGroupsMessenger implements Messenger {
@@ -192,7 +192,7 @@ public class JGroupsMessenger implements Messenger {
receiver.setAccessible(true);
receiver.set(channel, r);
} catch (NoSuchFieldException | IllegalAccessException e) {
- throw new InternalGemFireException("unable to establish a JGroups receiver", e);
+ throw new InternalMembershipException("unable to establish a JGroups receiver", e);
}
}
@@ -538,7 +538,7 @@ public class JGroupsMessenger implements Messenger {
ipaddr = (IpAddress) getAddress.invoke(udp, new Object[0]);
this.jgAddress = new JGAddress(logicalAddress, ipaddr);
} catch (NoSuchMethodException | InvocationTargetException | IllegalAccessException e) {
- throw new InternalGemFireError(
+ throw new InternalMembershipException(
"Unable to configure JGroups channel for membership communications", e);
}
}
diff --git a/geode-core/src/test/java/org/apache/geode/distributed/internal/membership/MembershipDependenciesJUnitTest.java b/geode-core/src/test/java/org/apache/geode/distributed/internal/membership/MembershipDependenciesJUnitTest.java
index a19712a..a9c6c6f 100644
--- a/geode-core/src/test/java/org/apache/geode/distributed/internal/membership/MembershipDependenciesJUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/distributed/internal/membership/MembershipDependenciesJUnitTest.java
@@ -111,7 +111,6 @@ public class MembershipDependenciesJUnitTest {
// TODO: Figure out what to do with exceptions
.or(assignableTo(GemFireException.class))
- .or(type(InternalGemFireError.class))
// TODO: Serialization needs to become its own module
.or(type(InternalDataSerializer.class)) // still used by GMSLocator
[geode] 02/03: removed dependency on ForcedDisconnectException -
use MemberDisconnectException in gms classes
Posted by bs...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
bschuchardt pushed a commit to branch feature/GEODE-7556
in repository https://gitbox.apache.org/repos/asf/geode.git
commit d03166c00c16b4f57f1347490d8ef356053a12b0
Author: Bruce Schuchardt <bs...@pivotal.io>
AuthorDate: Fri Dec 6 11:34:48 2019 -0800
removed dependency on ForcedDisconnectException - use MemberDisconnectException in gms classes
---
.../distributed/internal/DistributionImpl.java | 12 ++-
.../internal/membership/gms/GMSMembership.java | 7 +-
.../gms/InternalMembershipException.java | 6 ++
...ption.java => MemberDisconnectedException.java} | 13 ++-
.../internal/membership/gms/Services.java | 3 +-
.../membership/gms/messenger/JGroupsMessenger.java | 15 ++-
.../sanctioned-geode-core-serializables.txt | 114 +--------------------
.../MembershipDependenciesJUnitTest.java | 1 -
8 files changed, 40 insertions(+), 131 deletions(-)
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionImpl.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionImpl.java
index 54886dc..ea43ef1 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionImpl.java
@@ -34,6 +34,7 @@ import java.util.function.Supplier;
import org.apache.logging.log4j.Logger;
import org.apache.geode.CancelException;
+import org.apache.geode.ForcedDisconnectException;
import org.apache.geode.GemFireConfigException;
import org.apache.geode.SystemConnectException;
import org.apache.geode.SystemFailure;
@@ -52,6 +53,7 @@ import org.apache.geode.distributed.internal.membership.adapter.ServiceConfig;
import org.apache.geode.distributed.internal.membership.adapter.auth.GMSAuthenticator;
import org.apache.geode.distributed.internal.membership.gms.GMSMembership;
import org.apache.geode.distributed.internal.membership.gms.GMSMembershipView;
+import org.apache.geode.distributed.internal.membership.gms.MemberDisconnectedException;
import org.apache.geode.distributed.internal.membership.gms.Services;
import org.apache.geode.distributed.internal.membership.gms.api.LifecycleListener;
import org.apache.geode.distributed.internal.membership.gms.api.MemberIdentifier;
@@ -919,7 +921,15 @@ public class DistributionImpl implements Distribution {
}
@Override
- public boolean disconnect(Exception exception) {
+ public boolean disconnect(Exception cause) {
+ Exception exception = cause;
+ // translate into a ForcedDisconnectException if necessary
+ if (cause instanceof MemberDisconnectedException) {
+ exception = new ForcedDisconnectException(cause.getMessage());
+ if (cause.getCause() != null) {
+ exception.initCause(cause.getCause());
+ }
+ }
return distribution.disconnectDirectChannel(exception);
}
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/GMSMembership.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/GMSMembership.java
index 5fe5197..b61b086 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/GMSMembership.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/GMSMembership.java
@@ -41,7 +41,6 @@ import java.util.stream.Collectors;
import org.apache.logging.log4j.Logger;
import org.apache.geode.CancelException;
-import org.apache.geode.ForcedDisconnectException;
import org.apache.geode.GemFireConfigException;
import org.apache.geode.SystemFailure;
import org.apache.geode.annotations.internal.MakeNotStatic;
@@ -1348,7 +1347,7 @@ public class GMSMembership implements Membership {
Throwable cause = services.getShutdownCause();
// If ForcedDisconnectException occurred then report it as actual
// problem.
- if (cause instanceof ForcedDisconnectException) {
+ if (cause instanceof MemberDisconnectedException) {
problem = cause;
} else {
Throwable ne = problem;
@@ -2078,7 +2077,7 @@ public class GMSMembership implements Membership {
setShutdown();
- final Exception shutdownCause = new ForcedDisconnectException(reason);
+ final Exception shutdownCause = new MemberDisconnectedException(reason);
// cache the exception so it can be appended to ShutdownExceptions
services.setShutdownCause(shutdownCause);
@@ -2093,7 +2092,7 @@ public class GMSMembership implements Membership {
if (this.isReconnectingDS()) {
logger.info("Reconnecting system failed to connect");
uncleanShutdown(reason,
- new ForcedDisconnectException("reconnecting system failed to connect"));
+ new MemberDisconnectedException("reconnecting system failed to connect"));
return;
}
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/InternalMembershipException.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/InternalMembershipException.java
index 8f89689..9cc8477 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/InternalMembershipException.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/InternalMembershipException.java
@@ -14,7 +14,13 @@
*/
package org.apache.geode.distributed.internal.membership.gms;
+/**
+ * InternalMembershipException is a runtime exception that is thrown if something
+ * goes horribly wrong in membership services.
+ */
public class InternalMembershipException extends RuntimeException {
+ private static final long serialVersionUID = -6628379091114414599L;
+
public InternalMembershipException(String s, Throwable e) {
super(s, e);
}
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/InternalMembershipException.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/MemberDisconnectedException.java
similarity index 67%
copy from geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/InternalMembershipException.java
copy to geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/MemberDisconnectedException.java
index 8f89689..0397989 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/InternalMembershipException.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/MemberDisconnectedException.java
@@ -14,8 +14,15 @@
*/
package org.apache.geode.distributed.internal.membership.gms;
-public class InternalMembershipException extends RuntimeException {
- public InternalMembershipException(String s, Throwable e) {
- super(s, e);
+/**
+ * MemberDisconnectedException indicates that we've been kicked out of the cluster.
+ * Geode-core generally translates this into a ForcedDisconnectException, which is
+ * part of its public API.
+ */
+public class MemberDisconnectedException extends RuntimeException {
+ private static final long serialVersionUID = -3649273301807236514L;
+
+ public MemberDisconnectedException(String reason) {
+ super(reason);
}
}
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/Services.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/Services.java
index 7ee5bb5..e078adf 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/Services.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/Services.java
@@ -37,7 +37,6 @@ import java.util.Timer;
import org.apache.logging.log4j.Logger;
import org.apache.geode.CancelCriterion;
-import org.apache.geode.ForcedDisconnectException;
import org.apache.geode.annotations.VisibleForTesting;
import org.apache.geode.distributed.DistributedSystemDisconnectedException;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
@@ -366,7 +365,7 @@ public class Services {
}
public boolean isShutdownDueToForcedDisconnect() {
- return this.shutdownCause instanceof ForcedDisconnectException;
+ return this.shutdownCause instanceof MemberDisconnectedException;
}
public boolean isAutoReconnectEnabled() {
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/messenger/JGroupsMessenger.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/messenger/JGroupsMessenger.java
index fc2d346..f04816a 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/messenger/JGroupsMessenger.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/messenger/JGroupsMessenger.java
@@ -66,7 +66,6 @@ import org.jgroups.stack.IpAddress;
import org.jgroups.util.Digest;
import org.jgroups.util.UUID;
-import org.apache.geode.ForcedDisconnectException;
import org.apache.geode.GemFireConfigException;
import org.apache.geode.GemFireIOException;
import org.apache.geode.SystemConnectException;
@@ -78,6 +77,7 @@ import org.apache.geode.distributed.internal.membership.gms.GMSMemberData;
import org.apache.geode.distributed.internal.membership.gms.GMSMembershipView;
import org.apache.geode.distributed.internal.membership.gms.GMSUtil;
import org.apache.geode.distributed.internal.membership.gms.InternalMembershipException;
+import org.apache.geode.distributed.internal.membership.gms.MemberDisconnectedException;
import org.apache.geode.distributed.internal.membership.gms.Services;
import org.apache.geode.distributed.internal.membership.gms.api.MemberData;
import org.apache.geode.distributed.internal.membership.gms.api.MemberIdentifier;
@@ -727,7 +727,7 @@ public class JGroupsMessenger implements Messenger {
} catch (Exception e) {
logger.debug("caught unexpected exception", e);
Throwable cause = e.getCause();
- if (cause instanceof ForcedDisconnectException) {
+ if (cause instanceof MemberDisconnectedException) {
problem = (Exception) cause;
} else {
problem = e;
@@ -736,7 +736,7 @@ public class JGroupsMessenger implements Messenger {
Throwable shutdownCause = services.getShutdownCause();
// If ForcedDisconnectException occurred then report it as actual
// problem.
- if (shutdownCause instanceof ForcedDisconnectException) {
+ if (shutdownCause instanceof MemberDisconnectedException) {
problem = (Exception) shutdownCause;
} else {
Throwable ne = problem;
@@ -813,7 +813,7 @@ public class JGroupsMessenger implements Messenger {
if (cause != null) {
// If ForcedDisconnectException occurred then report it as actual
// problem.
- if (cause instanceof ForcedDisconnectException) {
+ if (cause instanceof MemberDisconnectedException) {
problem = (Exception) cause;
} else {
Throwable ne = problem;
@@ -869,7 +869,7 @@ public class JGroupsMessenger implements Messenger {
try {
long start = services.getStatistics().startMsgSerialization();
BufferDataOutputStream out_stream =
- new BufferDataOutputStream(Version.fromOrdinalNoThrow((short) version, false));
+ new BufferDataOutputStream(Version.fromOrdinalNoThrow(version, false));
Version.writeOrdinal(out_stream,
Version.getCurrentVersion().ordinal(), true);
if (encrypt != null) {
@@ -893,8 +893,7 @@ public class JGroupsMessenger implements Messenger {
}
} catch (Exception ex) {
logger.warn("Error serializing message", ex);
- GemFireIOException ioe = new GemFireIOException("Error serializing message");
- ioe.initCause(ex.getCause());
+ GemFireIOException ioe = new GemFireIOException("Error serializing message", ex.getCause());
throw ioe;
}
return msg;
@@ -934,7 +933,7 @@ public class JGroupsMessenger implements Messenger {
}
BufferDataOutputStream out_stream =
- new BufferDataOutputStream(Version.fromOrdinalNoThrow((short) version, false));
+ new BufferDataOutputStream(Version.fromOrdinalNoThrow(version, false));
byte[] messageBytes = serializeMessage(gfmsg, out_stream);
if (pkMbr != null) {
diff --git a/geode-core/src/main/resources/org/apache/geode/internal/sanctioned-geode-core-serializables.txt b/geode-core/src/main/resources/org/apache/geode/internal/sanctioned-geode-core-serializables.txt
index 80f480f..3370686 100644
--- a/geode-core/src/main/resources/org/apache/geode/internal/sanctioned-geode-core-serializables.txt
+++ b/geode-core/src/main/resources/org/apache/geode/internal/sanctioned-geode-core-serializables.txt
@@ -259,6 +259,8 @@ org/apache/geode/distributed/internal/deadlock/MessageDependencyMonitor$MessageK
org/apache/geode/distributed/internal/direct/ShunnedMemberException,true,-6455664684151074915
org/apache/geode/distributed/internal/locks/DistributedMemberLock$LockReentryPolicy,false
org/apache/geode/distributed/internal/locks/LockGrantorDestroyedException,true,-3540124531032570817
+org/apache/geode/distributed/internal/membership/gms/InternalMembershipException,true,-6628379091114414599
+org/apache/geode/distributed/internal/membership/gms/MemberDisconnectedException,true,-3649273301807236514
org/apache/geode/distributed/internal/membership/gms/membership/GMSJoinLeave$ViewAbandonedException,false
org/apache/geode/distributed/internal/membership/gms/messages/InstallViewMessage$messageType,false
org/apache/geode/internal/ConfigSource,true,-4097017272431018553,description:java/lang/String,type:org/apache/geode/internal/ConfigSource$Type
@@ -401,8 +403,6 @@ org/apache/geode/internal/process/signal/SignalType,false,description:java/lang/
org/apache/geode/internal/security/SecurableCommunicationChannel,false,constant:java/lang/String
org/apache/geode/internal/sequencelog/GraphType,false
org/apache/geode/internal/sequencelog/model/GraphID,false,graphName:java/lang/String,type:org/apache/geode/internal/sequencelog/GraphType
-org/apache/geode/internal/serialization/DSFIDNotFoundException,true,130596009484324655,dsfid:int,versionOrdinal:short
-org/apache/geode/internal/serialization/UnsupportedSerializationVersionException,true,3572445857994216007
org/apache/geode/internal/size/ReflectionObjectSizer,false
org/apache/geode/internal/size/SizeClassOnceObjectSizer,false
org/apache/geode/internal/statistics/CounterMonitor$Type,false
@@ -435,10 +435,6 @@ org/apache/geode/management/DependenciesNotFoundException,true,90823049292381598
org/apache/geode/management/JVMMetrics,false,committedMemory:long,gcCount:long,gcTimeMillis:long,initMemory:long,maxMemory:long,totalThreads:int,usedMemory:long
org/apache/geode/management/ManagementException,true,879398950879472121
org/apache/geode/management/OSMetrics,false,arch:java/lang/String,availableProcessors:int,committedVirtualMemorySize:long,freePhysicalMemorySize:long,freeSwapSpaceSize:long,maxFileDescriptorCount:long,name:java/lang/String,openFileDescriptorCount:long,processCpuTime:long,systemLoadAverage:double,totalPhysicalMemorySize:long,totalSwapSpaceSize:long,version:java/lang/String
-org/apache/geode/management/cli/CliFunction,false
-org/apache/geode/management/cli/CommandProcessingException,true,-1398779521639575884,errorData:java/lang/Object,errorType:int
-org/apache/geode/management/cli/CommandServiceException,true,7316102209844678329
-org/apache/geode/management/cli/Result$Status,false,code:int
org/apache/geode/management/internal/BackupStatusImpl,true,3704172840296221840,backedUpDiskStores:java/util/Map,offlineDiskStores:java/util/Set
org/apache/geode/management/internal/CacheElementOperation,false
org/apache/geode/management/internal/ContextAwareSSLRMIClientSocketFactory,true,8159615071011918570
@@ -450,112 +446,6 @@ org/apache/geode/management/internal/beans/FileUploader$RemoteFile,false,filenam
org/apache/geode/management/internal/beans/QueryDataFunction,true,1
org/apache/geode/management/internal/beans/QueryDataFunction$LocalQueryFunction,true,1,id:java/lang/String,optimizeForWrite:boolean,regionName:java/lang/String,showMembers:boolean,this$0:org/apache/geode/management/internal/beans/QueryDataFunction
org/apache/geode/management/internal/beans/stats/StatType,false
-org/apache/geode/management/internal/cli/AbstractCliAroundInterceptor$Response,false,text:java/lang/String
-org/apache/geode/management/internal/cli/CliUtil$DeflaterInflaterData,true,1104813333595216795,data:byte[],dataLength:int
-org/apache/geode/management/internal/cli/commands/CreateJndiBindingCommand$DATASOURCE_TYPE,false,type:java/lang/String
-org/apache/geode/management/internal/cli/commands/ImportClusterConfigurationCommand$Action,false
-org/apache/geode/management/internal/cli/domain/AsyncEventQueueDetails,true,1,batchSize:int,createdWithPausedEventProcessing:boolean,diskStoreName:java/lang/String,id:java/lang/String,listener:java/lang/String,listenerProperties:java/util/Properties,maxQueueMemory:int,pausedEventProcessing:boolean,persistent:boolean
-org/apache/geode/management/internal/cli/domain/DataCommandRequest,false,command:java/lang/String,key:java/lang/String,keyClass:java/lang/String,loadOnCacheMiss:boolean,principal:java/lang/Object,putIfAbsent:boolean,query:java/lang/String,recursive:boolean,regionName:java/lang/String,removeAllKeys:java/lang/String,value:java/lang/String,valueClass:java/lang/String
-org/apache/geode/management/internal/cli/domain/DataCommandResult,true,2601227194108110936,command:java/lang/String,error:java/lang/Throwable,errorString:java/lang/String,getResult:java/lang/Object,hasResultForAggregation:boolean,infoString:java/lang/String,inputKey:java/lang/Object,inputQuery:java/lang/Object,inputValue:java/lang/Object,keyClass:java/lang/String,limit:int,locateEntryLocations:java/util/List,locateEntryResult:org/apache/geode/management/internal/cli/domain/DataCommandRes [...]
-org/apache/geode/management/internal/cli/domain/DataCommandResult$KeyInfo,false,host:java/lang/String,locations:java/util/ArrayList,memberId:java/lang/String,memberName:java/lang/String,pid:int
-org/apache/geode/management/internal/cli/domain/DataCommandResult$SelectResultRow,true,1,columnValues:java/util/Map,type:int
-org/apache/geode/management/internal/cli/domain/DiskStoreDetails,false,allowForceCompaction:java/lang/Boolean,asyncEventQueueDetailsSet:java/util/Set,autoCompact:java/lang/Boolean,cacheServerDetailsSet:java/util/Set,compactionThreshold:java/lang/Integer,diskDirDetailsSet:java/util/Set,diskUsageCriticalPercentage:java/lang/Float,diskUsageWarningPercentage:java/lang/Float,gatewayDetailsSet:java/util/Set,id:java/util/UUID,maxOplogSize:java/lang/Long,memberId:java/lang/String,memberName:java [...]
-org/apache/geode/management/internal/cli/domain/DiskStoreDetails$AsyncEventQueueDetails,false,id:java/lang/String
-org/apache/geode/management/internal/cli/domain/DiskStoreDetails$CacheServerDetails,false,bindAddress:java/lang/String,hostName:java/lang/String,port:int
-org/apache/geode/management/internal/cli/domain/DiskStoreDetails$DiskDirDetails,false,absolutePath:java/lang/String,size:int
-org/apache/geode/management/internal/cli/domain/DiskStoreDetails$GatewayDetails,false,id:java/lang/String,persistent:boolean
-org/apache/geode/management/internal/cli/domain/DiskStoreDetails$RegionDetails,false,fullPath:java/lang/String,name:java/lang/String,overflowToDisk:boolean,persistent:boolean
-org/apache/geode/management/internal/cli/domain/EvictionAttributesInfo,true,1,evictionAction:java/lang/String,evictionAlgorithm:java/lang/String,evictionMaxValue:int,nonDefaultAttributes:java/util/Map
-org/apache/geode/management/internal/cli/domain/FixedPartitionAttributesInfo,true,1,isPrimary:boolean,numBuckets:int,partitionName:java/lang/String
-org/apache/geode/management/internal/cli/domain/IndexDetails,true,-2198907141534201288,fromClause:java/lang/String,indexName:java/lang/String,indexStatisticsDetails:org/apache/geode/management/internal/cli/domain/IndexDetails$IndexStatisticsDetails,indexType:org/apache/geode/cache/query/IndexType,indexedExpression:java/lang/String,isValid:boolean,memberId:java/lang/String,memberName:java/lang/String,projectionAttributes:java/lang/String,regionName:java/lang/String,regionPath:java/lang/String
-org/apache/geode/management/internal/cli/domain/IndexDetails$IndexStatisticsDetails,false,numberOfKeys:java/lang/Long,numberOfUpdates:java/lang/Long,numberOfValues:java/lang/Long,totalUpdateTime:java/lang/Long,totalUses:java/lang/Long
-org/apache/geode/management/internal/cli/domain/MemberConfigurationInfo,false,cacheAttributes:java/util/Map,cacheServerAttributes:java/util/List,gfePropsRuntime:java/util/Map,gfePropsSetFromFile:java/util/Map,gfePropsSetUsingApi:java/util/Map,gfePropsSetWithDefaults:java/util/Map,jvmInputArguments:java/util/List,pdxAttributes:java/util/Map,systemProperties:java/util/Properties
-org/apache/geode/management/internal/cli/domain/PartitionAttributesInfo,true,1,colocatedWith:java/lang/String,fpaInfoList:java/util/List,localMaxMemory:int,nonDefaultAttributes:java/util/Map,partitionResolverName:java/lang/String,recoveryDelay:long,redundantCopies:int,startupRecoveryDelay:long,totalNumBuckets:int
-org/apache/geode/management/internal/cli/domain/RegionAttributesInfo,true,336184564012988487,asyncEventQueueIDs:java/util/Set,cacheListenerClassNames:java/util/List,cacheLoaderClassName:java/lang/String,cacheWriterClassName:java/lang/String,cloningEnabled:boolean,compressorClassName:java/lang/String,concurrencyChecksEnabled:boolean,concurrencyLevel:int,customExpiryIdleTimeoutClass:java/lang/String,customExpiryTTLClass:java/lang/String,dataPolicy:org/apache/geode/cache/DataPolicy,diskStor [...]
-org/apache/geode/management/internal/cli/domain/RegionDescription,true,6461449275798378332,cndEvictionAttributes:java/util/Map,cndPartitionAttributes:java/util/Map,cndRegionAttributes:java/util/Map,dataPolicy:org/apache/geode/cache/DataPolicy,isAccessor:boolean,isLocal:boolean,isPartition:boolean,isPersistent:boolean,isReplicate:boolean,name:java/lang/String,regionDescPerMemberMap:java/util/Map,scope:org/apache/geode/cache/Scope
-org/apache/geode/management/internal/cli/domain/RegionDescriptionPerMember,true,1,hostingMember:java/lang/String,isAccessor:boolean,name:java/lang/String,regionAttributesInfo:org/apache/geode/management/internal/cli/domain/RegionAttributesInfo,size:int
-org/apache/geode/management/internal/cli/domain/RegionInformation,true,1,dataPolicy:org/apache/geode/cache/DataPolicy,isRoot:boolean,name:java/lang/String,parentRegion:java/lang/String,path:java/lang/String,scope:org/apache/geode/cache/Scope,subRegionInformationSet:java/util/Set
-org/apache/geode/management/internal/cli/domain/StackTracesPerMember,true,1,memberNameOrId:java/lang/String,stackTraces:byte[],timestamp:java/time/Instant
-org/apache/geode/management/internal/cli/functions/AlterQueryServiceFunction,true,7155576168386556341
-org/apache/geode/management/internal/cli/functions/AlterRuntimeConfigFunction,true,1
-org/apache/geode/management/internal/cli/functions/AsyncEventQueueFunctionArgs,true,-6524494645663740872,asyncEventQueueId:java/lang/String,batchSize:int,batchTimeInterval:int,diskStoreName:java/lang/String,diskSynchronous:boolean,dispatcherThreads:int,enableBatchConflation:boolean,forwardExpirationDestroy:boolean,gatewayEventFilters:java/lang/String[],gatewaySubstitutionFilter:java/lang/String,isParallel:boolean,listenerClassName:java/lang/String,listenerProperties:java/util/Properties, [...]
-org/apache/geode/management/internal/cli/functions/ChangeLogLevelFunction,true,1
-org/apache/geode/management/internal/cli/functions/CloseDurableClientFunction,true,1
-org/apache/geode/management/internal/cli/functions/CloseDurableCqFunction,true,1
-org/apache/geode/management/internal/cli/functions/ContinuousQueryFunction,true,1
-org/apache/geode/management/internal/cli/functions/ContinuousQueryFunction$ClientInfo,true,1,isDurable:java/lang/String,primaryServer:java/lang/String,secondaryServer:java/lang/String,this$0:org/apache/geode/management/internal/cli/functions/ContinuousQueryFunction
-org/apache/geode/management/internal/cli/functions/CreateAsyncEventQueueFunction,true,1
-org/apache/geode/management/internal/cli/functions/CreateDefinedIndexesFunction,true,6756381106602823693
-org/apache/geode/management/internal/cli/functions/CreateDiskStoreFunction,true,1
-org/apache/geode/management/internal/cli/functions/CreateIndexFunction,true,1
-org/apache/geode/management/internal/cli/functions/CreateJndiBindingFunction,false
-org/apache/geode/management/internal/cli/functions/CreateRegionFunctionArgs,false,config:org/apache/geode/cache/configuration/RegionConfig,ifNotExists:boolean,regionPath:java/lang/String
-org/apache/geode/management/internal/cli/functions/DataCommandFunction,true,1,optimizeForWrite:boolean
-org/apache/geode/management/internal/cli/functions/DeployFunction,true,1
-org/apache/geode/management/internal/cli/functions/DescribeDiskStoreFunction,false
-org/apache/geode/management/internal/cli/functions/DescribeQueryServiceFunction,true,8283480284191516847
-org/apache/geode/management/internal/cli/functions/DestroyAsyncEventQueueFunction,true,-7754359270344102817
-org/apache/geode/management/internal/cli/functions/DestroyAsyncEventQueueFunctionArgs,true,1755045410754561928,id:java/lang/String,ifExists:boolean
-org/apache/geode/management/internal/cli/functions/DestroyDiskStoreFunction,true,1
-org/apache/geode/management/internal/cli/functions/DestroyDiskStoreFunctionArgs,true,2296397958405313306,id:java/lang/String,ifExists:boolean
-org/apache/geode/management/internal/cli/functions/DestroyGatewayReceiverFunction,true,1490927519860899562
-org/apache/geode/management/internal/cli/functions/DestroyIndexFunction,true,-868082551095130315
-org/apache/geode/management/internal/cli/functions/DestroyJndiBindingFunction,false
-org/apache/geode/management/internal/cli/functions/ExportConfigFunction,true,1
-org/apache/geode/management/internal/cli/functions/ExportDataFunction,true,1
-org/apache/geode/management/internal/cli/functions/ExportLogsFunction,true,1
-org/apache/geode/management/internal/cli/functions/ExportLogsFunction$Args,false,endTime:java/time/LocalDateTime,includeLogs:boolean,includeStats:boolean,logLevel:org/apache/logging/log4j/Level,startTime:java/time/LocalDateTime,thisLogLevelOnly:boolean
-org/apache/geode/management/internal/cli/functions/FetchRegionAttributesFunction,true,4366812590788342070
-org/apache/geode/management/internal/cli/functions/FetchSharedConfigurationStatusFunction,true,1
-org/apache/geode/management/internal/cli/functions/GarbageCollectionFunction,true,1
-org/apache/geode/management/internal/cli/functions/GatewayReceiverCreateFunction,true,8746830191680509335
-org/apache/geode/management/internal/cli/functions/GatewaySenderCreateFunction,true,8746830191680509335
-org/apache/geode/management/internal/cli/functions/GatewaySenderDestroyFunction,true,1
-org/apache/geode/management/internal/cli/functions/GatewaySenderDestroyFunctionArgs,true,3848480256348119530,id:java/lang/String,ifExists:boolean
-org/apache/geode/management/internal/cli/functions/GatewaySenderFunctionArgs,true,4636678328980816780,alertThreshold:java/lang/Integer,batchSize:java/lang/Integer,batchTimeInterval:java/lang/Integer,diskStoreName:java/lang/String,diskSynchronous:java/lang/Boolean,dispatcherThreads:java/lang/Integer,enableBatchConflation:java/lang/Boolean,enablePersistence:java/lang/Boolean,gatewayEventFilters:java/util/List,gatewayTransportFilters:java/util/List,id:java/lang/String,manualStart:java/lang/ [...]
-org/apache/geode/management/internal/cli/functions/GetMemberConfigInformationFunction,true,1
-org/apache/geode/management/internal/cli/functions/GetRegionDescriptionFunction,true,1
-org/apache/geode/management/internal/cli/functions/GetRegionsFunction,true,1
-org/apache/geode/management/internal/cli/functions/GetStackTracesFunction,true,1
-org/apache/geode/management/internal/cli/functions/GetSubscriptionQueueSizeFunction,true,1
-org/apache/geode/management/internal/cli/functions/ImportDataFunction,true,1
-org/apache/geode/management/internal/cli/functions/ListAsyncEventQueuesFunction,true,1
-org/apache/geode/management/internal/cli/functions/ListDeployedFunction,true,1
-org/apache/geode/management/internal/cli/functions/ListDiskStoresFunction,false
-org/apache/geode/management/internal/cli/functions/ListDurableCqNamesFunction,true,1
-org/apache/geode/management/internal/cli/functions/ListFunctionFunction,true,1
-org/apache/geode/management/internal/cli/functions/ListIndexFunction,false
-org/apache/geode/management/internal/cli/functions/ListJndiBindingFunction,true,5254506785395069200
-org/apache/geode/management/internal/cli/functions/NetstatFunction,true,1
-org/apache/geode/management/internal/cli/functions/NetstatFunction$NetstatFunctionArgument,true,1,lineSeparator:java/lang/String,withlsof:boolean
-org/apache/geode/management/internal/cli/functions/NetstatFunction$NetstatFunctionResult,true,1,compressedBytes:org/apache/geode/management/internal/cli/CliUtil$DeflaterInflaterData,headerInfo:java/lang/String,host:java/lang/String
-org/apache/geode/management/internal/cli/functions/RegionAlterFunction,true,-4846425364943216425
-org/apache/geode/management/internal/cli/functions/RegionAttributesWrapper,true,-5517424520268271436,cacheListenerClasses:java/util/List,cacheLoaderClass:org/apache/geode/management/configuration/ClassName,cacheWriterClass:org/apache/geode/management/configuration/ClassName,compressorClass:java/lang/String,keyConstraintClass:java/lang/String,regionAttributes:org/apache/geode/cache/RegionAttributes,valueConstraintClass:java/lang/String
-org/apache/geode/management/internal/cli/functions/RegionCreateFunction,true,8746830191680509335
-org/apache/geode/management/internal/cli/functions/RegionDestroyFunction,true,9172773671865750685
-org/apache/geode/management/internal/cli/functions/RegionFunctionArgs,true,2204943186081037302,asyncEventQueueIds:java/util/Set,cacheListeners:java/util/Set,cacheLoader:org/apache/geode/management/configuration/ClassName,cacheWriter:org/apache/geode/management/configuration/ClassName,cloningEnabled:java/lang/Boolean,compressor:java/lang/String,concurrencyChecksEnabled:java/lang/Boolean,concurrencyLevel:java/lang/Integer,diskStore:java/lang/String,diskSynchronous:java/lang/Boolean,enableA [...]
-org/apache/geode/management/internal/cli/functions/RegionFunctionArgs$EvictionAttrs,true,9015454906371076014,evictionAction:java/lang/String,maxEntryCount:java/lang/Integer,maxMemory:java/lang/Integer,objectSizer:java/lang/String
-org/apache/geode/management/internal/cli/functions/RegionFunctionArgs$ExpirationAttrs,true,1474255033398008063,action:org/apache/geode/cache/ExpirationAction,time:java/lang/Integer
-org/apache/geode/management/internal/cli/functions/RegionFunctionArgs$PartitionArgs,true,5907052187323280919,partitionResolver:java/lang/String,prColocatedWith:java/lang/String,prLocalMaxMemory:java/lang/Integer,prRecoveryDelay:java/lang/Long,prRedundantCopies:java/lang/Integer,prStartupRecoveryDelay:java/lang/Long,prTotalMaxMemory:java/lang/Long,prTotalNumBuckets:java/lang/Integer
-org/apache/geode/management/internal/cli/functions/ResumeAsyncEventQueueDispatcherFunction,false
-org/apache/geode/management/internal/cli/functions/ShowMissingDiskStoresFunction,false
-org/apache/geode/management/internal/cli/functions/ShutDownFunction,true,1
-org/apache/geode/management/internal/cli/functions/SizeExportLogsFunction,true,1
-org/apache/geode/management/internal/cli/functions/UndeployFunction,true,1
-org/apache/geode/management/internal/cli/functions/UnregisterFunction,true,1
-org/apache/geode/management/internal/cli/functions/UserFunctionExecution,true,1
-org/apache/geode/management/internal/cli/result/CommandResultException,true,1,result:org/apache/geode/management/cli/Result
-org/apache/geode/management/internal/cli/result/TableBuilder$Align,false
-org/apache/geode/management/internal/cli/result/TableBuilderHelper$TooManyColumnsException,false
-org/apache/geode/management/internal/cli/shell/JMXConnectionException,true,3872374016604940917,exceptionType:int
-org/apache/geode/management/internal/cli/shell/JMXInvocationException,true,-4265451314790394366
-org/apache/geode/management/internal/cli/shell/jline/ANSIHandler$ANSIStyle,false
-org/apache/geode/management/internal/cli/util/EvictionAttributesInfo,true,1,evictionAction:java/lang/String,evictionAlgorithm:java/lang/String,evictionMaxValue:int
-org/apache/geode/management/internal/cli/util/ExportLogsCacheWriter,false,currentFile:java/nio/file/Path,currentOutputStream:java/io/BufferedOutputStream,isEmpty:boolean
-org/apache/geode/management/internal/cli/util/FixedPartitionAttributesInfo,false,isPrimary:boolean,numBuckets:int,partitionName:java/lang/String
-org/apache/geode/management/internal/cli/util/JConsoleNotFoundException,true,-1485615321440327206
-org/apache/geode/management/internal/cli/util/LogFilter$LineFilterResult,false
-org/apache/geode/management/internal/cli/util/VisualVmNotFoundException,true,-8491645604829510102
org/apache/geode/management/internal/configuration/domain/SharedConfigurationStatus,false
org/apache/geode/management/internal/configuration/functions/DownloadJarFunction,true,1
org/apache/geode/management/internal/configuration/functions/GetClusterConfigurationFunction,false
diff --git a/geode-core/src/test/java/org/apache/geode/distributed/internal/membership/MembershipDependenciesJUnitTest.java b/geode-core/src/test/java/org/apache/geode/distributed/internal/membership/MembershipDependenciesJUnitTest.java
index a9c6c6f..7010767 100644
--- a/geode-core/src/test/java/org/apache/geode/distributed/internal/membership/MembershipDependenciesJUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/distributed/internal/membership/MembershipDependenciesJUnitTest.java
@@ -31,7 +31,6 @@ import org.junit.runner.RunWith;
import org.apache.geode.CancelCriterion;
import org.apache.geode.GemFireException;
-import org.apache.geode.InternalGemFireError;
import org.apache.geode.alerting.internal.spi.AlertingAction;
import org.apache.geode.distributed.DistributedMember;
import org.apache.geode.distributed.Locator;
[geode] 03/03: remove dependency on GemFireIOException and make a
concrete list of remaining exception dependencies
Posted by bs...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
bschuchardt pushed a commit to branch feature/GEODE-7556
in repository https://gitbox.apache.org/repos/asf/geode.git
commit 18d34a2f810cc6cea9e654a80c4aeb33c781f847
Author: Bruce Schuchardt <bs...@pivotal.io>
AuthorDate: Fri Dec 6 15:28:52 2019 -0800
remove dependency on GemFireIOException and make a concrete list of remaining exception dependencies
---
.../gms/messenger/JGroupsMessengerJUnitTest.java | 14 +++++------
.../membership/gms/MembershipIOException.java | 27 ++++++++++++++++++++++
.../membership/gms/messenger/JGroupsMessenger.java | 15 ++++++------
.../sanctioned-geode-core-serializables.txt | 1 +
.../MembershipDependenciesJUnitTest.java | 18 +++++++++++++--
5 files changed, 59 insertions(+), 16 deletions(-)
diff --git a/geode-core/src/integrationTest/java/org/apache/geode/distributed/internal/membership/gms/messenger/JGroupsMessengerJUnitTest.java b/geode-core/src/integrationTest/java/org/apache/geode/distributed/internal/membership/gms/messenger/JGroupsMessengerJUnitTest.java
index 351b248..d2b7bfc 100755
--- a/geode-core/src/integrationTest/java/org/apache/geode/distributed/internal/membership/gms/messenger/JGroupsMessengerJUnitTest.java
+++ b/geode-core/src/integrationTest/java/org/apache/geode/distributed/internal/membership/gms/messenger/JGroupsMessengerJUnitTest.java
@@ -67,7 +67,6 @@ import org.junit.Test;
import org.junit.experimental.categories.Category;
import org.apache.geode.ForcedDisconnectException;
-import org.apache.geode.GemFireIOException;
import org.apache.geode.SerializationException;
import org.apache.geode.distributed.ConfigurationProperties;
import org.apache.geode.distributed.DistributedSystemDisconnectedException;
@@ -77,6 +76,7 @@ import org.apache.geode.distributed.internal.membership.InternalDistributedMembe
import org.apache.geode.distributed.internal.membership.adapter.ServiceConfig;
import org.apache.geode.distributed.internal.membership.gms.GMSMembershipView;
import org.apache.geode.distributed.internal.membership.gms.MemberIdentifierFactoryImpl;
+import org.apache.geode.distributed.internal.membership.gms.MembershipIOException;
import org.apache.geode.distributed.internal.membership.gms.Services;
import org.apache.geode.distributed.internal.membership.gms.Services.Stopper;
import org.apache.geode.distributed.internal.membership.gms.api.MemberIdentifier;
@@ -289,14 +289,14 @@ public class JGroupsMessengerJUnitTest {
when(msg.getDSFID()).thenReturn((int) DataSerializableFixedID.HEARTBEAT_RESPONSE);
// for code coverage we need to test with both a SerializationException and
- // an IOException. The former is wrapped in a GemfireIOException while the
+ // an IOException. The former is wrapped in a MembershipIOException while the
// latter is not
doThrow(new SerializationException("")).when(msg).toData(any(DataOutput.class),
any(SerializationContext.class));
try {
messenger.send(msg);
fail("expected a failure");
- } catch (GemFireIOException e) {
+ } catch (MembershipIOException e) {
// success
}
if (enableMcast) {
@@ -307,7 +307,7 @@ public class JGroupsMessengerJUnitTest {
try {
messenger.send(msg);
fail("expected a failure");
- } catch (GemFireIOException e) {
+ } catch (MembershipIOException e) {
// success
}
}
@@ -432,7 +432,7 @@ public class JGroupsMessengerJUnitTest {
interceptor.collectMessages = true;
try {
messenger.sendUnreliably(msg);
- } catch (GemFireIOException e) {
+ } catch (MembershipIOException e) {
fail("expected success");
}
if (enableMcast) {
@@ -943,8 +943,8 @@ public class JGroupsMessengerJUnitTest {
MemberIdentifier mbr = createAddress(1234);
messenger.scheduledMcastSeqnos.put(mbr, new JGroupsMessenger.MessageTracker(30));
messenger.waitForMessageState(mbr, state);
- fail("expected a GemFireIOException to be thrown");
- } catch (GemFireIOException e) {
+ fail("expected a MembershipIOException to be thrown");
+ } catch (MembershipIOException e) {
// pass
}
}
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/MembershipIOException.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/MembershipIOException.java
new file mode 100644
index 0000000..29a9b0d
--- /dev/null
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/MembershipIOException.java
@@ -0,0 +1,27 @@
+/*
+ * 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.distributed.internal.membership.gms;
+
+public class MembershipIOException extends RuntimeException {
+ private static final long serialVersionUID = -4952945536387123344L;
+
+ public MembershipIOException(String message) {
+ super(message);
+ }
+
+ public MembershipIOException(String message, Throwable cause) {
+ super(message, cause);
+ }
+}
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/messenger/JGroupsMessenger.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/messenger/JGroupsMessenger.java
index f04816a..0ea55fa 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/messenger/JGroupsMessenger.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/messenger/JGroupsMessenger.java
@@ -67,7 +67,6 @@ import org.jgroups.util.Digest;
import org.jgroups.util.UUID;
import org.apache.geode.GemFireConfigException;
-import org.apache.geode.GemFireIOException;
import org.apache.geode.SystemConnectException;
import org.apache.geode.alerting.internal.spi.AlertingAction;
import org.apache.geode.annotations.internal.MutableForTesting;
@@ -78,6 +77,7 @@ import org.apache.geode.distributed.internal.membership.gms.GMSMembershipView;
import org.apache.geode.distributed.internal.membership.gms.GMSUtil;
import org.apache.geode.distributed.internal.membership.gms.InternalMembershipException;
import org.apache.geode.distributed.internal.membership.gms.MemberDisconnectedException;
+import org.apache.geode.distributed.internal.membership.gms.MembershipIOException;
import org.apache.geode.distributed.internal.membership.gms.Services;
import org.apache.geode.distributed.internal.membership.gms.api.MemberData;
import org.apache.geode.distributed.internal.membership.gms.api.MemberIdentifier;
@@ -656,7 +656,7 @@ public class JGroupsMessenger implements Messenger {
Long.toString((warnTime - startTime) / 1000L), sender, received, seqno);
}
if (now >= quitTime) {
- throw new GemFireIOException("Multicast operations from " + sender
+ throw new InterruptedException("Multicast operations from " + sender
+ " did not distribute within " + (now - startTime) + " milliseconds");
}
Thread.sleep(50);
@@ -882,18 +882,19 @@ public class JGroupsMessenger implements Messenger {
msg.setBuffer(out_stream.toByteArray());
services.getStatistics().endMsgSerialization(start);
- } catch (IOException | GemFireIOException ex) {
+ } catch (IOException | MembershipIOException ex) {
logger.warn("Error serializing message", ex);
- if (ex instanceof GemFireIOException) {
- throw (GemFireIOException) ex;
+ if (ex instanceof MembershipIOException) {
+ throw (MembershipIOException) ex;
} else {
- GemFireIOException ioe = new GemFireIOException("Error serializing message");
+ MembershipIOException ioe = new MembershipIOException("Error serializing message");
ioe.initCause(ex);
throw ioe;
}
} catch (Exception ex) {
logger.warn("Error serializing message", ex);
- GemFireIOException ioe = new GemFireIOException("Error serializing message", ex.getCause());
+ MembershipIOException ioe =
+ new MembershipIOException("Error serializing message", ex.getCause());
throw ioe;
}
return msg;
diff --git a/geode-core/src/main/resources/org/apache/geode/internal/sanctioned-geode-core-serializables.txt b/geode-core/src/main/resources/org/apache/geode/internal/sanctioned-geode-core-serializables.txt
index 3370686..cbff922 100644
--- a/geode-core/src/main/resources/org/apache/geode/internal/sanctioned-geode-core-serializables.txt
+++ b/geode-core/src/main/resources/org/apache/geode/internal/sanctioned-geode-core-serializables.txt
@@ -261,6 +261,7 @@ org/apache/geode/distributed/internal/locks/DistributedMemberLock$LockReentryPol
org/apache/geode/distributed/internal/locks/LockGrantorDestroyedException,true,-3540124531032570817
org/apache/geode/distributed/internal/membership/gms/InternalMembershipException,true,-6628379091114414599
org/apache/geode/distributed/internal/membership/gms/MemberDisconnectedException,true,-3649273301807236514
+org/apache/geode/distributed/internal/membership/gms/MembershipIOException,true,-4952945536387123344
org/apache/geode/distributed/internal/membership/gms/membership/GMSJoinLeave$ViewAbandonedException,false
org/apache/geode/distributed/internal/membership/gms/messages/InstallViewMessage$messageType,false
org/apache/geode/internal/ConfigSource,true,-4097017272431018553,description:java/lang/String,type:org/apache/geode/internal/ConfigSource$Type
diff --git a/geode-core/src/test/java/org/apache/geode/distributed/internal/membership/MembershipDependenciesJUnitTest.java b/geode-core/src/test/java/org/apache/geode/distributed/internal/membership/MembershipDependenciesJUnitTest.java
index 7010767..1e9975b 100644
--- a/geode-core/src/test/java/org/apache/geode/distributed/internal/membership/MembershipDependenciesJUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/distributed/internal/membership/MembershipDependenciesJUnitTest.java
@@ -30,10 +30,14 @@ import com.tngtech.archunit.lang.ArchRule;
import org.junit.runner.RunWith;
import org.apache.geode.CancelCriterion;
-import org.apache.geode.GemFireException;
+import org.apache.geode.CancelException;
+import org.apache.geode.GemFireConfigException;
+import org.apache.geode.SystemConnectException;
import org.apache.geode.alerting.internal.spi.AlertingAction;
import org.apache.geode.distributed.DistributedMember;
+import org.apache.geode.distributed.DistributedSystemDisconnectedException;
import org.apache.geode.distributed.Locator;
+import org.apache.geode.distributed.internal.DistributionException;
import org.apache.geode.distributed.internal.LocatorStats;
import org.apache.geode.distributed.internal.membership.adapter.LocalViewMessage;
import org.apache.geode.distributed.internal.tcpserver.ConnectionWatcher;
@@ -46,7 +50,10 @@ import org.apache.geode.internal.concurrent.ConcurrentHashSet;
import org.apache.geode.internal.net.SocketCreator;
import org.apache.geode.internal.net.SocketCreatorFactory;
import org.apache.geode.internal.security.SecurableCommunicationChannel;
+import org.apache.geode.internal.tcp.MemberShunnedException;
import org.apache.geode.internal.util.JavaWorkarounds;
+import org.apache.geode.security.AuthenticationRequiredException;
+import org.apache.geode.security.GemFireSecurityException;
@RunWith(ArchUnitRunner.class)
@AnalyzeClasses(packages = "org.apache.geode.distributed.internal.membership.gms..",
@@ -109,7 +116,14 @@ public class MembershipDependenciesJUnitTest {
.or(type(LocatorStats.class))
// TODO: Figure out what to do with exceptions
- .or(assignableTo(GemFireException.class))
+ .or(type(AuthenticationRequiredException.class))
+ .or(type(CancelException.class))
+ .or(type(DistributionException.class))
+ .or(type(DistributedSystemDisconnectedException.class))
+ .or(type(GemFireSecurityException.class))
+ .or(type(GemFireConfigException.class))
+ .or(type(MemberShunnedException.class))
+ .or(type(SystemConnectException.class))
// TODO: Serialization needs to become its own module
.or(type(InternalDataSerializer.class)) // still used by GMSLocator