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 2011/03/09 21:43:56 UTC
svn commit: r1079984 - in /cassandra/branches/cassandra-0.7: build.xml
src/java/org/apache/cassandra/db/CompactionManager.java
src/java/org/apache/cassandra/io/sstable/SSTableWriter.java
Author: jbellis
Date: Wed Mar 9 20:43:55 2011
New Revision: 1079984
URL: http://svn.apache.org/viewvc?rev=1079984&view=rev
Log:
add ant.test.failure.ignore property to optionally allow codecoverage to complete even if tests error out
patch by Stephen Connolly; tested by jbellis for CASSANDRA-2298
Modified:
cassandra/branches/cassandra-0.7/build.xml
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/CompactionManager.java
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java
Modified: cassandra/branches/cassandra-0.7/build.xml
URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/build.xml?rev=1079984&r1=1079983&r2=1079984&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.7/build.xml (original)
+++ cassandra/branches/cassandra-0.7/build.xml Wed Mar 9 20:43:55 2011
@@ -559,7 +559,16 @@
<fileset dir="@{inputdir}" includes="@{filter}" />
</batchtest>
</junit>
- <fail if="testfailed" message="Some @{suitename} test(s) failed."/>
+ <fail message="Some @{suitename} test(s) failed.">
+ <condition>
+ <and>
+ <isset property="testfailed"/>
+ <not>
+ <isset property="ant.test.failure.ignore"/>
+ </not>
+ </and>
+ </condition>
+ </fail>
</sequential>
</macrodef>
Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/CompactionManager.java
URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/CompactionManager.java?rev=1079984&r1=1079983&r2=1079984&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/CompactionManager.java (original)
+++ cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/CompactionManager.java Wed Mar 9 20:43:55 2011
@@ -927,7 +927,7 @@ public class CompactionManager implement
return executor.submit(runnable);
}
- public Future<SSTableReader> submitSSTableBuild(Descriptor desc)
+ public Future<SSTableReader> submitSSTableBuild(final Descriptor desc)
{
// invalid descriptions due to missing or dropped CFS are handled by SSTW and StreamInSession.
final SSTableWriter.Builder builder = SSTableWriter.createBuilder(desc);
@@ -938,7 +938,7 @@ public class CompactionManager implement
compactionLock.lock();
try
{
- executor.beginCompaction(builder.cfs.columnFamily, builder);
+ executor.beginCompaction(desc.cfname, builder);
return builder.build();
}
finally
Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java
URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java?rev=1079984&r1=1079983&r2=1079984&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java (original)
+++ cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java Wed Mar 9 20:43:55 2011
@@ -244,7 +244,7 @@ public class SSTableWriter extends SSTab
public static class Builder implements ICompactionInfo
{
private final Descriptor desc;
- public final ColumnFamilyStore cfs;
+ private final ColumnFamilyStore cfs;
private BufferedRandomAccessFile dfile;
public Builder(Descriptor desc)
@@ -252,6 +252,14 @@ public class SSTableWriter extends SSTab
this.desc = desc;
cfs = Table.open(desc.ksname).getColumnFamilyStore(desc.cfname);
+ }
+
+ // lazy-initialize the file to avoid opening it until it's actually executing on the CompactionManager,
+ // since the 8MB buffers can use up heap quickly
+ private void maybeOpenFile()
+ {
+ if (dfile != null)
+ return;
try
{
dfile = new BufferedRandomAccessFile(new File(desc.filenameFor(SSTable.COMPONENT_DATA)), "r", 8 * 1024 * 1024, true);
@@ -266,6 +274,8 @@ public class SSTableWriter extends SSTab
{
if (cfs.isInvalid())
return null;
+ maybeOpenFile();
+
File ifile = new File(desc.filenameFor(SSTable.COMPONENT_INDEX));
File ffile = new File(desc.filenameFor(SSTable.COMPONENT_FILTER));
assert !ifile.exists();
@@ -332,8 +342,10 @@ public class SSTableWriter extends SSTab
public long getTotalBytes()
{
+ maybeOpenFile();
try
{
+ // (length is still valid post-close)
return dfile.length();
}
catch (IOException e)
@@ -344,6 +356,8 @@ public class SSTableWriter extends SSTab
public long getBytesComplete()
{
+ maybeOpenFile();
+ // (getFilePointer is still valid post-close)
return dfile.getFilePointer();
}