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 16:04:04 UTC
[3/6] cassandra git commit: Fix assertion in LogFile when disk is full
Fix assertion in LogFile when disk is full
Patch by stefania; reviewed by aweisberg for CASSANDRA-10538
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/32239272
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/32239272
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/32239272
Branch: refs/heads/trunk
Commit: 32239272924e3bf8053aa51adc86d83ceeb39268
Parents: cb102da
Author: Stefania Alborghetti <st...@datastax.com>
Authored: Fri Nov 13 10:02:10 2015 -0500
Committer: Joshua McKenzie <jm...@apache.org>
Committed: Fri Nov 13 10:02:10 2015 -0500
----------------------------------------------------------------------
src/java/org/apache/cassandra/db/lifecycle/LogFile.java | 7 ++++---
.../org/apache/cassandra/db/lifecycle/LogTransaction.java | 6 ++----
2 files changed, 6 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/32239272/src/java/org/apache/cassandra/db/lifecycle/LogFile.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/lifecycle/LogFile.java b/src/java/org/apache/cassandra/db/lifecycle/LogFile.java
index 4318f9c..8657869 100644
--- a/src/java/org/apache/cassandra/db/lifecycle/LogFile.java
+++ b/src/java/org/apache/cassandra/db/lifecycle/LogFile.java
@@ -274,11 +274,12 @@ final class LogFile
private boolean addRecord(LogRecord record)
{
- if (!records.add(record))
+ if (records.contains(record))
return false;
replicas.append(record);
- return true;
+
+ return records.add(record);
}
void remove(Type type, SSTable table)
@@ -286,8 +287,8 @@ final class LogFile
LogRecord record = makeRecord(type, table);
assert records.contains(record) : String.format("[%s] is not tracked by %s", record, id);
- records.remove(record);
deleteRecordFiles(record);
+ records.remove(record);
}
boolean contains(Type type, SSTable table)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/32239272/src/java/org/apache/cassandra/db/lifecycle/LogTransaction.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/lifecycle/LogTransaction.java b/src/java/org/apache/cassandra/db/lifecycle/LogTransaction.java
index 8b82207..ce76165 100644
--- a/src/java/org/apache/cassandra/db/lifecycle/LogTransaction.java
+++ b/src/java/org/apache/cassandra/db/lifecycle/LogTransaction.java
@@ -367,14 +367,12 @@ class LogTransaction extends Transactional.AbstractTransactional implements Tran
protected Throwable doCommit(Throwable accumulate)
{
- txnFile.commit();
- return complete(accumulate);
+ return complete(Throwables.perform(accumulate, txnFile::commit));
}
protected Throwable doAbort(Throwable accumulate)
{
- txnFile.abort();
- return complete(accumulate);
+ return complete(Throwables.perform(accumulate, txnFile::abort));
}
protected void doPrepare() { }