You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by br...@apache.org on 2014/01/24 19:53:05 UTC
[1/8] git commit: Don't check for expireTime if node is not in
REMOVED Patch by thobbs, reviewed by brandonwilliams for CASSANDRA-6564
Updated Branches:
refs/heads/cassandra-1.2 9771cea21 -> c612a3649
refs/heads/cassandra-2.0 7ae617845 -> a16986374
refs/heads/trunk b38a905c6 -> e488e5879
Don't check for expireTime if node is not in REMOVED
Patch by thobbs, reviewed by brandonwilliams for CASSANDRA-6564
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/c612a364
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c612a364
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c612a364
Branch: refs/heads/cassandra-1.2
Commit: c612a364951c02d95ead41fb54048fa8fcb35265
Parents: 9771cea
Author: Brandon Williams <br...@apache.org>
Authored: Fri Jan 24 12:49:19 2014 -0600
Committer: Brandon Williams <br...@apache.org>
Committed: Fri Jan 24 12:49:19 2014 -0600
----------------------------------------------------------------------
.../org/apache/cassandra/service/StorageService.java | 3 ++-
.../cassandra/service/LeaveAndBootstrapTest.java | 13 +++++++++++++
2 files changed, 15 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/c612a364/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 8491cb0..ab266d8 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -1716,7 +1716,8 @@ public class StorageService extends NotificationBroadcasterSupport implements IE
}
else // now that the gossiper has told us about this nonexistent member, notify the gossiper to remove it
{
- addExpireTimeIfFound(endpoint, extractExpireTime(pieces, MessagingService.instance().getVersion(endpoint)));
+ if (VersionedValue.REMOVED_TOKEN.equals(pieces[0]))
+ addExpireTimeIfFound(endpoint, extractExpireTime(pieces, MessagingService.instance().getVersion(endpoint)));
removeEndpoint(endpoint);
}
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/c612a364/test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java b/test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java
index 658a4a9..de7958f 100644
--- a/test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java
+++ b/test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java
@@ -681,6 +681,19 @@ public class LeaveAndBootstrapTest
assertEquals("rack42", SystemTable.loadDcRackInfo().get(toRemove).get("rack"));
}
+ @Test
+ public void testRemovingStatusForNonMember() throws UnknownHostException
+ {
+ // create a ring of 1 node
+ StorageService ss = StorageService.instance;
+ VersionedValue.VersionedValueFactory valueFactory = new VersionedValue.VersionedValueFactory(partitioner);
+ Util.createInitialRing(ss, partitioner, new ArrayList<Token>(), new ArrayList<Token>(), new ArrayList<InetAddress>(), new ArrayList<UUID>(), 1);
+
+ // make a REMOVING state change on a non-member endpoint; without the CASSANDRA-6564 fix, this
+ // would result in an ArrayIndexOutOfBoundsException
+ ss.onChange(InetAddress.getByName("192.168.1.42"), ApplicationState.STATUS, valueFactory.removingNonlocal(UUID.randomUUID()));
+ }
+
private static Collection<InetAddress> makeAddrs(String... hosts) throws UnknownHostException
{
ArrayList<InetAddress> addrs = new ArrayList<InetAddress>(hosts.length);
[7/8] git commit: Don't check for expireTime is node isn't in REMOVED
Patch by thobbs, reviewed by brandonwilliams for CASSANDRA-6564
Posted by br...@apache.org.
Don't check for expireTime is node isn't in REMOVED
Patch by thobbs, reviewed by brandonwilliams for CASSANDRA-6564
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/a1698637
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/a1698637
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/a1698637
Branch: refs/heads/cassandra-2.0
Commit: a16986374450c0e8c1bd1de8933042998a079f13
Parents: b40b98d
Author: Brandon Williams <br...@apache.org>
Authored: Fri Jan 24 12:50:34 2014 -0600
Committer: Brandon Williams <br...@apache.org>
Committed: Fri Jan 24 12:50:34 2014 -0600
----------------------------------------------------------------------
.../org/apache/cassandra/service/StorageService.java | 3 ++-
.../cassandra/service/LeaveAndBootstrapTest.java | 13 +++++++++++++
2 files changed, 15 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a1698637/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 345d6c9..0870362 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -1714,7 +1714,8 @@ public class StorageService extends NotificationBroadcasterSupport implements IE
}
else // now that the gossiper has told us about this nonexistent member, notify the gossiper to remove it
{
- addExpireTimeIfFound(endpoint, extractExpireTime(pieces));
+ if (VersionedValue.REMOVED_TOKEN.equals(pieces[0]))
+ addExpireTimeIfFound(endpoint, extractExpireTime(pieces));
removeEndpoint(endpoint);
}
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a1698637/test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java b/test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java
index a9d8057..584768a 100644
--- a/test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java
+++ b/test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java
@@ -681,6 +681,19 @@ public class LeaveAndBootstrapTest
assertEquals("rack42", SystemKeyspace.loadDcRackInfo().get(toRemove).get("rack"));
}
+ @Test
+ public void testRemovingStatusForNonMember() throws UnknownHostException
+ {
+ // create a ring of 1 node
+ StorageService ss = StorageService.instance;
+ VersionedValue.VersionedValueFactory valueFactory = new VersionedValue.VersionedValueFactory(partitioner);
+ Util.createInitialRing(ss, partitioner, new ArrayList<Token>(), new ArrayList<Token>(), new ArrayList<InetAddress>(), new ArrayList<UUID>(), 1);
+
+ // make a REMOVING state change on a non-member endpoint; without the CASSANDRA-6564 fix, this
+ // would result in an ArrayIndexOutOfBoundsException
+ ss.onChange(InetAddress.getByName("192.168.1.42"), ApplicationState.STATUS, valueFactory.removingNonlocal(UUID.randomUUID()));
+ }
+
private static Collection<InetAddress> makeAddrs(String... hosts) throws UnknownHostException
{
ArrayList<InetAddress> addrs = new ArrayList<InetAddress>(hosts.length);
[3/8] git commit: Don't check for expireTime if node is not in
REMOVED Patch by thobbs, reviewed by brandonwilliams for CASSANDRA-6564
Posted by br...@apache.org.
Don't check for expireTime if node is not in REMOVED
Patch by thobbs, reviewed by brandonwilliams for CASSANDRA-6564
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/c612a364
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c612a364
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c612a364
Branch: refs/heads/trunk
Commit: c612a364951c02d95ead41fb54048fa8fcb35265
Parents: 9771cea
Author: Brandon Williams <br...@apache.org>
Authored: Fri Jan 24 12:49:19 2014 -0600
Committer: Brandon Williams <br...@apache.org>
Committed: Fri Jan 24 12:49:19 2014 -0600
----------------------------------------------------------------------
.../org/apache/cassandra/service/StorageService.java | 3 ++-
.../cassandra/service/LeaveAndBootstrapTest.java | 13 +++++++++++++
2 files changed, 15 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/c612a364/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 8491cb0..ab266d8 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -1716,7 +1716,8 @@ public class StorageService extends NotificationBroadcasterSupport implements IE
}
else // now that the gossiper has told us about this nonexistent member, notify the gossiper to remove it
{
- addExpireTimeIfFound(endpoint, extractExpireTime(pieces, MessagingService.instance().getVersion(endpoint)));
+ if (VersionedValue.REMOVED_TOKEN.equals(pieces[0]))
+ addExpireTimeIfFound(endpoint, extractExpireTime(pieces, MessagingService.instance().getVersion(endpoint)));
removeEndpoint(endpoint);
}
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/c612a364/test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java b/test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java
index 658a4a9..de7958f 100644
--- a/test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java
+++ b/test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java
@@ -681,6 +681,19 @@ public class LeaveAndBootstrapTest
assertEquals("rack42", SystemTable.loadDcRackInfo().get(toRemove).get("rack"));
}
+ @Test
+ public void testRemovingStatusForNonMember() throws UnknownHostException
+ {
+ // create a ring of 1 node
+ StorageService ss = StorageService.instance;
+ VersionedValue.VersionedValueFactory valueFactory = new VersionedValue.VersionedValueFactory(partitioner);
+ Util.createInitialRing(ss, partitioner, new ArrayList<Token>(), new ArrayList<Token>(), new ArrayList<InetAddress>(), new ArrayList<UUID>(), 1);
+
+ // make a REMOVING state change on a non-member endpoint; without the CASSANDRA-6564 fix, this
+ // would result in an ArrayIndexOutOfBoundsException
+ ss.onChange(InetAddress.getByName("192.168.1.42"), ApplicationState.STATUS, valueFactory.removingNonlocal(UUID.randomUUID()));
+ }
+
private static Collection<InetAddress> makeAddrs(String... hosts) throws UnknownHostException
{
ArrayList<InetAddress> addrs = new ArrayList<InetAddress>(hosts.length);
[4/8] git commit: Merge branch 'cassandra-1.2' into cassandra-2.0
Posted by br...@apache.org.
Merge branch 'cassandra-1.2' into cassandra-2.0
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/b40b98d3
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/b40b98d3
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/b40b98d3
Branch: refs/heads/cassandra-2.0
Commit: b40b98d361bab28dcf5bd3902aa306ee3e852d30
Parents: 7ae6178 c612a36
Author: Brandon Williams <br...@apache.org>
Authored: Fri Jan 24 12:50:24 2014 -0600
Committer: Brandon Williams <br...@apache.org>
Committed: Fri Jan 24 12:50:24 2014 -0600
----------------------------------------------------------------------
----------------------------------------------------------------------
[5/8] git commit: Merge branch 'cassandra-1.2' into cassandra-2.0
Posted by br...@apache.org.
Merge branch 'cassandra-1.2' into cassandra-2.0
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/b40b98d3
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/b40b98d3
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/b40b98d3
Branch: refs/heads/trunk
Commit: b40b98d361bab28dcf5bd3902aa306ee3e852d30
Parents: 7ae6178 c612a36
Author: Brandon Williams <br...@apache.org>
Authored: Fri Jan 24 12:50:24 2014 -0600
Committer: Brandon Williams <br...@apache.org>
Committed: Fri Jan 24 12:50:24 2014 -0600
----------------------------------------------------------------------
----------------------------------------------------------------------
[6/8] git commit: Don't check for expireTime is node isn't in REMOVED
Patch by thobbs, reviewed by brandonwilliams for CASSANDRA-6564
Posted by br...@apache.org.
Don't check for expireTime is node isn't in REMOVED
Patch by thobbs, reviewed by brandonwilliams for CASSANDRA-6564
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/a1698637
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/a1698637
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/a1698637
Branch: refs/heads/trunk
Commit: a16986374450c0e8c1bd1de8933042998a079f13
Parents: b40b98d
Author: Brandon Williams <br...@apache.org>
Authored: Fri Jan 24 12:50:34 2014 -0600
Committer: Brandon Williams <br...@apache.org>
Committed: Fri Jan 24 12:50:34 2014 -0600
----------------------------------------------------------------------
.../org/apache/cassandra/service/StorageService.java | 3 ++-
.../cassandra/service/LeaveAndBootstrapTest.java | 13 +++++++++++++
2 files changed, 15 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a1698637/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 345d6c9..0870362 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -1714,7 +1714,8 @@ public class StorageService extends NotificationBroadcasterSupport implements IE
}
else // now that the gossiper has told us about this nonexistent member, notify the gossiper to remove it
{
- addExpireTimeIfFound(endpoint, extractExpireTime(pieces));
+ if (VersionedValue.REMOVED_TOKEN.equals(pieces[0]))
+ addExpireTimeIfFound(endpoint, extractExpireTime(pieces));
removeEndpoint(endpoint);
}
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a1698637/test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java b/test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java
index a9d8057..584768a 100644
--- a/test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java
+++ b/test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java
@@ -681,6 +681,19 @@ public class LeaveAndBootstrapTest
assertEquals("rack42", SystemKeyspace.loadDcRackInfo().get(toRemove).get("rack"));
}
+ @Test
+ public void testRemovingStatusForNonMember() throws UnknownHostException
+ {
+ // create a ring of 1 node
+ StorageService ss = StorageService.instance;
+ VersionedValue.VersionedValueFactory valueFactory = new VersionedValue.VersionedValueFactory(partitioner);
+ Util.createInitialRing(ss, partitioner, new ArrayList<Token>(), new ArrayList<Token>(), new ArrayList<InetAddress>(), new ArrayList<UUID>(), 1);
+
+ // make a REMOVING state change on a non-member endpoint; without the CASSANDRA-6564 fix, this
+ // would result in an ArrayIndexOutOfBoundsException
+ ss.onChange(InetAddress.getByName("192.168.1.42"), ApplicationState.STATUS, valueFactory.removingNonlocal(UUID.randomUUID()));
+ }
+
private static Collection<InetAddress> makeAddrs(String... hosts) throws UnknownHostException
{
ArrayList<InetAddress> addrs = new ArrayList<InetAddress>(hosts.length);
[2/8] git commit: Don't check for expireTime if node is not in
REMOVED Patch by thobbs, reviewed by brandonwilliams for CASSANDRA-6564
Posted by br...@apache.org.
Don't check for expireTime if node is not in REMOVED
Patch by thobbs, reviewed by brandonwilliams for CASSANDRA-6564
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/c612a364
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c612a364
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c612a364
Branch: refs/heads/cassandra-2.0
Commit: c612a364951c02d95ead41fb54048fa8fcb35265
Parents: 9771cea
Author: Brandon Williams <br...@apache.org>
Authored: Fri Jan 24 12:49:19 2014 -0600
Committer: Brandon Williams <br...@apache.org>
Committed: Fri Jan 24 12:49:19 2014 -0600
----------------------------------------------------------------------
.../org/apache/cassandra/service/StorageService.java | 3 ++-
.../cassandra/service/LeaveAndBootstrapTest.java | 13 +++++++++++++
2 files changed, 15 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/c612a364/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 8491cb0..ab266d8 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -1716,7 +1716,8 @@ public class StorageService extends NotificationBroadcasterSupport implements IE
}
else // now that the gossiper has told us about this nonexistent member, notify the gossiper to remove it
{
- addExpireTimeIfFound(endpoint, extractExpireTime(pieces, MessagingService.instance().getVersion(endpoint)));
+ if (VersionedValue.REMOVED_TOKEN.equals(pieces[0]))
+ addExpireTimeIfFound(endpoint, extractExpireTime(pieces, MessagingService.instance().getVersion(endpoint)));
removeEndpoint(endpoint);
}
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/c612a364/test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java b/test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java
index 658a4a9..de7958f 100644
--- a/test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java
+++ b/test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java
@@ -681,6 +681,19 @@ public class LeaveAndBootstrapTest
assertEquals("rack42", SystemTable.loadDcRackInfo().get(toRemove).get("rack"));
}
+ @Test
+ public void testRemovingStatusForNonMember() throws UnknownHostException
+ {
+ // create a ring of 1 node
+ StorageService ss = StorageService.instance;
+ VersionedValue.VersionedValueFactory valueFactory = new VersionedValue.VersionedValueFactory(partitioner);
+ Util.createInitialRing(ss, partitioner, new ArrayList<Token>(), new ArrayList<Token>(), new ArrayList<InetAddress>(), new ArrayList<UUID>(), 1);
+
+ // make a REMOVING state change on a non-member endpoint; without the CASSANDRA-6564 fix, this
+ // would result in an ArrayIndexOutOfBoundsException
+ ss.onChange(InetAddress.getByName("192.168.1.42"), ApplicationState.STATUS, valueFactory.removingNonlocal(UUID.randomUUID()));
+ }
+
private static Collection<InetAddress> makeAddrs(String... hosts) throws UnknownHostException
{
ArrayList<InetAddress> addrs = new ArrayList<InetAddress>(hosts.length);
[8/8] git commit: Merge branch 'cassandra-2.0' into trunk
Posted by br...@apache.org.
Merge branch 'cassandra-2.0' into trunk
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/e488e587
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e488e587
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e488e587
Branch: refs/heads/trunk
Commit: e488e5879dce41518a217eb9de1978149b60867c
Parents: b38a905 a169863
Author: Brandon Williams <br...@apache.org>
Authored: Fri Jan 24 12:51:10 2014 -0600
Committer: Brandon Williams <br...@apache.org>
Committed: Fri Jan 24 12:51:10 2014 -0600
----------------------------------------------------------------------
.../org/apache/cassandra/service/StorageService.java | 3 ++-
.../cassandra/service/LeaveAndBootstrapTest.java | 13 +++++++++++++
2 files changed, 15 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/e488e587/src/java/org/apache/cassandra/service/StorageService.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/e488e587/test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java
----------------------------------------------------------------------