[1/2] cassandra git commit: Improve handling of dead nodes in gossip

2015-11-04 Thread aleksey
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.2 b4b268407 -> 5a2d52984


Improve handling of dead nodes in gossip

patch by Dikang Gu; reviewed by Stefania Alborghetti for CASSANDRA-10298


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/b6015fa4
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/b6015fa4
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/b6015fa4

Branch: refs/heads/cassandra-2.2
Commit: b6015fa4883182531d66527780fce34c9b125e46
Parents: dc73c0b
Author: Dikang Gu 
Authored: Wed Nov 4 13:50:33 2015 +
Committer: Aleksey Yeschenko 
Committed: Wed Nov 4 13:56:42 2015 +

--
 CHANGES.txt  |  1 +
 .../apache/cassandra/db/HintedHandOffManager.java|  4 
 .../org/apache/cassandra/service/StorageService.java | 15 ---
 3 files changed, 17 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/b6015fa4/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index fd6c8a1..5ceabb4 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.12
+ * Improve handling of dead nodes in gossip (CASSANDRA-10298)
  * Fix logback-tools.xml incorrectly configured for outputing to System.err
(CASSANDRA-9937)
  * Fix streaming to catch exception so retry not fail (CASSANDRA-10557)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/b6015fa4/src/java/org/apache/cassandra/db/HintedHandOffManager.java
