You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by jb...@apache.org on 2010/10/02 07:04:44 UTC
svn commit: r1003742 - in /cassandra/branches/cassandra-0.6: CHANGES.txt
src/java/org/apache/cassandra/db/commitlog/CommitLog.java
src/java/org/apache/cassandra/db/commitlog/CommitLogHeader.java
Author: jbellis
Date: Sat Oct 2 05:04:42 2010
New Revision: 1003742
URL: http://svn.apache.org/viewvc?rev=1003742&view=rev
Log:
remove assertion causing rare (and harmless) error messages in commitlog. patch by jbellis; reviewed by mdennis for CASSANDRA-1330
Modified:
cassandra/branches/cassandra-0.6/CHANGES.txt
cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/db/commitlog/CommitLog.java
cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/db/commitlog/CommitLogHeader.java
Modified: cassandra/branches/cassandra-0.6/CHANGES.txt
URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.6/CHANGES.txt?rev=1003742&r1=1003741&r2=1003742&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.6/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.6/CHANGES.txt Sat Oct 2 05:04:42 2010
@@ -37,6 +37,8 @@
* add memtable, cache information to GCInspector logs (CASSANDRA-1558)
* enable/disable HintedHandoff via JMX (CASSANDRA-1550)
* allow nodes to change IPs between restarts (CASSANDRA-1518)
+ * remove assertion causing rare (and harmless) error messages in
+ commitlog (CASSANDRA-1330)
0.6.5
Modified: cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/db/commitlog/CommitLog.java
URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/db/commitlog/CommitLog.java?rev=1003742&r1=1003741&r2=1003742&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/db/commitlog/CommitLog.java (original)
+++ cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/db/commitlog/CommitLog.java Sat Oct 2 05:04:42 2010
@@ -376,12 +376,6 @@ public class CommitLog
logger.debug("discard completed log segments for " + context + ", column family " + id + ". CFIDs are " + Table.TableMetadata.getColumnFamilyIDString());
/*
- * log replay assumes that we only have to look at entries past the last
- * flush position, so verify that this flush happens after the last. See CASSANDRA-936
- */
- assert context.position >= context.getSegment().getHeader().getPosition(id)
- : "discard at " + context + " is not after last flush at " + context.getSegment().getHeader().getPosition(id);
- /*
* Loop through all the commit log files in the history. Now process
* all files that are older than the one in the context. For each of
* these files the header needs to modified by resetting the dirty
Modified: cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/db/commitlog/CommitLogHeader.java
URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/db/commitlog/CommitLogHeader.java?rev=1003742&r1=1003741&r2=1003742&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/db/commitlog/CommitLogHeader.java (original)
+++ cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/db/commitlog/CommitLogHeader.java Sat Oct 2 05:04:42 2010
@@ -20,7 +20,6 @@ package org.apache.cassandra.db.commitlo
import java.io.*;
import java.util.BitSet;
-import java.util.Arrays;
import org.apache.cassandra.db.Table;
import org.apache.cassandra.io.ICompactSerializer;
@@ -39,7 +38,7 @@ class CommitLogHeader
static int getLowestPosition(CommitLogHeader clHeader)
{
int minPosition = Integer.MAX_VALUE;
- for ( int position : clHeader.lastFlushedAt)
+ for (int position : clHeader.cfDirtiedAt)
{
if ( position < minPosition && position > 0)
{
@@ -53,12 +52,12 @@ class CommitLogHeader
}
private BitSet dirty; // columnfamilies with un-flushed data in this CommitLog
- private int[] lastFlushedAt; // position at which each CF was last flushed
+ private int[] cfDirtiedAt; // position at which each CF was last flushed
CommitLogHeader(int size)
{
dirty = new BitSet(size);
- lastFlushedAt = new int[size];
+ cfDirtiedAt = new int[size];
}
/*
@@ -66,10 +65,10 @@ class CommitLogHeader
* also builds an index of position to column family
* Id.
*/
- CommitLogHeader(BitSet dirty, int[] lastFlushedAt)
+ CommitLogHeader(BitSet dirty, int[] cfDirtiedAt)
{
this.dirty = dirty;
- this.lastFlushedAt = lastFlushedAt;
+ this.cfDirtiedAt = cfDirtiedAt;
}
boolean isDirty(int index)
@@ -79,19 +78,19 @@ class CommitLogHeader
int getPosition(int index)
{
- return lastFlushedAt[index];
+ return cfDirtiedAt[index];
}
void turnOn(int index, long position)
{
dirty.set(index);
- lastFlushedAt[index] = (int) position;
+ cfDirtiedAt[index] = (int) position;
}
void turnOff(int index)
{
dirty.set(index, false);
- lastFlushedAt[index] = 0;
+ cfDirtiedAt[index] = 0;
}
boolean isSafeToDelete() throws IOException
@@ -119,9 +118,9 @@ class CommitLogHeader
}
}
sb.append("}, flushed={");
- for (int i = 0; i < lastFlushedAt.length; i++)
+ for (int i = 0; i < cfDirtiedAt.length; i++)
{
- sb.append(Table.TableMetadata.getColumnFamilyName(i)).append(": ").append(lastFlushedAt[i]).append(", ");
+ sb.append(Table.TableMetadata.getColumnFamilyName(i)).append(": ").append(cfDirtiedAt[i]).append(", ");
}
sb.append("})");
return sb.toString();
@@ -151,7 +150,7 @@ class CommitLogHeader
public int getColumnFamilyCount()
{
- return lastFlushedAt.length;
+ return cfDirtiedAt.length;
}
static class CommitLogHeaderSerializer implements ICompactSerializer<CommitLogHeader>
@@ -159,8 +158,8 @@ class CommitLogHeader
public void serialize(CommitLogHeader clHeader, DataOutputStream dos) throws IOException
{
BitSetSerializer.serialize(clHeader.dirty, dos);
- dos.writeInt(clHeader.lastFlushedAt.length);
- for (int position : clHeader.lastFlushedAt)
+ dos.writeInt(clHeader.cfDirtiedAt.length);
+ for (int position : clHeader.cfDirtiedAt)
{
dos.writeInt(position);
}