Author: jbellis
Date: Wed Sep 23 01:57:27 2009
New Revision: 817927

URL: http://svn.apache.org/viewvc?rev=817927&view=rev
Log:
r/m unused commitlogcontext arg to flush. synchronize getTempSSTablePath
patch by jbellis; reviewed by goffinet for CASSANDRA-401

Modified:
    
incubator/cassandra/trunk/src/java/org/apache/cassandra/db/BinaryMemtable.java
    
incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
    incubator/cassandra/trunk/src/java/org/apache/cassandra/db/CommitLog.java
    incubator/cassandra/trunk/src/java/org/apache/cassandra/db/Memtable.java

Modified: 
incubator/cassandra/trunk/src/java/org/apache/cassandra/db/BinaryMemtable.java
URL: 
http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/db/BinaryMemtable.java?rev=817927&r1=817926&r2=817927&view=diff
==============================================================================
--- 
incubator/cassandra/trunk/src/java/org/apache/cassandra/db/BinaryMemtable.java 
(original)
+++ 
incubator/cassandra/trunk/src/java/org/apache/cassandra/db/BinaryMemtable.java 
Wed Sep 23 01:57:27 2009
@@ -134,7 +134,7 @@
     */
     void flush() throws IOException
     {
-        if ( columnFamilies_.size() == 0 )
+        if (columnFamilies_.size() == 0)
             return;
 
         /*
@@ -146,20 +146,8 @@
         SSTableWriter writer;
         ColumnFamilyStore cfStore = 
Table.open(table_).getColumnFamilyStore(cfName_);
         List<DecoratedKey> keys = new ArrayList<DecoratedKey>( 
columnFamilies_.keySet() );
-        /*
-            Adding a lock here so data directories are evenly used. By default 
currentIndex
-            is incremented, not an AtomicInteger. Let's fix this!
-         */
-        lock_.lock();
-        try
-        {
-            path = cfStore.getTempSSTablePath();
-            writer = new SSTableWriter(path, keys.size(), 
StorageService.getPartitioner());
-        }
-        finally
-        {
-            lock_.unlock();
-        }
+        path = cfStore.getTempSSTablePath();
+        writer = new SSTableWriter(path, keys.size(), 
StorageService.getPartitioner());
 
         Collections.sort(keys, partitioner_.getDecoratedKeyObjComparator());
 

Modified: 
incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
URL: 
http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java?rev=817927&r1=817926&r2=817927&view=diff
==============================================================================
--- 
incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
 (original)
+++ 
incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
 Wed Sep 23 01:57:27 2009
@@ -310,7 +310,7 @@
      * When the sstable object is closed, it will be renamed to a non-temporary
      * format, so incomplete sstables can be recognized and removed on startup.
      */
-    String getTempSSTablePath()
+    synchronized String getTempSSTablePath()
     {
         String fname = getTempSSTableFileName();
         return new 
File(DatabaseDescriptor.getDataFileLocationForTable(table_), 
fname).getAbsolutePath();
@@ -343,7 +343,7 @@
             logger_.info(columnFamily_ + " has reached its threshold; 
switching in a fresh Memtable");
             oldMemtable.freeze();
             getMemtablesPendingFlushNotNull(columnFamily_).add(oldMemtable); 
// it's ok for the MT to briefly be both active and pendingFlush
-            final Future<?> future = submitFlush(oldMemtable, ctx);
+            final Future<?> future = submitFlush(oldMemtable);
             memtable_ = new Memtable(table_, columnFamily_);
             // a second executor that makes sure the onMemtableFlushes get 
called in the right order,
             // while keeping the wait-for-flush (future.get) out of anything 
latency-sensitive.
@@ -888,7 +888,7 @@
     }
 
     /* Submit memtables to be flushed to disk */
-    private static Future<?> submitFlush(final Memtable memtable, final 
CommitLog.CommitLogContext cLogCtx)
+    private static Future<?> submitFlush(final Memtable memtable)
     {
         logger_.info("Enqueuing flush of " + memtable);
         return flusher_.submit(new Runnable()
@@ -897,7 +897,7 @@
             {
                 try
                 {
-                    memtable.flush(cLogCtx);
+                    memtable.flush();
                 }
                 catch (IOException e)
                 {

Modified: 
incubator/cassandra/trunk/src/java/org/apache/cassandra/db/CommitLog.java
URL: 
http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/db/CommitLog.java?rev=817927&r1=817926&r2=817927&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/db/CommitLog.java 
(original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/db/CommitLog.java 
Wed Sep 23 01:57:27 2009
@@ -81,7 +81,6 @@
 
     public static final class CommitLogContext
     {
-        static CommitLogContext NULL = new CommitLogContext(null, -1L);
         /* Commit Log associated with this operation */
         public final String file;
         /* Offset within the Commit Log where this row as added */

Modified: 
incubator/cassandra/trunk/src/java/org/apache/cassandra/db/Memtable.java
URL: 
http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/db/Memtable.java?rev=817927&r1=817926&r2=817927&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/db/Memtable.java 
(original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/db/Memtable.java 
Wed Sep 23 01:57:27 2009
@@ -171,7 +171,7 @@
      *  only the recover code should call this. */
     void flushOnRecovery() throws IOException {
         if (!isClean())
-            flush(CommitLog.CommitLogContext.NULL);
+            flush();
     }
 
     // for debugging
@@ -187,7 +187,7 @@
         return builder.toString();
     }
 
-    void flush(CommitLog.CommitLogContext cLogCtx) throws IOException
+    void flush() throws IOException
     {
         logger_.info("Flushing " + this);
         ColumnFamilyStore cfStore = 
Table.open(table_).getColumnFamilyStore(cfName_);


Reply via email to