You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by jm...@apache.org on 2015/11/13 15:50:43 UTC
[01/18] cassandra git commit: Fix missing host ID on hinted handoff
write
Repository: cassandra
Updated Branches:
refs/heads/cassandra-2.1 582b66fbd -> e291382fd
refs/heads/cassandra-2.2 bfbcca1bf -> 9f021823f
refs/heads/cassandra-3.0 79bf03d4e -> ed424bdd6
refs/heads/cassandra-3.1 421c41d57 -> d404362ad
refs/heads/trunk ee06e78bb -> 9c5bdb261
Fix missing host ID on hinted handoff write
Patch by pauloricardomg; reviewed by aweisberg for CASSANDRA-10485
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/e291382f
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e291382f
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e291382f
Branch: refs/heads/cassandra-2.1
Commit: e291382fd00e4c7fc9258116885267515da3c49c
Parents: 582b66f
Author: Paulo Motta <pa...@gmail.com>
Authored: Fri Nov 13 09:46:57 2015 -0500
Committer: Joshua McKenzie <jm...@apache.org>
Committed: Fri Nov 13 09:46:57 2015 -0500
----------------------------------------------------------------------
.../org/apache/cassandra/db/HintedHandOffManager.java | 12 +++++-------
src/java/org/apache/cassandra/service/StorageProxy.java | 11 ++++++-----
.../unit/org/apache/cassandra/db/HintedHandOffTest.java | 5 +++--
3 files changed, 14 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/e291382f/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 4fbdd27..0d3ef39 100644
--- a/src/java/org/apache/cassandra/db/HintedHandOffManager.java
+++ b/src/java/org/apache/cassandra/db/HintedHandOffManager.java
@@ -130,16 +130,14 @@ public class HintedHandOffManager implements HintedHandOffManagerMBean
* Returns a mutation representing a Hint to be sent to <code>targetId</code>
* as soon as it becomes available again.
*/
- public Mutation hintFor(Mutation mutation, long now, int ttl, UUID targetId)
+ public Mutation hintFor(Mutation mutation, long now, int ttl, Pair<InetAddress, UUID> target)
{
assert ttl > 0;
- InetAddress endpoint = StorageService.instance.getTokenMetadata().getEndpointForHostId(targetId);
- // during tests we may not have a matching endpoint, but this would be unexpected in real clusters
- if (endpoint != null)
- metrics.incrCreatedHints(endpoint);
- else
- logger.warn("Unable to find matching endpoint for target {} when storing a hint", targetId);
+ InetAddress endpoint = target.left;
+ UUID targetId = target.right;
+
+ metrics.incrCreatedHints(endpoint);
UUID hintId = UUIDGen.getTimeUUID();
// serialize the hint with id and version as a composite column name
http://git-wip-us.apache.org/repos/asf/cassandra/blob/e291382f/src/java/org/apache/cassandra/service/StorageProxy.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/StorageProxy.java b/src/java/org/apache/cassandra/service/StorageProxy.java
index 4f20ef0..b701015 100644
--- a/src/java/org/apache/cassandra/service/StorageProxy.java
+++ b/src/java/org/apache/cassandra/service/StorageProxy.java
@@ -983,14 +983,15 @@ public class StorageProxy implements StorageProxyMBean
public static void writeHintForMutation(Mutation mutation, long now, int ttl, InetAddress target)
{
assert ttl > 0;
+
UUID hostId = StorageService.instance.getTokenMetadata().getHostId(target);
- if (hostId == null)
+ if (hostId != null)
{
- logger.warn("Missing host Id for {}", target.getHostAddress());
- throw new AssertionError("Missing host Id for " + target.getHostAddress());
+ HintedHandOffManager.instance.hintFor(mutation, now, ttl, Pair.create(target, hostId)).apply();
+ StorageMetrics.totalHints.inc();
}
- HintedHandOffManager.instance.hintFor(mutation, now, ttl, hostId).apply();
- StorageMetrics.totalHints.inc();
+ else
+ logger.debug("Discarding hint for endpoint not part of ring: {}", target);
}
private static void sendMessagesToNonlocalDC(MessageOut<? extends IMutation> message, Collection<InetAddress> targets, AbstractWriteResponseHandler handler)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/e291382f/test/unit/org/apache/cassandra/db/HintedHandOffTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/db/HintedHandOffTest.java b/test/unit/org/apache/cassandra/db/HintedHandOffTest.java
index c29c08e..ad1e6cf 100644
--- a/test/unit/org/apache/cassandra/db/HintedHandOffTest.java
+++ b/test/unit/org/apache/cassandra/db/HintedHandOffTest.java
@@ -35,6 +35,7 @@ import org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy;
import org.apache.cassandra.db.marshal.Int32Type;
import org.apache.cassandra.db.marshal.UUIDType;
import org.apache.cassandra.utils.ByteBufferUtil;
+import org.apache.cassandra.utils.Pair;
import static org.junit.Assert.assertEquals;
import static org.apache.cassandra.cql3.QueryProcessor.executeInternal;
@@ -65,7 +66,7 @@ public class HintedHandOffTest extends SchemaLoader
HintedHandOffManager.instance.hintFor(rm,
System.currentTimeMillis(),
HintedHandOffManager.calculateHintTTL(rm),
- UUID.randomUUID())
+ Pair.create(InetAddress.getByName("127.0.0.1"), UUID.randomUUID()))
.apply();
// flush data to disk
@@ -106,7 +107,7 @@ public class HintedHandOffTest extends SchemaLoader
HintedHandOffManager.instance.hintFor(rm,
System.currentTimeMillis(),
HintedHandOffManager.calculateHintTTL(rm),
- UUID.randomUUID())
+ Pair.create(InetAddress.getByName("127.0.0.1"), UUID.randomUUID()))
.apply();
assert getNoOfHints() == 1;
[14/18] cassandra git commit: 10485-3.0 patch
Posted by jm...@apache.org.
10485-3.0 patch
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ed424bdd
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ed424bdd
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ed424bdd
Branch: refs/heads/cassandra-3.0
Commit: ed424bdd65ccf11742f2016ae5bc0b3ad5a99571
Parents: 2a12713
Author: Joshua McKenzie <jm...@apache.org>
Authored: Fri Nov 13 09:49:31 2015 -0500
Committer: Joshua McKenzie <jm...@apache.org>
Committed: Fri Nov 13 09:49:31 2015 -0500
----------------------------------------------------------------------
.../apache/cassandra/service/StorageProxy.java | 20 ++++++++++++++++----
1 file changed, 16 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/ed424bdd/src/java/org/apache/cassandra/service/StorageProxy.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/StorageProxy.java b/src/java/org/apache/cassandra/service/StorageProxy.java
index 6bcc2f8..63fa8cf 100644
--- a/src/java/org/apache/cassandra/service/StorageProxy.java
+++ b/src/java/org/apache/cassandra/service/StorageProxy.java
@@ -2476,10 +2476,22 @@ public class StorageProxy implements StorageProxyMBean
{
public void runMayThrow()
{
- logger.trace("Adding hints for {}", targets);
- HintsService.instance.write(Iterables.transform(targets, StorageService.instance::getHostIdForEndpoint),
- Hint.create(mutation, System.currentTimeMillis()));
- targets.forEach(HintsService.instance.metrics::incrCreatedHints);
+ Set<InetAddress> validTargets = new HashSet<>(targets.size());
+ Set<UUID> hostIds = new HashSet<>(targets.size());
+ for (InetAddress target : targets)
+ {
+ UUID hostId = StorageService.instance.getHostIdForEndpoint(target);
+ if (hostId != null)
+ {
+ hostIds.add(hostId);
+ validTargets.add(target);
+ }
+ else
+ logger.debug("Discarding hint for endpoint not part of ring: {}", target);
+ }
+ logger.trace("Adding hints for {}", validTargets);
+ HintsService.instance.write(hostIds, Hint.create(mutation, System.currentTimeMillis()));
+ validTargets.forEach(HintsService.instance.metrics::incrCreatedHints);
// Notify the handler only for CL == ANY
if (responseHandler != null && responseHandler.consistencyLevel == ConsistencyLevel.ANY)
responseHandler.response(null);
[10/18] cassandra git commit: Merge branch 'cassandra-2.2' into
cassandra-3.0
Posted by jm...@apache.org.
Merge branch 'cassandra-2.2' into cassandra-3.0
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/2a127138
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/2a127138
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/2a127138
Branch: refs/heads/cassandra-3.0
Commit: 2a1271382a65095941583935a5de3b4d2031b736
Parents: 79bf03d 9f02182
Author: Joshua McKenzie <jm...@apache.org>
Authored: Fri Nov 13 09:48:50 2015 -0500
Committer: Joshua McKenzie <jm...@apache.org>
Committed: Fri Nov 13 09:48:50 2015 -0500
----------------------------------------------------------------------
----------------------------------------------------------------------
[03/18] cassandra git commit: Fix missing host ID on hinted handoff
write
Posted by jm...@apache.org.
Fix missing host ID on hinted handoff write
Patch by pauloricardomg; reviewed by aweisberg for CASSANDRA-10485
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/e291382f
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e291382f
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e291382f
Branch: refs/heads/cassandra-3.0
Commit: e291382fd00e4c7fc9258116885267515da3c49c
Parents: 582b66f
Author: Paulo Motta <pa...@gmail.com>
Authored: Fri Nov 13 09:46:57 2015 -0500
Committer: Joshua McKenzie <jm...@apache.org>
Committed: Fri Nov 13 09:46:57 2015 -0500
----------------------------------------------------------------------
.../org/apache/cassandra/db/HintedHandOffManager.java | 12 +++++-------
src/java/org/apache/cassandra/service/StorageProxy.java | 11 ++++++-----
.../unit/org/apache/cassandra/db/HintedHandOffTest.java | 5 +++--
3 files changed, 14 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/e291382f/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 4fbdd27..0d3ef39 100644
--- a/src/java/org/apache/cassandra/db/HintedHandOffManager.java
+++ b/src/java/org/apache/cassandra/db/HintedHandOffManager.java
@@ -130,16 +130,14 @@ public class HintedHandOffManager implements HintedHandOffManagerMBean
* Returns a mutation representing a Hint to be sent to <code>targetId</code>
* as soon as it becomes available again.
*/
- public Mutation hintFor(Mutation mutation, long now, int ttl, UUID targetId)
+ public Mutation hintFor(Mutation mutation, long now, int ttl, Pair<InetAddress, UUID> target)
{
assert ttl > 0;
- InetAddress endpoint = StorageService.instance.getTokenMetadata().getEndpointForHostId(targetId);
- // during tests we may not have a matching endpoint, but this would be unexpected in real clusters
- if (endpoint != null)
- metrics.incrCreatedHints(endpoint);
- else
- logger.warn("Unable to find matching endpoint for target {} when storing a hint", targetId);
+ InetAddress endpoint = target.left;
+ UUID targetId = target.right;
+
+ metrics.incrCreatedHints(endpoint);
UUID hintId = UUIDGen.getTimeUUID();
// serialize the hint with id and version as a composite column name
http://git-wip-us.apache.org/repos/asf/cassandra/blob/e291382f/src/java/org/apache/cassandra/service/StorageProxy.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/StorageProxy.java b/src/java/org/apache/cassandra/service/StorageProxy.java
index 4f20ef0..b701015 100644
--- a/src/java/org/apache/cassandra/service/StorageProxy.java
+++ b/src/java/org/apache/cassandra/service/StorageProxy.java
@@ -983,14 +983,15 @@ public class StorageProxy implements StorageProxyMBean
public static void writeHintForMutation(Mutation mutation, long now, int ttl, InetAddress target)
{
assert ttl > 0;
+
UUID hostId = StorageService.instance.getTokenMetadata().getHostId(target);
- if (hostId == null)
+ if (hostId != null)
{
- logger.warn("Missing host Id for {}", target.getHostAddress());
- throw new AssertionError("Missing host Id for " + target.getHostAddress());
+ HintedHandOffManager.instance.hintFor(mutation, now, ttl, Pair.create(target, hostId)).apply();
+ StorageMetrics.totalHints.inc();
}
- HintedHandOffManager.instance.hintFor(mutation, now, ttl, hostId).apply();
- StorageMetrics.totalHints.inc();
+ else
+ logger.debug("Discarding hint for endpoint not part of ring: {}", target);
}
private static void sendMessagesToNonlocalDC(MessageOut<? extends IMutation> message, Collection<InetAddress> targets, AbstractWriteResponseHandler handler)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/e291382f/test/unit/org/apache/cassandra/db/HintedHandOffTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/db/HintedHandOffTest.java b/test/unit/org/apache/cassandra/db/HintedHandOffTest.java
index c29c08e..ad1e6cf 100644
--- a/test/unit/org/apache/cassandra/db/HintedHandOffTest.java
+++ b/test/unit/org/apache/cassandra/db/HintedHandOffTest.java
@@ -35,6 +35,7 @@ import org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy;
import org.apache.cassandra.db.marshal.Int32Type;
import org.apache.cassandra.db.marshal.UUIDType;
import org.apache.cassandra.utils.ByteBufferUtil;
+import org.apache.cassandra.utils.Pair;
import static org.junit.Assert.assertEquals;
import static org.apache.cassandra.cql3.QueryProcessor.executeInternal;
@@ -65,7 +66,7 @@ public class HintedHandOffTest extends SchemaLoader
HintedHandOffManager.instance.hintFor(rm,
System.currentTimeMillis(),
HintedHandOffManager.calculateHintTTL(rm),
- UUID.randomUUID())
+ Pair.create(InetAddress.getByName("127.0.0.1"), UUID.randomUUID()))
.apply();
// flush data to disk
@@ -106,7 +107,7 @@ public class HintedHandOffTest extends SchemaLoader
HintedHandOffManager.instance.hintFor(rm,
System.currentTimeMillis(),
HintedHandOffManager.calculateHintTTL(rm),
- UUID.randomUUID())
+ Pair.create(InetAddress.getByName("127.0.0.1"), UUID.randomUUID()))
.apply();
assert getNoOfHints() == 1;
[04/18] cassandra git commit: Fix missing host ID on hinted handoff
write
Posted by jm...@apache.org.
Fix missing host ID on hinted handoff write
Patch by pauloricardomg; reviewed by aweisberg for CASSANDRA-10485
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/e291382f
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e291382f
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e291382f
Branch: refs/heads/cassandra-3.1
Commit: e291382fd00e4c7fc9258116885267515da3c49c
Parents: 582b66f
Author: Paulo Motta <pa...@gmail.com>
Authored: Fri Nov 13 09:46:57 2015 -0500
Committer: Joshua McKenzie <jm...@apache.org>
Committed: Fri Nov 13 09:46:57 2015 -0500
----------------------------------------------------------------------
.../org/apache/cassandra/db/HintedHandOffManager.java | 12 +++++-------
src/java/org/apache/cassandra/service/StorageProxy.java | 11 ++++++-----
.../unit/org/apache/cassandra/db/HintedHandOffTest.java | 5 +++--
3 files changed, 14 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/e291382f/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 4fbdd27..0d3ef39 100644
--- a/src/java/org/apache/cassandra/db/HintedHandOffManager.java
+++ b/src/java/org/apache/cassandra/db/HintedHandOffManager.java
@@ -130,16 +130,14 @@ public class HintedHandOffManager implements HintedHandOffManagerMBean
* Returns a mutation representing a Hint to be sent to <code>targetId</code>
* as soon as it becomes available again.
*/
- public Mutation hintFor(Mutation mutation, long now, int ttl, UUID targetId)
+ public Mutation hintFor(Mutation mutation, long now, int ttl, Pair<InetAddress, UUID> target)
{
assert ttl > 0;
- InetAddress endpoint = StorageService.instance.getTokenMetadata().getEndpointForHostId(targetId);
- // during tests we may not have a matching endpoint, but this would be unexpected in real clusters
- if (endpoint != null)
- metrics.incrCreatedHints(endpoint);
- else
- logger.warn("Unable to find matching endpoint for target {} when storing a hint", targetId);
+ InetAddress endpoint = target.left;
+ UUID targetId = target.right;
+
+ metrics.incrCreatedHints(endpoint);
UUID hintId = UUIDGen.getTimeUUID();
// serialize the hint with id and version as a composite column name
http://git-wip-us.apache.org/repos/asf/cassandra/blob/e291382f/src/java/org/apache/cassandra/service/StorageProxy.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/StorageProxy.java b/src/java/org/apache/cassandra/service/StorageProxy.java
index 4f20ef0..b701015 100644
--- a/src/java/org/apache/cassandra/service/StorageProxy.java
+++ b/src/java/org/apache/cassandra/service/StorageProxy.java
@@ -983,14 +983,15 @@ public class StorageProxy implements StorageProxyMBean
public static void writeHintForMutation(Mutation mutation, long now, int ttl, InetAddress target)
{
assert ttl > 0;
+
UUID hostId = StorageService.instance.getTokenMetadata().getHostId(target);
- if (hostId == null)
+ if (hostId != null)
{
- logger.warn("Missing host Id for {}", target.getHostAddress());
- throw new AssertionError("Missing host Id for " + target.getHostAddress());
+ HintedHandOffManager.instance.hintFor(mutation, now, ttl, Pair.create(target, hostId)).apply();
+ StorageMetrics.totalHints.inc();
}
- HintedHandOffManager.instance.hintFor(mutation, now, ttl, hostId).apply();
- StorageMetrics.totalHints.inc();
+ else
+ logger.debug("Discarding hint for endpoint not part of ring: {}", target);
}
private static void sendMessagesToNonlocalDC(MessageOut<? extends IMutation> message, Collection<InetAddress> targets, AbstractWriteResponseHandler handler)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/e291382f/test/unit/org/apache/cassandra/db/HintedHandOffTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/db/HintedHandOffTest.java b/test/unit/org/apache/cassandra/db/HintedHandOffTest.java
index c29c08e..ad1e6cf 100644
--- a/test/unit/org/apache/cassandra/db/HintedHandOffTest.java
+++ b/test/unit/org/apache/cassandra/db/HintedHandOffTest.java
@@ -35,6 +35,7 @@ import org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy;
import org.apache.cassandra.db.marshal.Int32Type;
import org.apache.cassandra.db.marshal.UUIDType;
import org.apache.cassandra.utils.ByteBufferUtil;
+import org.apache.cassandra.utils.Pair;
import static org.junit.Assert.assertEquals;
import static org.apache.cassandra.cql3.QueryProcessor.executeInternal;
@@ -65,7 +66,7 @@ public class HintedHandOffTest extends SchemaLoader
HintedHandOffManager.instance.hintFor(rm,
System.currentTimeMillis(),
HintedHandOffManager.calculateHintTTL(rm),
- UUID.randomUUID())
+ Pair.create(InetAddress.getByName("127.0.0.1"), UUID.randomUUID()))
.apply();
// flush data to disk
@@ -106,7 +107,7 @@ public class HintedHandOffTest extends SchemaLoader
HintedHandOffManager.instance.hintFor(rm,
System.currentTimeMillis(),
HintedHandOffManager.calculateHintTTL(rm),
- UUID.randomUUID())
+ Pair.create(InetAddress.getByName("127.0.0.1"), UUID.randomUUID()))
.apply();
assert getNoOfHints() == 1;
[16/18] cassandra git commit: Merge branch 'cassandra-3.0' into
cassandra-3.1
Posted by jm...@apache.org.
Merge branch 'cassandra-3.0' into cassandra-3.1
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/d404362a
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d404362a
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d404362a
Branch: refs/heads/trunk
Commit: d404362adcca5bf62ab9c4bf24b0bd36eb13ab1c
Parents: 421c41d ed424bd
Author: Joshua McKenzie <jm...@apache.org>
Authored: Fri Nov 13 09:50:12 2015 -0500
Committer: Joshua McKenzie <jm...@apache.org>
Committed: Fri Nov 13 09:50:12 2015 -0500
----------------------------------------------------------------------
.../apache/cassandra/service/StorageProxy.java | 20 ++++++++++++++++----
1 file changed, 16 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
[15/18] cassandra git commit: 10485-3.0 patch
Posted by jm...@apache.org.
10485-3.0 patch
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ed424bdd
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ed424bdd
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ed424bdd
Branch: refs/heads/cassandra-3.1
Commit: ed424bdd65ccf11742f2016ae5bc0b3ad5a99571
Parents: 2a12713
Author: Joshua McKenzie <jm...@apache.org>
Authored: Fri Nov 13 09:49:31 2015 -0500
Committer: Joshua McKenzie <jm...@apache.org>
Committed: Fri Nov 13 09:49:31 2015 -0500
----------------------------------------------------------------------
.../apache/cassandra/service/StorageProxy.java | 20 ++++++++++++++++----
1 file changed, 16 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/ed424bdd/src/java/org/apache/cassandra/service/StorageProxy.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/StorageProxy.java b/src/java/org/apache/cassandra/service/StorageProxy.java
index 6bcc2f8..63fa8cf 100644
--- a/src/java/org/apache/cassandra/service/StorageProxy.java
+++ b/src/java/org/apache/cassandra/service/StorageProxy.java
@@ -2476,10 +2476,22 @@ public class StorageProxy implements StorageProxyMBean
{
public void runMayThrow()
{
- logger.trace("Adding hints for {}", targets);
- HintsService.instance.write(Iterables.transform(targets, StorageService.instance::getHostIdForEndpoint),
- Hint.create(mutation, System.currentTimeMillis()));
- targets.forEach(HintsService.instance.metrics::incrCreatedHints);
+ Set<InetAddress> validTargets = new HashSet<>(targets.size());
+ Set<UUID> hostIds = new HashSet<>(targets.size());
+ for (InetAddress target : targets)
+ {
+ UUID hostId = StorageService.instance.getHostIdForEndpoint(target);
+ if (hostId != null)
+ {
+ hostIds.add(hostId);
+ validTargets.add(target);
+ }
+ else
+ logger.debug("Discarding hint for endpoint not part of ring: {}", target);
+ }
+ logger.trace("Adding hints for {}", validTargets);
+ HintsService.instance.write(hostIds, Hint.create(mutation, System.currentTimeMillis()));
+ validTargets.forEach(HintsService.instance.metrics::incrCreatedHints);
// Notify the handler only for CL == ANY
if (responseHandler != null && responseHandler.consistencyLevel == ConsistencyLevel.ANY)
responseHandler.response(null);
[06/18] cassandra git commit: Merge branch 'cassandra-2.1' into
cassandra-2.2
Posted by jm...@apache.org.
Merge branch 'cassandra-2.1' into cassandra-2.2
Conflicts:
test/unit/org/apache/cassandra/db/HintedHandOffTest.java
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/9f021823
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/9f021823
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/9f021823
Branch: refs/heads/cassandra-3.0
Commit: 9f021823fe0403dd0e34280a08a84389ec981a85
Parents: bfbcca1 e291382
Author: Joshua McKenzie <jm...@apache.org>
Authored: Fri Nov 13 09:48:03 2015 -0500
Committer: Joshua McKenzie <jm...@apache.org>
Committed: Fri Nov 13 09:48:03 2015 -0500
----------------------------------------------------------------------
.../org/apache/cassandra/db/HintedHandOffManager.java | 12 +++++-------
src/java/org/apache/cassandra/service/StorageProxy.java | 11 ++++++-----
.../unit/org/apache/cassandra/db/HintedHandOffTest.java | 5 +++--
3 files changed, 14 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/9f021823/src/java/org/apache/cassandra/db/HintedHandOffManager.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/9f021823/src/java/org/apache/cassandra/service/StorageProxy.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/service/StorageProxy.java
index 3a62640,b701015..5e4d912
--- a/src/java/org/apache/cassandra/service/StorageProxy.java
+++ b/src/java/org/apache/cassandra/service/StorageProxy.java
@@@ -1012,19 -983,18 +1012,20 @@@ public class StorageProxy implements St
public static void writeHintForMutation(Mutation mutation, long now, int ttl, InetAddress target)
{
assert ttl > 0;
+
UUID hostId = StorageService.instance.getTokenMetadata().getHostId(target);
- if (hostId == null)
+ if (hostId != null)
{
- logger.warn("Missing host Id for {}", target.getHostAddress());
- throw new AssertionError("Missing host Id for " + target.getHostAddress());
+ HintedHandOffManager.instance.hintFor(mutation, now, ttl, Pair.create(target, hostId)).apply();
+ StorageMetrics.totalHints.inc();
}
- HintedHandOffManager.instance.hintFor(mutation, now, ttl, hostId).apply();
- StorageMetrics.totalHints.inc();
+ else
+ logger.debug("Discarding hint for endpoint not part of ring: {}", target);
}
- private static void sendMessagesToNonlocalDC(MessageOut<? extends IMutation> message, Collection<InetAddress> targets, AbstractWriteResponseHandler handler)
+ private static void sendMessagesToNonlocalDC(MessageOut<? extends IMutation> message,
+ Collection<InetAddress> targets,
+ AbstractWriteResponseHandler<IMutation> handler)
{
Iterator<InetAddress> iter = targets.iterator();
InetAddress target = iter.next();
http://git-wip-us.apache.org/repos/asf/cassandra/blob/9f021823/test/unit/org/apache/cassandra/db/HintedHandOffTest.java
----------------------------------------------------------------------
diff --cc test/unit/org/apache/cassandra/db/HintedHandOffTest.java
index ce14c37,ad1e6cf..6bb6be2
--- a/test/unit/org/apache/cassandra/db/HintedHandOffTest.java
+++ b/test/unit/org/apache/cassandra/db/HintedHandOffTest.java
@@@ -36,9 -34,8 +36,10 @@@ import org.apache.cassandra.cql3.Untype
import org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy;
import org.apache.cassandra.db.marshal.Int32Type;
import org.apache.cassandra.db.marshal.UUIDType;
+import org.apache.cassandra.exceptions.ConfigurationException;
+import org.apache.cassandra.locator.SimpleStrategy;
import org.apache.cassandra.utils.ByteBufferUtil;
+ import org.apache.cassandra.utils.Pair;
import static org.junit.Assert.assertEquals;
import static org.apache.cassandra.cql3.QueryProcessor.executeInternal;
@@@ -79,8 -66,8 +80,8 @@@ public class HintedHandOffTes
HintedHandOffManager.instance.hintFor(rm,
System.currentTimeMillis(),
HintedHandOffManager.calculateHintTTL(rm),
- UUID.randomUUID())
+ Pair.create(InetAddress.getByName("127.0.0.1"), UUID.randomUUID()))
- .apply();
+ .applyUnsafe();
// flush data to disk
hintStore.forceBlockingFlush();
@@@ -120,8 -107,8 +121,8 @@@
HintedHandOffManager.instance.hintFor(rm,
System.currentTimeMillis(),
HintedHandOffManager.calculateHintTTL(rm),
- UUID.randomUUID())
+ Pair.create(InetAddress.getByName("127.0.0.1"), UUID.randomUUID()))
- .apply();
+ .applyUnsafe();
assert getNoOfHints() == 1;
[09/18] cassandra git commit: Merge branch 'cassandra-2.1' into
cassandra-2.2
Posted by jm...@apache.org.
Merge branch 'cassandra-2.1' into cassandra-2.2
Conflicts:
test/unit/org/apache/cassandra/db/HintedHandOffTest.java
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/9f021823
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/9f021823
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/9f021823
Branch: refs/heads/trunk
Commit: 9f021823fe0403dd0e34280a08a84389ec981a85
Parents: bfbcca1 e291382
Author: Joshua McKenzie <jm...@apache.org>
Authored: Fri Nov 13 09:48:03 2015 -0500
Committer: Joshua McKenzie <jm...@apache.org>
Committed: Fri Nov 13 09:48:03 2015 -0500
----------------------------------------------------------------------
.../org/apache/cassandra/db/HintedHandOffManager.java | 12 +++++-------
src/java/org/apache/cassandra/service/StorageProxy.java | 11 ++++++-----
.../unit/org/apache/cassandra/db/HintedHandOffTest.java | 5 +++--
3 files changed, 14 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/9f021823/src/java/org/apache/cassandra/db/HintedHandOffManager.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/9f021823/src/java/org/apache/cassandra/service/StorageProxy.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/service/StorageProxy.java
index 3a62640,b701015..5e4d912
--- a/src/java/org/apache/cassandra/service/StorageProxy.java
+++ b/src/java/org/apache/cassandra/service/StorageProxy.java
@@@ -1012,19 -983,18 +1012,20 @@@ public class StorageProxy implements St
public static void writeHintForMutation(Mutation mutation, long now, int ttl, InetAddress target)
{
assert ttl > 0;
+
UUID hostId = StorageService.instance.getTokenMetadata().getHostId(target);
- if (hostId == null)
+ if (hostId != null)
{
- logger.warn("Missing host Id for {}", target.getHostAddress());
- throw new AssertionError("Missing host Id for " + target.getHostAddress());
+ HintedHandOffManager.instance.hintFor(mutation, now, ttl, Pair.create(target, hostId)).apply();
+ StorageMetrics.totalHints.inc();
}
- HintedHandOffManager.instance.hintFor(mutation, now, ttl, hostId).apply();
- StorageMetrics.totalHints.inc();
+ else
+ logger.debug("Discarding hint for endpoint not part of ring: {}", target);
}
- private static void sendMessagesToNonlocalDC(MessageOut<? extends IMutation> message, Collection<InetAddress> targets, AbstractWriteResponseHandler handler)
+ private static void sendMessagesToNonlocalDC(MessageOut<? extends IMutation> message,
+ Collection<InetAddress> targets,
+ AbstractWriteResponseHandler<IMutation> handler)
{
Iterator<InetAddress> iter = targets.iterator();
InetAddress target = iter.next();
http://git-wip-us.apache.org/repos/asf/cassandra/blob/9f021823/test/unit/org/apache/cassandra/db/HintedHandOffTest.java
----------------------------------------------------------------------
diff --cc test/unit/org/apache/cassandra/db/HintedHandOffTest.java
index ce14c37,ad1e6cf..6bb6be2
--- a/test/unit/org/apache/cassandra/db/HintedHandOffTest.java
+++ b/test/unit/org/apache/cassandra/db/HintedHandOffTest.java
@@@ -36,9 -34,8 +36,10 @@@ import org.apache.cassandra.cql3.Untype
import org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy;
import org.apache.cassandra.db.marshal.Int32Type;
import org.apache.cassandra.db.marshal.UUIDType;
+import org.apache.cassandra.exceptions.ConfigurationException;
+import org.apache.cassandra.locator.SimpleStrategy;
import org.apache.cassandra.utils.ByteBufferUtil;
+ import org.apache.cassandra.utils.Pair;
import static org.junit.Assert.assertEquals;
import static org.apache.cassandra.cql3.QueryProcessor.executeInternal;
@@@ -79,8 -66,8 +80,8 @@@ public class HintedHandOffTes
HintedHandOffManager.instance.hintFor(rm,
System.currentTimeMillis(),
HintedHandOffManager.calculateHintTTL(rm),
- UUID.randomUUID())
+ Pair.create(InetAddress.getByName("127.0.0.1"), UUID.randomUUID()))
- .apply();
+ .applyUnsafe();
// flush data to disk
hintStore.forceBlockingFlush();
@@@ -120,8 -107,8 +121,8 @@@
HintedHandOffManager.instance.hintFor(rm,
System.currentTimeMillis(),
HintedHandOffManager.calculateHintTTL(rm),
- UUID.randomUUID())
+ Pair.create(InetAddress.getByName("127.0.0.1"), UUID.randomUUID()))
- .apply();
+ .applyUnsafe();
assert getNoOfHints() == 1;
[18/18] cassandra git commit: Merge branch 'cassandra-3.1' into trunk
Posted by jm...@apache.org.
Merge branch 'cassandra-3.1' into trunk
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/9c5bdb26
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/9c5bdb26
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/9c5bdb26
Branch: refs/heads/trunk
Commit: 9c5bdb26126d3965d350e068730a23e6848a18c4
Parents: ee06e78 d404362
Author: Joshua McKenzie <jm...@apache.org>
Authored: Fri Nov 13 09:50:26 2015 -0500
Committer: Joshua McKenzie <jm...@apache.org>
Committed: Fri Nov 13 09:50:26 2015 -0500
----------------------------------------------------------------------
.../apache/cassandra/service/StorageProxy.java | 20 ++++++++++++++++----
1 file changed, 16 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/9c5bdb26/src/java/org/apache/cassandra/service/StorageProxy.java
----------------------------------------------------------------------
[07/18] cassandra git commit: Merge branch 'cassandra-2.1' into
cassandra-2.2
Posted by jm...@apache.org.
Merge branch 'cassandra-2.1' into cassandra-2.2
Conflicts:
test/unit/org/apache/cassandra/db/HintedHandOffTest.java
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/9f021823
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/9f021823
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/9f021823
Branch: refs/heads/cassandra-3.1
Commit: 9f021823fe0403dd0e34280a08a84389ec981a85
Parents: bfbcca1 e291382
Author: Joshua McKenzie <jm...@apache.org>
Authored: Fri Nov 13 09:48:03 2015 -0500
Committer: Joshua McKenzie <jm...@apache.org>
Committed: Fri Nov 13 09:48:03 2015 -0500
----------------------------------------------------------------------
.../org/apache/cassandra/db/HintedHandOffManager.java | 12 +++++-------
src/java/org/apache/cassandra/service/StorageProxy.java | 11 ++++++-----
.../unit/org/apache/cassandra/db/HintedHandOffTest.java | 5 +++--
3 files changed, 14 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/9f021823/src/java/org/apache/cassandra/db/HintedHandOffManager.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/9f021823/src/java/org/apache/cassandra/service/StorageProxy.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/service/StorageProxy.java
index 3a62640,b701015..5e4d912
--- a/src/java/org/apache/cassandra/service/StorageProxy.java
+++ b/src/java/org/apache/cassandra/service/StorageProxy.java
@@@ -1012,19 -983,18 +1012,20 @@@ public class StorageProxy implements St
public static void writeHintForMutation(Mutation mutation, long now, int ttl, InetAddress target)
{
assert ttl > 0;
+
UUID hostId = StorageService.instance.getTokenMetadata().getHostId(target);
- if (hostId == null)
+ if (hostId != null)
{
- logger.warn("Missing host Id for {}", target.getHostAddress());
- throw new AssertionError("Missing host Id for " + target.getHostAddress());
+ HintedHandOffManager.instance.hintFor(mutation, now, ttl, Pair.create(target, hostId)).apply();
+ StorageMetrics.totalHints.inc();
}
- HintedHandOffManager.instance.hintFor(mutation, now, ttl, hostId).apply();
- StorageMetrics.totalHints.inc();
+ else
+ logger.debug("Discarding hint for endpoint not part of ring: {}", target);
}
- private static void sendMessagesToNonlocalDC(MessageOut<? extends IMutation> message, Collection<InetAddress> targets, AbstractWriteResponseHandler handler)
+ private static void sendMessagesToNonlocalDC(MessageOut<? extends IMutation> message,
+ Collection<InetAddress> targets,
+ AbstractWriteResponseHandler<IMutation> handler)
{
Iterator<InetAddress> iter = targets.iterator();
InetAddress target = iter.next();
http://git-wip-us.apache.org/repos/asf/cassandra/blob/9f021823/test/unit/org/apache/cassandra/db/HintedHandOffTest.java
----------------------------------------------------------------------
diff --cc test/unit/org/apache/cassandra/db/HintedHandOffTest.java
index ce14c37,ad1e6cf..6bb6be2
--- a/test/unit/org/apache/cassandra/db/HintedHandOffTest.java
+++ b/test/unit/org/apache/cassandra/db/HintedHandOffTest.java
@@@ -36,9 -34,8 +36,10 @@@ import org.apache.cassandra.cql3.Untype
import org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy;
import org.apache.cassandra.db.marshal.Int32Type;
import org.apache.cassandra.db.marshal.UUIDType;
+import org.apache.cassandra.exceptions.ConfigurationException;
+import org.apache.cassandra.locator.SimpleStrategy;
import org.apache.cassandra.utils.ByteBufferUtil;
+ import org.apache.cassandra.utils.Pair;
import static org.junit.Assert.assertEquals;
import static org.apache.cassandra.cql3.QueryProcessor.executeInternal;
@@@ -79,8 -66,8 +80,8 @@@ public class HintedHandOffTes
HintedHandOffManager.instance.hintFor(rm,
System.currentTimeMillis(),
HintedHandOffManager.calculateHintTTL(rm),
- UUID.randomUUID())
+ Pair.create(InetAddress.getByName("127.0.0.1"), UUID.randomUUID()))
- .apply();
+ .applyUnsafe();
// flush data to disk
hintStore.forceBlockingFlush();
@@@ -120,8 -107,8 +121,8 @@@
HintedHandOffManager.instance.hintFor(rm,
System.currentTimeMillis(),
HintedHandOffManager.calculateHintTTL(rm),
- UUID.randomUUID())
+ Pair.create(InetAddress.getByName("127.0.0.1"), UUID.randomUUID()))
- .apply();
+ .applyUnsafe();
assert getNoOfHints() == 1;
[17/18] cassandra git commit: Merge branch 'cassandra-3.0' into
cassandra-3.1
Posted by jm...@apache.org.
Merge branch 'cassandra-3.0' into cassandra-3.1
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/d404362a
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d404362a
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d404362a
Branch: refs/heads/cassandra-3.1
Commit: d404362adcca5bf62ab9c4bf24b0bd36eb13ab1c
Parents: 421c41d ed424bd
Author: Joshua McKenzie <jm...@apache.org>
Authored: Fri Nov 13 09:50:12 2015 -0500
Committer: Joshua McKenzie <jm...@apache.org>
Committed: Fri Nov 13 09:50:12 2015 -0500
----------------------------------------------------------------------
.../apache/cassandra/service/StorageProxy.java | 20 ++++++++++++++++----
1 file changed, 16 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
[08/18] cassandra git commit: Merge branch 'cassandra-2.1' into
cassandra-2.2
Posted by jm...@apache.org.
Merge branch 'cassandra-2.1' into cassandra-2.2
Conflicts:
test/unit/org/apache/cassandra/db/HintedHandOffTest.java
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/9f021823
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/9f021823
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/9f021823
Branch: refs/heads/cassandra-2.2
Commit: 9f021823fe0403dd0e34280a08a84389ec981a85
Parents: bfbcca1 e291382
Author: Joshua McKenzie <jm...@apache.org>
Authored: Fri Nov 13 09:48:03 2015 -0500
Committer: Joshua McKenzie <jm...@apache.org>
Committed: Fri Nov 13 09:48:03 2015 -0500
----------------------------------------------------------------------
.../org/apache/cassandra/db/HintedHandOffManager.java | 12 +++++-------
src/java/org/apache/cassandra/service/StorageProxy.java | 11 ++++++-----
.../unit/org/apache/cassandra/db/HintedHandOffTest.java | 5 +++--
3 files changed, 14 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/9f021823/src/java/org/apache/cassandra/db/HintedHandOffManager.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/9f021823/src/java/org/apache/cassandra/service/StorageProxy.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/service/StorageProxy.java
index 3a62640,b701015..5e4d912
--- a/src/java/org/apache/cassandra/service/StorageProxy.java
+++ b/src/java/org/apache/cassandra/service/StorageProxy.java
@@@ -1012,19 -983,18 +1012,20 @@@ public class StorageProxy implements St
public static void writeHintForMutation(Mutation mutation, long now, int ttl, InetAddress target)
{
assert ttl > 0;
+
UUID hostId = StorageService.instance.getTokenMetadata().getHostId(target);
- if (hostId == null)
+ if (hostId != null)
{
- logger.warn("Missing host Id for {}", target.getHostAddress());
- throw new AssertionError("Missing host Id for " + target.getHostAddress());
+ HintedHandOffManager.instance.hintFor(mutation, now, ttl, Pair.create(target, hostId)).apply();
+ StorageMetrics.totalHints.inc();
}
- HintedHandOffManager.instance.hintFor(mutation, now, ttl, hostId).apply();
- StorageMetrics.totalHints.inc();
+ else
+ logger.debug("Discarding hint for endpoint not part of ring: {}", target);
}
- private static void sendMessagesToNonlocalDC(MessageOut<? extends IMutation> message, Collection<InetAddress> targets, AbstractWriteResponseHandler handler)
+ private static void sendMessagesToNonlocalDC(MessageOut<? extends IMutation> message,
+ Collection<InetAddress> targets,
+ AbstractWriteResponseHandler<IMutation> handler)
{
Iterator<InetAddress> iter = targets.iterator();
InetAddress target = iter.next();
http://git-wip-us.apache.org/repos/asf/cassandra/blob/9f021823/test/unit/org/apache/cassandra/db/HintedHandOffTest.java
----------------------------------------------------------------------
diff --cc test/unit/org/apache/cassandra/db/HintedHandOffTest.java
index ce14c37,ad1e6cf..6bb6be2
--- a/test/unit/org/apache/cassandra/db/HintedHandOffTest.java
+++ b/test/unit/org/apache/cassandra/db/HintedHandOffTest.java
@@@ -36,9 -34,8 +36,10 @@@ import org.apache.cassandra.cql3.Untype
import org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy;
import org.apache.cassandra.db.marshal.Int32Type;
import org.apache.cassandra.db.marshal.UUIDType;
+import org.apache.cassandra.exceptions.ConfigurationException;
+import org.apache.cassandra.locator.SimpleStrategy;
import org.apache.cassandra.utils.ByteBufferUtil;
+ import org.apache.cassandra.utils.Pair;
import static org.junit.Assert.assertEquals;
import static org.apache.cassandra.cql3.QueryProcessor.executeInternal;
@@@ -79,8 -66,8 +80,8 @@@ public class HintedHandOffTes
HintedHandOffManager.instance.hintFor(rm,
System.currentTimeMillis(),
HintedHandOffManager.calculateHintTTL(rm),
- UUID.randomUUID())
+ Pair.create(InetAddress.getByName("127.0.0.1"), UUID.randomUUID()))
- .apply();
+ .applyUnsafe();
// flush data to disk
hintStore.forceBlockingFlush();
@@@ -120,8 -107,8 +121,8 @@@
HintedHandOffManager.instance.hintFor(rm,
System.currentTimeMillis(),
HintedHandOffManager.calculateHintTTL(rm),
- UUID.randomUUID())
+ Pair.create(InetAddress.getByName("127.0.0.1"), UUID.randomUUID()))
- .apply();
+ .applyUnsafe();
assert getNoOfHints() == 1;
[05/18] cassandra git commit: Fix missing host ID on hinted handoff
write
Posted by jm...@apache.org.
Fix missing host ID on hinted handoff write
Patch by pauloricardomg; reviewed by aweisberg for CASSANDRA-10485
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/e291382f
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e291382f
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e291382f
Branch: refs/heads/trunk
Commit: e291382fd00e4c7fc9258116885267515da3c49c
Parents: 582b66f
Author: Paulo Motta <pa...@gmail.com>
Authored: Fri Nov 13 09:46:57 2015 -0500
Committer: Joshua McKenzie <jm...@apache.org>
Committed: Fri Nov 13 09:46:57 2015 -0500
----------------------------------------------------------------------
.../org/apache/cassandra/db/HintedHandOffManager.java | 12 +++++-------
src/java/org/apache/cassandra/service/StorageProxy.java | 11 ++++++-----
.../unit/org/apache/cassandra/db/HintedHandOffTest.java | 5 +++--
3 files changed, 14 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/e291382f/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 4fbdd27..0d3ef39 100644
--- a/src/java/org/apache/cassandra/db/HintedHandOffManager.java
+++ b/src/java/org/apache/cassandra/db/HintedHandOffManager.java
@@ -130,16 +130,14 @@ public class HintedHandOffManager implements HintedHandOffManagerMBean
* Returns a mutation representing a Hint to be sent to <code>targetId</code>
* as soon as it becomes available again.
*/
- public Mutation hintFor(Mutation mutation, long now, int ttl, UUID targetId)
+ public Mutation hintFor(Mutation mutation, long now, int ttl, Pair<InetAddress, UUID> target)
{
assert ttl > 0;
- InetAddress endpoint = StorageService.instance.getTokenMetadata().getEndpointForHostId(targetId);
- // during tests we may not have a matching endpoint, but this would be unexpected in real clusters
- if (endpoint != null)
- metrics.incrCreatedHints(endpoint);
- else
- logger.warn("Unable to find matching endpoint for target {} when storing a hint", targetId);
+ InetAddress endpoint = target.left;
+ UUID targetId = target.right;
+
+ metrics.incrCreatedHints(endpoint);
UUID hintId = UUIDGen.getTimeUUID();
// serialize the hint with id and version as a composite column name
http://git-wip-us.apache.org/repos/asf/cassandra/blob/e291382f/src/java/org/apache/cassandra/service/StorageProxy.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/StorageProxy.java b/src/java/org/apache/cassandra/service/StorageProxy.java
index 4f20ef0..b701015 100644
--- a/src/java/org/apache/cassandra/service/StorageProxy.java
+++ b/src/java/org/apache/cassandra/service/StorageProxy.java
@@ -983,14 +983,15 @@ public class StorageProxy implements StorageProxyMBean
public static void writeHintForMutation(Mutation mutation, long now, int ttl, InetAddress target)
{
assert ttl > 0;
+
UUID hostId = StorageService.instance.getTokenMetadata().getHostId(target);
- if (hostId == null)
+ if (hostId != null)
{
- logger.warn("Missing host Id for {}", target.getHostAddress());
- throw new AssertionError("Missing host Id for " + target.getHostAddress());
+ HintedHandOffManager.instance.hintFor(mutation, now, ttl, Pair.create(target, hostId)).apply();
+ StorageMetrics.totalHints.inc();
}
- HintedHandOffManager.instance.hintFor(mutation, now, ttl, hostId).apply();
- StorageMetrics.totalHints.inc();
+ else
+ logger.debug("Discarding hint for endpoint not part of ring: {}", target);
}
private static void sendMessagesToNonlocalDC(MessageOut<? extends IMutation> message, Collection<InetAddress> targets, AbstractWriteResponseHandler handler)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/e291382f/test/unit/org/apache/cassandra/db/HintedHandOffTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/db/HintedHandOffTest.java b/test/unit/org/apache/cassandra/db/HintedHandOffTest.java
index c29c08e..ad1e6cf 100644
--- a/test/unit/org/apache/cassandra/db/HintedHandOffTest.java
+++ b/test/unit/org/apache/cassandra/db/HintedHandOffTest.java
@@ -35,6 +35,7 @@ import org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy;
import org.apache.cassandra.db.marshal.Int32Type;
import org.apache.cassandra.db.marshal.UUIDType;
import org.apache.cassandra.utils.ByteBufferUtil;
+import org.apache.cassandra.utils.Pair;
import static org.junit.Assert.assertEquals;
import static org.apache.cassandra.cql3.QueryProcessor.executeInternal;
@@ -65,7 +66,7 @@ public class HintedHandOffTest extends SchemaLoader
HintedHandOffManager.instance.hintFor(rm,
System.currentTimeMillis(),
HintedHandOffManager.calculateHintTTL(rm),
- UUID.randomUUID())
+ Pair.create(InetAddress.getByName("127.0.0.1"), UUID.randomUUID()))
.apply();
// flush data to disk
@@ -106,7 +107,7 @@ public class HintedHandOffTest extends SchemaLoader
HintedHandOffManager.instance.hintFor(rm,
System.currentTimeMillis(),
HintedHandOffManager.calculateHintTTL(rm),
- UUID.randomUUID())
+ Pair.create(InetAddress.getByName("127.0.0.1"), UUID.randomUUID()))
.apply();
assert getNoOfHints() == 1;
[13/18] cassandra git commit: 10485-3.0 patch
Posted by jm...@apache.org.
10485-3.0 patch
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ed424bdd
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ed424bdd
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ed424bdd
Branch: refs/heads/trunk
Commit: ed424bdd65ccf11742f2016ae5bc0b3ad5a99571
Parents: 2a12713
Author: Joshua McKenzie <jm...@apache.org>
Authored: Fri Nov 13 09:49:31 2015 -0500
Committer: Joshua McKenzie <jm...@apache.org>
Committed: Fri Nov 13 09:49:31 2015 -0500
----------------------------------------------------------------------
.../apache/cassandra/service/StorageProxy.java | 20 ++++++++++++++++----
1 file changed, 16 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/ed424bdd/src/java/org/apache/cassandra/service/StorageProxy.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/StorageProxy.java b/src/java/org/apache/cassandra/service/StorageProxy.java
index 6bcc2f8..63fa8cf 100644
--- a/src/java/org/apache/cassandra/service/StorageProxy.java
+++ b/src/java/org/apache/cassandra/service/StorageProxy.java
@@ -2476,10 +2476,22 @@ public class StorageProxy implements StorageProxyMBean
{
public void runMayThrow()
{
- logger.trace("Adding hints for {}", targets);
- HintsService.instance.write(Iterables.transform(targets, StorageService.instance::getHostIdForEndpoint),
- Hint.create(mutation, System.currentTimeMillis()));
- targets.forEach(HintsService.instance.metrics::incrCreatedHints);
+ Set<InetAddress> validTargets = new HashSet<>(targets.size());
+ Set<UUID> hostIds = new HashSet<>(targets.size());
+ for (InetAddress target : targets)
+ {
+ UUID hostId = StorageService.instance.getHostIdForEndpoint(target);
+ if (hostId != null)
+ {
+ hostIds.add(hostId);
+ validTargets.add(target);
+ }
+ else
+ logger.debug("Discarding hint for endpoint not part of ring: {}", target);
+ }
+ logger.trace("Adding hints for {}", validTargets);
+ HintsService.instance.write(hostIds, Hint.create(mutation, System.currentTimeMillis()));
+ validTargets.forEach(HintsService.instance.metrics::incrCreatedHints);
// Notify the handler only for CL == ANY
if (responseHandler != null && responseHandler.consistencyLevel == ConsistencyLevel.ANY)
responseHandler.response(null);
[12/18] cassandra git commit: Merge branch 'cassandra-2.2' into
cassandra-3.0
Posted by jm...@apache.org.
Merge branch 'cassandra-2.2' into cassandra-3.0
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/2a127138
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/2a127138
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/2a127138
Branch: refs/heads/trunk
Commit: 2a1271382a65095941583935a5de3b4d2031b736
Parents: 79bf03d 9f02182
Author: Joshua McKenzie <jm...@apache.org>
Authored: Fri Nov 13 09:48:50 2015 -0500
Committer: Joshua McKenzie <jm...@apache.org>
Committed: Fri Nov 13 09:48:50 2015 -0500
----------------------------------------------------------------------
----------------------------------------------------------------------
[11/18] cassandra git commit: Merge branch 'cassandra-2.2' into
cassandra-3.0
Posted by jm...@apache.org.
Merge branch 'cassandra-2.2' into cassandra-3.0
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/2a127138
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/2a127138
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/2a127138
Branch: refs/heads/cassandra-3.1
Commit: 2a1271382a65095941583935a5de3b4d2031b736
Parents: 79bf03d 9f02182
Author: Joshua McKenzie <jm...@apache.org>
Authored: Fri Nov 13 09:48:50 2015 -0500
Committer: Joshua McKenzie <jm...@apache.org>
Committed: Fri Nov 13 09:48:50 2015 -0500
----------------------------------------------------------------------
----------------------------------------------------------------------
[02/18] cassandra git commit: Fix missing host ID on hinted handoff
write
Posted by jm...@apache.org.
Fix missing host ID on hinted handoff write
Patch by pauloricardomg; reviewed by aweisberg for CASSANDRA-10485
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/e291382f
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e291382f
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e291382f
Branch: refs/heads/cassandra-2.2
Commit: e291382fd00e4c7fc9258116885267515da3c49c
Parents: 582b66f
Author: Paulo Motta <pa...@gmail.com>
Authored: Fri Nov 13 09:46:57 2015 -0500
Committer: Joshua McKenzie <jm...@apache.org>
Committed: Fri Nov 13 09:46:57 2015 -0500
----------------------------------------------------------------------
.../org/apache/cassandra/db/HintedHandOffManager.java | 12 +++++-------
src/java/org/apache/cassandra/service/StorageProxy.java | 11 ++++++-----
.../unit/org/apache/cassandra/db/HintedHandOffTest.java | 5 +++--
3 files changed, 14 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/e291382f/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 4fbdd27..0d3ef39 100644
--- a/src/java/org/apache/cassandra/db/HintedHandOffManager.java
+++ b/src/java/org/apache/cassandra/db/HintedHandOffManager.java
@@ -130,16 +130,14 @@ public class HintedHandOffManager implements HintedHandOffManagerMBean
* Returns a mutation representing a Hint to be sent to <code>targetId</code>
* as soon as it becomes available again.
*/
- public Mutation hintFor(Mutation mutation, long now, int ttl, UUID targetId)
+ public Mutation hintFor(Mutation mutation, long now, int ttl, Pair<InetAddress, UUID> target)
{
assert ttl > 0;
- InetAddress endpoint = StorageService.instance.getTokenMetadata().getEndpointForHostId(targetId);
- // during tests we may not have a matching endpoint, but this would be unexpected in real clusters
- if (endpoint != null)
- metrics.incrCreatedHints(endpoint);
- else
- logger.warn("Unable to find matching endpoint for target {} when storing a hint", targetId);
+ InetAddress endpoint = target.left;
+ UUID targetId = target.right;
+
+ metrics.incrCreatedHints(endpoint);
UUID hintId = UUIDGen.getTimeUUID();
// serialize the hint with id and version as a composite column name
http://git-wip-us.apache.org/repos/asf/cassandra/blob/e291382f/src/java/org/apache/cassandra/service/StorageProxy.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/StorageProxy.java b/src/java/org/apache/cassandra/service/StorageProxy.java
index 4f20ef0..b701015 100644
--- a/src/java/org/apache/cassandra/service/StorageProxy.java
+++ b/src/java/org/apache/cassandra/service/StorageProxy.java
@@ -983,14 +983,15 @@ public class StorageProxy implements StorageProxyMBean
public static void writeHintForMutation(Mutation mutation, long now, int ttl, InetAddress target)
{
assert ttl > 0;
+
UUID hostId = StorageService.instance.getTokenMetadata().getHostId(target);
- if (hostId == null)
+ if (hostId != null)
{
- logger.warn("Missing host Id for {}", target.getHostAddress());
- throw new AssertionError("Missing host Id for " + target.getHostAddress());
+ HintedHandOffManager.instance.hintFor(mutation, now, ttl, Pair.create(target, hostId)).apply();
+ StorageMetrics.totalHints.inc();
}
- HintedHandOffManager.instance.hintFor(mutation, now, ttl, hostId).apply();
- StorageMetrics.totalHints.inc();
+ else
+ logger.debug("Discarding hint for endpoint not part of ring: {}", target);
}
private static void sendMessagesToNonlocalDC(MessageOut<? extends IMutation> message, Collection<InetAddress> targets, AbstractWriteResponseHandler handler)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/e291382f/test/unit/org/apache/cassandra/db/HintedHandOffTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/db/HintedHandOffTest.java b/test/unit/org/apache/cassandra/db/HintedHandOffTest.java
index c29c08e..ad1e6cf 100644
--- a/test/unit/org/apache/cassandra/db/HintedHandOffTest.java
+++ b/test/unit/org/apache/cassandra/db/HintedHandOffTest.java
@@ -35,6 +35,7 @@ import org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy;
import org.apache.cassandra.db.marshal.Int32Type;
import org.apache.cassandra.db.marshal.UUIDType;
import org.apache.cassandra.utils.ByteBufferUtil;
+import org.apache.cassandra.utils.Pair;
import static org.junit.Assert.assertEquals;
import static org.apache.cassandra.cql3.QueryProcessor.executeInternal;
@@ -65,7 +66,7 @@ public class HintedHandOffTest extends SchemaLoader
HintedHandOffManager.instance.hintFor(rm,
System.currentTimeMillis(),
HintedHandOffManager.calculateHintTTL(rm),
- UUID.randomUUID())
+ Pair.create(InetAddress.getByName("127.0.0.1"), UUID.randomUUID()))
.apply();
// flush data to disk
@@ -106,7 +107,7 @@ public class HintedHandOffTest extends SchemaLoader
HintedHandOffManager.instance.hintFor(rm,
System.currentTimeMillis(),
HintedHandOffManager.calculateHintTTL(rm),
- UUID.randomUUID())
+ Pair.create(InetAddress.getByName("127.0.0.1"), UUID.randomUUID()))
.apply();
assert getNoOfHints() == 1;