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();
         }