You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by kl...@apache.org on 2016/02/29 21:50:21 UTC
[13/19] incubator-geode git commit: GEODE-870: Rejecting of old view
GEODE-870: Rejecting of old view
Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/36eb11b0
Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/36eb11b0
Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/36eb11b0
Branch: refs/heads/feature/GEODE-953
Commit: 36eb11b0e7ba23666ea19b90226a020e3ed2f96d
Parents: 33c16ff
Author: Udo Kohlmeyer <uk...@pivotal.io>
Authored: Mon Feb 1 14:08:32 2016 +1100
Committer: Udo Kohlmeyer <uk...@pivotal.io>
Committed: Mon Feb 29 16:43:34 2016 +1100
----------------------------------------------------------------------
.../gms/messages/ViewRejectMessage.java | 96 ++++++++++++++++++++
.../membership/gms/membership/GMSJoinLeave.java | 10 +-
.../test/dunit/SerializableRunnable.java | 4 +-
3 files changed, 101 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/36eb11b0/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/messages/ViewRejectMessage.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/messages/ViewRejectMessage.java b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/messages/ViewRejectMessage.java
new file mode 100755
index 0000000..e5bf9e2
--- /dev/null
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/messages/ViewRejectMessage.java
@@ -0,0 +1,96 @@
+/*
+ * 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 com.gemstone.gemfire.distributed.internal.membership.gms.messages;
+
+import com.gemstone.gemfire.DataSerializer;
+import com.gemstone.gemfire.distributed.internal.DistributionManager;
+import com.gemstone.gemfire.distributed.internal.HighPriorityDistributionMessage;
+import com.gemstone.gemfire.distributed.internal.membership.InternalDistributedMember;
+import com.gemstone.gemfire.distributed.internal.membership.NetView;
+
+import java.io.DataInput;
+import java.io.DataOutput;
+import java.io.IOException;
+
+public class ViewRejectMessage extends HighPriorityDistributionMessage {
+
+ private int viewId;
+ private NetView rejectedView;
+ private String reason;
+
+ public ViewRejectMessage(InternalDistributedMember recipient, int viewId, NetView rejectedView, String reason) {
+ super();
+ setRecipient(recipient);
+ this.viewId = viewId;
+ this.rejectedView = rejectedView;
+ this.reason = reason;
+ }
+
+ public ViewRejectMessage() {
+ // no-arg constructor for serialization
+ }
+
+ public int getViewId() {
+ return viewId;
+ }
+
+ public NetView getRejectedView() {
+ return this.rejectedView;
+ }
+
+
+ @Override
+ public int getDSFID() {
+ // TODO Auto-generated method stub
+ return VIEW_REJECT_MESSAGE;
+ }
+
+ public String getReason() {
+ return reason;
+ }
+
+ @Override
+ public int getProcessorType() {
+ return 0;
+ }
+
+ @Override
+ public void process(DistributionManager dm) {
+ throw new IllegalStateException("this message is not intended to execute in a thread pool");
+ }
+
+ @Override
+ public void toData(DataOutput out) throws IOException {
+ super.toData(out);
+ out.writeInt(this.viewId);
+ DataSerializer.writeObject(this.rejectedView, out);
+ }
+
+ @Override
+ public void fromData(DataInput in) throws IOException, ClassNotFoundException {
+ super.fromData(in);
+ this.viewId = in.readInt();
+ this.rejectedView = DataSerializer.readObject(in);
+ }
+
+ @Override
+ public String toString() {
+ String s = getSender() == null? getRecipientsDescription() : ""+getSender();
+ return "ViewRejectMessage("+s+"; "+this.viewId+"; rejectedView="+this.rejectedView +")";
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/36eb11b0/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSJoinLeave.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSJoinLeave.java b/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSJoinLeave.java
index dcb2721..6fa9ddf 100755
--- a/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSJoinLeave.java
+++ b/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSJoinLeave.java
@@ -237,10 +237,6 @@ public class GMSJoinLeave implements JoinLeave, MessageHandler {
}
}
- Object getViewInstallationLock() {
- return viewInstallationLock;
- }
-
/**
* attempt to join the distributed system
* loop
@@ -346,7 +342,7 @@ public class GMSJoinLeave implements JoinLeave, MessageHandler {
/**
* send a join request and wait for a reply. Process the reply.
* This may throw a SystemConnectException or an AuthenticationFailedException
- *
+ *
* @return true if the attempt succeeded, false if it timed out
*/
@edu.umd.cs.findbugs.annotations.SuppressWarnings(value = "WA_NOT_IN_LOOP")
@@ -2231,8 +2227,8 @@ public class GMSJoinLeave implements JoinLeave, MessageHandler {
/**
* performs health checks on the collection of members, removing any that
* are found to be healthy
- *
- * @param mbrs
+ *
+ * @param suspects
*/
private void removeHealthyMembers(final Set<InternalDistributedMember> suspects) throws InterruptedException {
List<Callable<InternalDistributedMember>> checkers = new ArrayList<Callable<InternalDistributedMember>>(suspects.size());
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/36eb11b0/geode-core/src/test/java/com/gemstone/gemfire/test/dunit/SerializableRunnable.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/test/dunit/SerializableRunnable.java b/geode-core/src/test/java/com/gemstone/gemfire/test/dunit/SerializableRunnable.java
index 2e24cfd..4776775 100644
--- a/geode-core/src/test/java/com/gemstone/gemfire/test/dunit/SerializableRunnable.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/test/dunit/SerializableRunnable.java
@@ -49,7 +49,7 @@ import java.io.Serializable;
public abstract class SerializableRunnable implements SerializableRunnableIF {
private static final long serialVersionUID = 7584289978241650456L;
-
+
private String name;
protected Object[] args;
@@ -80,7 +80,7 @@ public abstract class SerializableRunnable implements SerializableRunnableIF {
public void setName(String newName) {
this.name = newName;
}
-
+
public String getName() {
return this.name;
}