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 2009/09/10 20:48:19 UTC
svn commit: r813542 - in
/incubator/cassandra/trunk/src/java/org/apache/cassandra/db:
BinaryMemtable.java ColumnFamilyStore.java Memtable.java Table.java
Author: jbellis
Date: Thu Sep 10 18:48:19 2009
New Revision: 813542
URL: http://svn.apache.org/viewvc?rev=813542&view=rev
Log:
combine addToList and storeLocation; rename to addSSTable
patch by jbellis; reviewed by Chris Goffinet for CASSANDRA-414
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/Memtable.java
incubator/cassandra/trunk/src/java/org/apache/cassandra/db/Table.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=813542&r1=813541&r2=813542&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 Thu Sep 10 18:48:19 2009
@@ -175,7 +175,7 @@
writer.append(key, bytes);
}
}
- cfStore.storeLocation(writer.closeAndOpenReader());
+ cfStore.addSSTable(writer.closeAndOpenReader());
columnFamilies_.clear();
}
}
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=813542&r1=813541&r2=813542&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 Thu Sep 10 18:48:19 2009
@@ -238,24 +238,7 @@
sb.append(newLineSeparator);
return sb.toString();
}
-
- /*
- * This is called after bootstrap to add the files
- * to the list of files maintained.
- */
- void addToList(SSTableReader file)
- {
- sstableLock_.writeLock().lock();
- try
- {
- ssTables_.put(file.getFilename(), file);
- }
- finally
- {
- sstableLock_.writeLock().unlock();
- }
- }
-
+
/*
* This method forces a compaction of the SSTables on disk. We wait
* for the process to complete by waiting on a future pointer.
@@ -574,7 +557,8 @@
}
/*
- * Called after the Memtable flushes its in-memory data. This information is
+ * Called after the Memtable flushes its in-memory data, or we add a file
+ * via bootstrap. This information is
* cached in the ColumnFamilyStore. This is useful for reads because the
* ColumnFamilyStore first looks in the in-memory store and the into the
* disk to find the key. If invoked during recoveryMode the
@@ -583,7 +567,7 @@
* param @ filename - filename just flushed to disk
* param @ bf - bloom filter which indicates the keys that are in this file.
*/
- void storeLocation(SSTableReader sstable)
+ void addSSTable(SSTableReader sstable)
{
int ssTableCount;
sstableLock_.writeLock().lock();
@@ -603,7 +587,7 @@
if (ssTableCount >= MinorCompactionManager.MINCOMPACTION_THRESHOLD)
{
if (logger_.isDebugEnabled())
- logger_.debug("Submitting " + columnFamily_ + " for compaction");
+ logger_.debug("Added " + sstable.getFilename() + ". Submitting " + columnFamily_ + " for compaction");
MinorCompactionManager.instance().submit(this);
}
}
@@ -674,6 +658,7 @@
*/
int doCompaction(int minThreshold, int maxThreshold) throws IOException
{
+ logger_.debug("Checking to see if compaction of " + columnFamily_ + " would be useful");
int filesCompacted = 0;
for (List<SSTableReader> sstables : getCompactionBuckets(ssTables_.values(), 50L * 1024L * 1024L))
{
@@ -686,6 +671,7 @@
Collections.sort(sstables);
filesCompacted += doFileCompaction(sstables.subList(0, Math.min(sstables.size(), maxThreshold)));
}
+ logger_.debug(filesCompacted + " files compacted");
return filesCompacted;
}
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=813542&r1=813541&r2=813542&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 Thu Sep 10 18:48:19 2009
@@ -214,7 +214,7 @@
}
SSTableReader ssTable = writer.closeAndOpenReader();
cfStore.onMemtableFlush(cLogCtx);
- cfStore.storeLocation(ssTable);
+ cfStore.addSSTable(ssTable);
buffer.close();
isFlushed_ = true;
logger_.info("Completed flushing " + this);
Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/db/Table.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/db/Table.java?rev=813542&r1=813541&r2=813542&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/db/Table.java (original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/db/Table.java Thu Sep 10 18:48:19 2009
@@ -23,18 +23,12 @@
import java.io.File;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
-import java.util.concurrent.ExecutionException;
-
-import org.apache.commons.collections.IteratorUtils;
-import org.apache.commons.collections.Predicate;
-import org.apache.commons.lang.ArrayUtils;
import org.apache.cassandra.config.DatabaseDescriptor;
import org.apache.cassandra.dht.BootstrapInitiateMessage;
import org.apache.cassandra.dht.Range;
import org.apache.cassandra.io.DataInputBuffer;
import org.apache.cassandra.io.SSTableReader;
-import org.apache.cassandra.io.FileStruct;
import org.apache.cassandra.io.SSTableWriter;
import org.apache.cassandra.net.EndPoint;
import org.apache.cassandra.net.IVerbHandler;
@@ -185,7 +179,7 @@
sstable = SSTableWriter.renameAndOpen(streamContext.getTargetFile());
//TODO add a sanity check that this sstable has all its parts and is ok
- Table.open(tableName).getColumnFamilyStore(temp[0]).addToList(sstable);
+ Table.open(tableName).getColumnFamilyStore(temp[0]).addSSTable(sstable);
logger_.info("Bootstrap added " + sstable.getFilename());
}
catch (IOException e)