You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by yu...@apache.org on 2015/09/01 16:23:16 UTC
[1/6] cassandra git commit: Fix repair hang when snapshot failed
Repository: cassandra
Updated Branches:
refs/heads/cassandra-2.2 c2b6dd450 -> 0a4ce4449
refs/heads/cassandra-3.0 00f0feb31 -> 44e19947f
refs/heads/trunk cdbc06f6d -> 1b60ffd89
Fix repair hang when snapshot failed
patch by yukim reviewed by marcuse for CASSANDRA-10057
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/0a4ce444
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/0a4ce444
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/0a4ce444
Branch: refs/heads/cassandra-2.2
Commit: 0a4ce4449f137a959b02fee14e1fdd427ccd520e
Parents: c2b6dd4
Author: Yuki Morishita <yu...@apache.org>
Authored: Tue Sep 1 08:58:34 2015 -0500
Committer: Yuki Morishita <yu...@apache.org>
Committed: Tue Sep 1 09:20:06 2015 -0500
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../apache/cassandra/repair/RepairMessageVerbHandler.java | 9 +++++++--
2 files changed, 8 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/0a4ce444/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index d9f8a50..ffff102 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
2.2.2
+ * Fix repair hang when snapshot failed (CASSANDRA-10057)
* Fall back to 1/4 commitlog volume for commitlog_total_space on small disks
(CASSANDRA-10199)
Merged from 2.1:
http://git-wip-us.apache.org/repos/asf/cassandra/blob/0a4ce444/src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java b/src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java
index 796f135..41d79aa 100644
--- a/src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java
+++ b/src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java
@@ -88,7 +88,7 @@ public class RepairMessageVerbHandler implements IVerbHandler<RepairMessage>
case SNAPSHOT:
logger.debug("Snapshotting {}", desc);
- ColumnFamilyStore cfs = Keyspace.open(desc.keyspace).getColumnFamilyStore(desc.columnFamily);
+ final ColumnFamilyStore cfs = Keyspace.open(desc.keyspace).getColumnFamilyStore(desc.columnFamily);
final Range<Token> repairingRange = desc.range;
Set<SSTableReader> snapshottedSSSTables = cfs.snapshot(desc.sessionId.toString(), new Predicate<SSTableReader>()
{
@@ -103,8 +103,13 @@ public class RepairMessageVerbHandler implements IVerbHandler<RepairMessage>
Set<SSTableReader> currentlyRepairing = ActiveRepairService.instance.currentlyRepairing(cfs.metadata.cfId, desc.parentSessionId);
if (!Sets.intersection(currentlyRepairing, snapshottedSSSTables).isEmpty())
{
+ // clear snapshot that we just created
+ cfs.clearSnapshot(desc.sessionId.toString());
logger.error("Cannot start multiple repair sessions over the same sstables");
- throw new RuntimeException("Cannot start multiple repair sessions over the same sstables");
+ MessageOut reply = new MessageOut(MessagingService.Verb.INTERNAL_RESPONSE)
+ .withParameter(MessagingService.FAILURE_RESPONSE_PARAM, MessagingService.ONE_BYTE);
+ MessagingService.instance().sendReply(reply, id, message.from);
+ return;
}
ActiveRepairService.instance.getParentRepairSession(desc.parentSessionId).addSSTables(cfs.metadata.cfId, snapshottedSSSTables);
logger.debug("Enqueuing response to snapshot request {} to {}", desc.sessionId, message.from);
[5/6] cassandra git commit: Merge branch 'cassandra-2.2' into
cassandra-3.0
Posted by yu...@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/44e19947
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/44e19947
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/44e19947
Branch: refs/heads/cassandra-3.0
Commit: 44e19947f451945788c6f8fbaa167255347389a6
Parents: 00f0feb 0a4ce44
Author: Yuki Morishita <yu...@apache.org>
Authored: Tue Sep 1 09:22:52 2015 -0500
Committer: Yuki Morishita <yu...@apache.org>
Committed: Tue Sep 1 09:22:52 2015 -0500
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../org/apache/cassandra/repair/RepairMessageVerbHandler.java | 7 ++++++-
2 files changed, 7 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/44e19947/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 6a0b0b6,ffff102..6539792
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,18 -1,5 +1,19 @@@
-2.2.2
+3.0.0-beta2
+ * Require AbstractType.isByteOrderComparable declaration in constructor (CASSANDRA-9901)
+ * Avoid digest mismatch on upgrade to 3.0 (CASSANDRA-9554)
+ * Fix Materialized View builder when adding multiple MVs (CASSANDRA-10156)
+ * Choose better poolingOptions for protocol v4 in cassandra-stress (CASSANDRA-10182)
+ * Fix LWW bug affecting Materialized Views (CASSANDRA-10197)
+ * Ensures frozen sets and maps are always sorted (CASSANDRA-10162)
+ * Don't deadlock when flushing CFS backed custom indexes (CASSANDRA-10181)
+ * Fix double flushing of secondary index tables (CASSANDRA-10180)
+ * Fix incorrect handling of range tombstones in thrift (CASSANDRA-10046)
+ * Only use batchlog when paired materialized view replica is remote (CASSANDRA-10061)
+ * Reuse TemporalRow when updating multiple MaterializedViews (CASSANDRA-10060)
+ * Validate gc_grace_seconds for batchlog writes and MVs (CASSANDRA-9917)
+ * Fix sstablerepairedset (CASSANDRA-10132)
+Merged from 2.2:
+ * Fix repair hang when snapshot failed (CASSANDRA-10057)
* Fall back to 1/4 commitlog volume for commitlog_total_space on small disks
(CASSANDRA-10199)
Merged from 2.1:
http://git-wip-us.apache.org/repos/asf/cassandra/blob/44e19947/src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java
----------------------------------------------------------------------
[3/6] cassandra git commit: Fix repair hang when snapshot failed
Posted by yu...@apache.org.
Fix repair hang when snapshot failed
patch by yukim reviewed by marcuse for CASSANDRA-10057
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/0a4ce444
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/0a4ce444
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/0a4ce444
Branch: refs/heads/trunk
Commit: 0a4ce4449f137a959b02fee14e1fdd427ccd520e
Parents: c2b6dd4
Author: Yuki Morishita <yu...@apache.org>
Authored: Tue Sep 1 08:58:34 2015 -0500
Committer: Yuki Morishita <yu...@apache.org>
Committed: Tue Sep 1 09:20:06 2015 -0500
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../apache/cassandra/repair/RepairMessageVerbHandler.java | 9 +++++++--
2 files changed, 8 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/0a4ce444/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index d9f8a50..ffff102 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
2.2.2
+ * Fix repair hang when snapshot failed (CASSANDRA-10057)
* Fall back to 1/4 commitlog volume for commitlog_total_space on small disks
(CASSANDRA-10199)
Merged from 2.1:
http://git-wip-us.apache.org/repos/asf/cassandra/blob/0a4ce444/src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java b/src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java
index 796f135..41d79aa 100644
--- a/src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java
+++ b/src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java
@@ -88,7 +88,7 @@ public class RepairMessageVerbHandler implements IVerbHandler<RepairMessage>
case SNAPSHOT:
logger.debug("Snapshotting {}", desc);
- ColumnFamilyStore cfs = Keyspace.open(desc.keyspace).getColumnFamilyStore(desc.columnFamily);
+ final ColumnFamilyStore cfs = Keyspace.open(desc.keyspace).getColumnFamilyStore(desc.columnFamily);
final Range<Token> repairingRange = desc.range;
Set<SSTableReader> snapshottedSSSTables = cfs.snapshot(desc.sessionId.toString(), new Predicate<SSTableReader>()
{
@@ -103,8 +103,13 @@ public class RepairMessageVerbHandler implements IVerbHandler<RepairMessage>
Set<SSTableReader> currentlyRepairing = ActiveRepairService.instance.currentlyRepairing(cfs.metadata.cfId, desc.parentSessionId);
if (!Sets.intersection(currentlyRepairing, snapshottedSSSTables).isEmpty())
{
+ // clear snapshot that we just created
+ cfs.clearSnapshot(desc.sessionId.toString());
logger.error("Cannot start multiple repair sessions over the same sstables");
- throw new RuntimeException("Cannot start multiple repair sessions over the same sstables");
+ MessageOut reply = new MessageOut(MessagingService.Verb.INTERNAL_RESPONSE)
+ .withParameter(MessagingService.FAILURE_RESPONSE_PARAM, MessagingService.ONE_BYTE);
+ MessagingService.instance().sendReply(reply, id, message.from);
+ return;
}
ActiveRepairService.instance.getParentRepairSession(desc.parentSessionId).addSSTables(cfs.metadata.cfId, snapshottedSSSTables);
logger.debug("Enqueuing response to snapshot request {} to {}", desc.sessionId, message.from);
[6/6] cassandra git commit: Merge branch 'cassandra-3.0' into trunk
Posted by yu...@apache.org.
Merge branch 'cassandra-3.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/1b60ffd8
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/1b60ffd8
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/1b60ffd8
Branch: refs/heads/trunk
Commit: 1b60ffd89a8b801ed61a6bc85e99235e670702c7
Parents: cdbc06f 44e1994
Author: Yuki Morishita <yu...@apache.org>
Authored: Tue Sep 1 09:22:58 2015 -0500
Committer: Yuki Morishita <yu...@apache.org>
Committed: Tue Sep 1 09:22:58 2015 -0500
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../org/apache/cassandra/repair/RepairMessageVerbHandler.java | 7 ++++++-
2 files changed, 7 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/1b60ffd8/CHANGES.txt
----------------------------------------------------------------------
[4/6] cassandra git commit: Merge branch 'cassandra-2.2' into
cassandra-3.0
Posted by yu...@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/44e19947
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/44e19947
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/44e19947
Branch: refs/heads/trunk
Commit: 44e19947f451945788c6f8fbaa167255347389a6
Parents: 00f0feb 0a4ce44
Author: Yuki Morishita <yu...@apache.org>
Authored: Tue Sep 1 09:22:52 2015 -0500
Committer: Yuki Morishita <yu...@apache.org>
Committed: Tue Sep 1 09:22:52 2015 -0500
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../org/apache/cassandra/repair/RepairMessageVerbHandler.java | 7 ++++++-
2 files changed, 7 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/44e19947/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 6a0b0b6,ffff102..6539792
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,18 -1,5 +1,19 @@@
-2.2.2
+3.0.0-beta2
+ * Require AbstractType.isByteOrderComparable declaration in constructor (CASSANDRA-9901)
+ * Avoid digest mismatch on upgrade to 3.0 (CASSANDRA-9554)
+ * Fix Materialized View builder when adding multiple MVs (CASSANDRA-10156)
+ * Choose better poolingOptions for protocol v4 in cassandra-stress (CASSANDRA-10182)
+ * Fix LWW bug affecting Materialized Views (CASSANDRA-10197)
+ * Ensures frozen sets and maps are always sorted (CASSANDRA-10162)
+ * Don't deadlock when flushing CFS backed custom indexes (CASSANDRA-10181)
+ * Fix double flushing of secondary index tables (CASSANDRA-10180)
+ * Fix incorrect handling of range tombstones in thrift (CASSANDRA-10046)
+ * Only use batchlog when paired materialized view replica is remote (CASSANDRA-10061)
+ * Reuse TemporalRow when updating multiple MaterializedViews (CASSANDRA-10060)
+ * Validate gc_grace_seconds for batchlog writes and MVs (CASSANDRA-9917)
+ * Fix sstablerepairedset (CASSANDRA-10132)
+Merged from 2.2:
+ * Fix repair hang when snapshot failed (CASSANDRA-10057)
* Fall back to 1/4 commitlog volume for commitlog_total_space on small disks
(CASSANDRA-10199)
Merged from 2.1:
http://git-wip-us.apache.org/repos/asf/cassandra/blob/44e19947/src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java
----------------------------------------------------------------------
[2/6] cassandra git commit: Fix repair hang when snapshot failed
Posted by yu...@apache.org.
Fix repair hang when snapshot failed
patch by yukim reviewed by marcuse for CASSANDRA-10057
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/0a4ce444
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/0a4ce444
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/0a4ce444
Branch: refs/heads/cassandra-3.0
Commit: 0a4ce4449f137a959b02fee14e1fdd427ccd520e
Parents: c2b6dd4
Author: Yuki Morishita <yu...@apache.org>
Authored: Tue Sep 1 08:58:34 2015 -0500
Committer: Yuki Morishita <yu...@apache.org>
Committed: Tue Sep 1 09:20:06 2015 -0500
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../apache/cassandra/repair/RepairMessageVerbHandler.java | 9 +++++++--
2 files changed, 8 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/0a4ce444/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index d9f8a50..ffff102 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
2.2.2
+ * Fix repair hang when snapshot failed (CASSANDRA-10057)
* Fall back to 1/4 commitlog volume for commitlog_total_space on small disks
(CASSANDRA-10199)
Merged from 2.1:
http://git-wip-us.apache.org/repos/asf/cassandra/blob/0a4ce444/src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java b/src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java
index 796f135..41d79aa 100644
--- a/src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java
+++ b/src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java
@@ -88,7 +88,7 @@ public class RepairMessageVerbHandler implements IVerbHandler<RepairMessage>
case SNAPSHOT:
logger.debug("Snapshotting {}", desc);
- ColumnFamilyStore cfs = Keyspace.open(desc.keyspace).getColumnFamilyStore(desc.columnFamily);
+ final ColumnFamilyStore cfs = Keyspace.open(desc.keyspace).getColumnFamilyStore(desc.columnFamily);
final Range<Token> repairingRange = desc.range;
Set<SSTableReader> snapshottedSSSTables = cfs.snapshot(desc.sessionId.toString(), new Predicate<SSTableReader>()
{
@@ -103,8 +103,13 @@ public class RepairMessageVerbHandler implements IVerbHandler<RepairMessage>
Set<SSTableReader> currentlyRepairing = ActiveRepairService.instance.currentlyRepairing(cfs.metadata.cfId, desc.parentSessionId);
if (!Sets.intersection(currentlyRepairing, snapshottedSSSTables).isEmpty())
{
+ // clear snapshot that we just created
+ cfs.clearSnapshot(desc.sessionId.toString());
logger.error("Cannot start multiple repair sessions over the same sstables");
- throw new RuntimeException("Cannot start multiple repair sessions over the same sstables");
+ MessageOut reply = new MessageOut(MessagingService.Verb.INTERNAL_RESPONSE)
+ .withParameter(MessagingService.FAILURE_RESPONSE_PARAM, MessagingService.ONE_BYTE);
+ MessagingService.instance().sendReply(reply, id, message.from);
+ return;
}
ActiveRepairService.instance.getParentRepairSession(desc.parentSessionId).addSSTables(cfs.metadata.cfId, snapshottedSSSTables);
logger.debug("Enqueuing response to snapshot request {} to {}", desc.sessionId, message.from);