--
diff --git a/src/java/org/apache/cassandra/db/HintedHandOffManager.java 
b/src/java/org/apache/cassandra/db/HintedHandOffManager.java
index 6f9d0b1..4fbdd27 100644
--- a/src/java/org/apache/cassandra/db/HintedHandOffManager.java
+++ b/src/java/org/apache/cassandra/db/HintedHandOffManager.java
@@ -213,7 +213,11 @@ public class HintedHandOffManager implements 
HintedHandOffManagerMBean
 {
 if (!StorageService.instance.getTokenMetadata().isMember(endpoint))
 return;
+
 UUID hostId = 
StorageService.instance.getTokenMetadata().getHostId(endpoint);
+if (hostId == null)
+return;
+
 ByteBuffer hostIdBytes = ByteBuffer.wrap(UUIDGen.decompose(hostId));
 final Mutation mutation = new Mutation(Keyspace.SYSTEM_KS, 
hostIdBytes);
 mutation.delete(SystemKeyspace.HINTS_CF, System.currentTimeMillis());

http://git-wip-us.apache.org/repos/asf/cassandra/blob/b6015fa4/src/java/org/apache/cassandra/service/StorageService.java
--
diff --git a/src/java/org/apache/cassandra/service/StorageService.java 
b/src/java/org/apache/cassandra/service/StorageService.java
index 7e5b67b..d02a572 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -1858,8 +1858,16 @@ public class StorageService extends 
NotificationBroadcasterSupport implements IE
 private void handleStateLeft(InetAddress endpoint, String[] pieces)
 {
 assert pieces.length >= 2;
-Collection tokens;
-tokens = getTokensFor(endpoint);
+Collection tokens = null;
+try
+{
+tokens = getTokensFor(endpoint);
+}
+catch (Throwable th)
+{
+JVMStabilityInspector.inspectThrowable(th);
+logger.warn("Unable to calculate tokens for {}.", endpoint);
+}
 
 if (logger.isDebugEnabled())
 logger.debug("Node {} state left, tokens {}", endpoint, tokens);
@@ -1948,7 +1956,8 @@ public class StorageService extends 
NotificationBroadcasterSupport implements IE
 HintedHandOffManager.instance.deleteHintsForEndpoint(endpoint);
 removeEndpoint(endpoint);
 tokenMetadata.removeEndpoint(endpoint);
-tokenMetadata.removeBootstrapTokens(tokens);
+if (tokens != null)
+tokenMetadata.removeBootstrapTokens(tokens);
 
 if (!isClientMode)
 {



[1/3] cassandra git commit: Improve handling of dead nodes in gossip

2015-11-04 Thread aleksey
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-3.0 1492be07c -> 8f985852f


Improve handling of dead nodes in gossip

patch by Dikang Gu; reviewed by Stefania Alborghetti for CASSANDRA-10298


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/b6015fa4
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/b6015fa4
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/b6015fa4

Branch: refs/heads/cassandra-3.0
Commit: b6015fa4883182531d66527780fce34c9b125e46
Parents: dc73c0b
Author: Dikang Gu 
Authored: Wed Nov 4 13:50:33 2015 +
Committer: Aleksey Yeschenko 
Committed: Wed Nov 4 13:56:42 2015 +

--
 CHANGES.txt  |  1 +
 .../apache/cassandra/db/HintedHandOffManager.java|  4 
 .../org/apache/cassandra/service/StorageService.java | 15 ---
 3 files changed, 17 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/b6015fa4/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index fd6c8a1..5ceabb4 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.12
+ * Improve handling of dead nodes in gossip (CASSANDRA-10298)
  * Fix logback-tools.xml incorrectly configured for outputing to System.err
(CASSANDRA-9937)
  * Fix streaming to catch exception so retry not fail (CASSANDRA-10557)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/b6015fa4/src/java/org/apache/cassandra/db/HintedHandOffManager.java
--
diff --git a/src/java/org/apache/cassandra/db/HintedHandOffManager.java 
b/src/java/org/apache/cassandra/db/HintedHandOffManager.java
index 6f9d0b1..4fbdd27 100644
--- a/src/java/org/apache/cassandra/db/HintedHandOffManager.java
+++ b/src/java/org/apache/cassandra/db/HintedHandOffManager.java
@@ -213,7 +213,11 @@ public class HintedHandOffManager implements 
HintedHandOffManagerMBean
 {
 if (!StorageService.instance.getTokenMetadata().isMember(endpoint))
 return;
+
 UUID hostId = 
StorageService.instance.getTokenMetadata().getHostId(endpoint);
+if (hostId == null)
+return;
+
 ByteBuffer hostIdBytes = ByteBuffer.wrap(UUIDGen.decompose(hostId));
 final Mutation mutation = new Mutation(Keyspace.SYSTEM_KS, 
hostIdBytes);
 mutation.delete(SystemKeyspace.HINTS_CF, System.currentTimeMillis());

http://git-wip-us.apache.org/repos/asf/cassandra/blob/b6015fa4/src/java/org/apache/cassandra/service/StorageService.java
--
diff --git a/src/java/org/apache/cassandra/service/StorageService.java 
b/src/java/org/apache/cassandra/service/StorageService.java
index 7e5b67b..d02a572 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -1858,8 +1858,16 @@ public class StorageService extends 
NotificationBroadcasterSupport implements IE
 private void handleStateLeft(InetAddress endpoint, String[] pieces)
 {
 assert pieces.length >= 2;
-Collection tokens;
-tokens = getTokensFor(endpoint);
+Collection tokens = null;
+try
+{
+tokens = getTokensFor(endpoint);
+}
+catch (Throwable th)
+{
+JVMStabilityInspector.inspectThrowable(th);
+logger.warn("Unable to calculate tokens for {}.", endpoint);
+}
 
 if (logger.isDebugEnabled())
 logger.debug("Node {} state left, tokens {}", endpoint, tokens);
@@ -1948,7 +1956,8 @@ public class StorageService extends 
NotificationBroadcasterSupport implements IE
 HintedHandOffManager.instance.deleteHintsForEndpoint(endpoint);
 removeEndpoint(endpoint);
 tokenMetadata.removeEndpoint(endpoint);
-tokenMetadata.removeBootstrapTokens(tokens);
+if (tokens != null)
+tokenMetadata.removeBootstrapTokens(tokens);
 
 if (!isClientMode)
 {



[1/4] cassandra git commit: Improve handling of dead nodes in gossip

2015-11-04 Thread aleksey
Repository: cassandra
Updated Branches:
  refs/heads/trunk 81e1b15db -> 82189ee32


Improve handling of dead nodes in gossip

patch by Dikang Gu; reviewed by Stefania Alborghetti for CASSANDRA-10298


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/b6015fa4
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/b6015fa4
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/b6015fa4

Branch: refs/heads/trunk
Commit: b6015fa4883182531d66527780fce34c9b125e46
Parents: dc73c0b
Author: Dikang Gu 
Authored: Wed Nov 4 13:50:33 2015 +
Committer: Aleksey Yeschenko 
Committed: Wed Nov 4 13:56:42 2015 +

--
 CHANGES.txt  |  1 +
 .../apache/cassandra/db/HintedHandOffManager.java|  4 
 .../org/apache/cassandra/service/StorageService.java | 15 ---
 3 files changed, 17 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/b6015fa4/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index fd6c8a1..5ceabb4 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.12
+ * Improve handling of dead nodes in gossip (CASSANDRA-10298)
  * Fix logback-tools.xml incorrectly configured for outputing to System.err
(CASSANDRA-9937)
  * Fix streaming to catch exception so retry not fail (CASSANDRA-10557)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/b6015fa4/src/java/org/apache/cassandra/db/HintedHandOffManager.java
--
diff --git a/src/java/org/apache/cassandra/db/HintedHandOffManager.java 
b/src/java/org/apache/cassandra/db/HintedHandOffManager.java
index 6f9d0b1..4fbdd27 100644
--- a/src/java/org/apache/cassandra/db/HintedHandOffManager.java
+++ b/src/java/org/apache/cassandra/db/HintedHandOffManager.java
@@ -213,7 +213,11 @@ public class HintedHandOffManager implements 
HintedHandOffManagerMBean
 {
 if (!StorageService.instance.getTokenMetadata().isMember(endpoint))
 return;
+
 UUID hostId = 
StorageService.instance.getTokenMetadata().getHostId(endpoint);
+if (hostId == null)
+return;
+
 ByteBuffer hostIdBytes = ByteBuffer.wrap(UUIDGen.decompose(hostId));
 final Mutation mutation = new Mutation(Keyspace.SYSTEM_KS, 
hostIdBytes);
 mutation.delete(SystemKeyspace.HINTS_CF, System.currentTimeMillis());

http://git-wip-us.apache.org/repos/asf/cassandra/blob/b6015fa4/src/java/org/apache/cassandra/service/StorageService.java
--
diff --git a/src/java/org/apache/cassandra/service/StorageService.java 
b/src/java/org/apache/cassandra/service/StorageService.java
index 7e5b67b..d02a572 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -1858,8 +1858,16 @@ public class StorageService extends 
NotificationBroadcasterSupport implements IE
 private void handleStateLeft(InetAddress endpoint, String[] pieces)
 {
 assert pieces.length >= 2;
-Collection tokens;
-tokens = getTokensFor(endpoint);
+Collection tokens = null;
+try
+{
+tokens = getTokensFor(endpoint);
+}
+catch (Throwable th)
+{
+JVMStabilityInspector.inspectThrowable(th);
+logger.warn("Unable to calculate tokens for {}.", endpoint);
+}
 
 if (logger.isDebugEnabled())
 logger.debug("Node {} state left, tokens {}", endpoint, tokens);
@@ -1948,7 +1956,8 @@ public class StorageService extends 
NotificationBroadcasterSupport implements IE
 HintedHandOffManager.instance.deleteHintsForEndpoint(endpoint);
 removeEndpoint(endpoint);
 tokenMetadata.removeEndpoint(endpoint);
-tokenMetadata.removeBootstrapTokens(tokens);
+if (tokens != null)
+tokenMetadata.removeBootstrapTokens(tokens);
 
 if (!isClientMode)
 {



cassandra git commit: Improve handling of dead nodes in gossip

2015-11-04 Thread aleksey
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1 dc73c0b31 -> b6015fa48


Improve handling of dead nodes in gossip

patch by Dikang Gu; reviewed by Stefania Alborghetti for CASSANDRA-10298


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/b6015fa4
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/b6015fa4
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/b6015fa4

Branch: refs/heads/cassandra-2.1
Commit: b6015fa4883182531d66527780fce34c9b125e46
Parents: dc73c0b
Author: Dikang Gu 
Authored: Wed Nov 4 13:50:33 2015 +
Committer: Aleksey Yeschenko 
Committed: Wed Nov 4 13:56:42 2015 +

--
 CHANGES.txt  |  1 +
 .../apache/cassandra/db/HintedHandOffManager.java|  4 
 .../org/apache/cassandra/service/StorageService.java | 15 ---
 3 files changed, 17 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/b6015fa4/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index fd6c8a1..5ceabb4 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.12
+ * Improve handling of dead nodes in gossip (CASSANDRA-10298)
  * Fix logback-tools.xml incorrectly configured for outputing to System.err
(CASSANDRA-9937)
  * Fix streaming to catch exception so retry not fail (CASSANDRA-10557)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/b6015fa4/src/java/org/apache/cassandra/db/HintedHandOffManager.java
--
diff --git a/src/java/org/apache/cassandra/db/HintedHandOffManager.java 
b/src/java/org/apache/cassandra/db/HintedHandOffManager.java
index 6f9d0b1..4fbdd27 100644
--- a/src/java/org/apache/cassandra/db/HintedHandOffManager.java
+++ b/src/java/org/apache/cassandra/db/HintedHandOffManager.java
@@ -213,7 +213,11 @@ public class HintedHandOffManager implements 
HintedHandOffManagerMBean
 {
 if (!StorageService.instance.getTokenMetadata().isMember(endpoint))
 return;
+
 UUID hostId = 
StorageService.instance.getTokenMetadata().getHostId(endpoint);
+if (hostId == null)
+return;
+
 ByteBuffer hostIdBytes = ByteBuffer.wrap(UUIDGen.decompose(hostId));
 final Mutation mutation = new Mutation(Keyspace.SYSTEM_KS, 
hostIdBytes);
 mutation.delete(SystemKeyspace.HINTS_CF, System.currentTimeMillis());

http://git-wip-us.apache.org/repos/asf/cassandra/blob/b6015fa4/src/java/org/apache/cassandra/service/StorageService.java
--
diff --git a/src/java/org/apache/cassandra/service/StorageService.java 
b/src/java/org/apache/cassandra/service/StorageService.java
index 7e5b67b..d02a572 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -1858,8 +1858,16 @@ public class StorageService extends 
NotificationBroadcasterSupport implements IE
 private void handleStateLeft(InetAddress endpoint, String[] pieces)
 {
 assert pieces.length >= 2;
-Collection tokens;
-tokens = getTokensFor(endpoint);
+Collection tokens = null;
+try
+{
+tokens = getTokensFor(endpoint);
+}
+catch (Throwable th)
+{
+JVMStabilityInspector.inspectThrowable(th);
+logger.warn("Unable to calculate tokens for {}.", endpoint);
+}
 
 if (logger.isDebugEnabled())
 logger.debug("Node {} state left, tokens {}", endpoint, tokens);
@@ -1948,7 +1956,8 @@ public class StorageService extends 
NotificationBroadcasterSupport implements IE
 HintedHandOffManager.instance.deleteHintsForEndpoint(endpoint);
 removeEndpoint(endpoint);
 tokenMetadata.removeEndpoint(endpoint);
-tokenMetadata.removeBootstrapTokens(tokens);
+if (tokens != null)
+tokenMetadata.removeBootstrapTokens(tokens);
 
 if (!isClientMode)
 {