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/11/30 16:26:46 UTC
svn commit: r1040579 - in /cassandra/branches/cassandra-0.6: ./
interface/thrift/gen-java/org/apache/cassandra/thrift/
src/java/org/apache/cassandra/db/ src/java/org/apache/cassandra/io/
Author: jbellis
Date: Tue Nov 30 15:26:46 2010
New Revision: 1040579
URL: http://svn.apache.org/viewvc?rev=1040579&view=rev
Log:
backport r1040536, r1040577 from 0.7
Modified:
cassandra/branches/cassandra-0.6/ (props changed)
cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java (props changed)
cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java (props changed)
cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java (props changed)
cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java (props changed)
cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java (props changed)
cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/io/SSTableReader.java
cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/io/SSTableTracker.java
Propchange: cassandra/branches/cassandra-0.6/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Nov 30 15:26:46 2010
@@ -1,3 +1,4 @@
+/cassandra/branches/cassandra-0.7:1040536
/cassandra/trunk:931148,963941
/incubator/cassandra/branches/cassandra-0.3:774578-796573
/incubator/cassandra/branches/cassandra-0.4:810145-834239,834349-834350
Propchange: cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Nov 30 15:26:46 2010
@@ -1,3 +1,4 @@
+/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1040536
/cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:931148,963941
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/Cassandra.java:774578-796573
/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/Cassandra.java:810145-834239,834349-834350
Propchange: cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Nov 30 15:26:46 2010
@@ -1,3 +1,4 @@
+/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1040536
/cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:931148,963941
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/column_t.java:774578-792198
/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/Column.java:810145-834239,834349-834350
Propchange: cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Nov 30 15:26:46 2010
@@ -1,3 +1,4 @@
+/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1040536
/cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:931148,963941
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/InvalidRequestException.java:774578-796573
/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/InvalidRequestException.java:810145-834239,834349-834350
Propchange: cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Nov 30 15:26:46 2010
@@ -1,3 +1,4 @@
+/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1040536
/cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:931148,963941
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/NotFoundException.java:774578-796573
/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/NotFoundException.java:810145-834239,834349-834350
Propchange: cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Nov 30 15:26:46 2010
@@ -1,3 +1,4 @@
+/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1040536
/cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:931148,963941
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/superColumn_t.java:774578-792198
/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/SuperColumn.java:810145-834239,834349-834350
Modified: cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/db/ColumnFamilyStore.java?rev=1040579&r1=1040578&r2=1040579&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/db/ColumnFamilyStore.java (original)
+++ cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/db/ColumnFamilyStore.java Tue Nov 30 15:26:46 2010
@@ -177,7 +177,7 @@ public class ColumnFamilyStore implement
}
Collections.sort(sstableFiles, new FileUtils.FileComparator());
- /* Load the index files and the Bloom Filters associated with them. */
+ // scan for sstables corresponding to this cf and load them
ssTables_ = new SSTableTracker(table, columnFamilyName);
Set<String> savedKeys = readSavedCache(DatabaseDescriptor.getSerializedKeyCachePath(table, columnFamilyName), false);
List<SSTableReader> sstables = new ArrayList<SSTableReader>();
@@ -202,7 +202,7 @@ public class ColumnFamilyStore implement
ssTables_.add(sstables);
}
- protected Set<String> readSavedCache(File path, boolean sort) throws IOException
+ protected Set<String> readSavedCache(File path, boolean sort)
{
Set<String> keys;
if (sort)
@@ -215,25 +215,31 @@ public class ColumnFamilyStore implement
{
keys = new HashSet<String>();
}
-
- long start = System.currentTimeMillis();
+
if (path.exists())
{
- if (logger_.isDebugEnabled())
- logger_.debug("reading saved cache from " + path);
- ObjectInputStream in = new ObjectInputStream(new BufferedInputStream(new FileInputStream(path)));
- Charset UTF8 = Charset.forName("UTF-8");
- while (in.available() > 0)
- {
- int size = in.readInt();
- byte[] bytes = new byte[size];
- in.readFully(bytes);
- keys.add(new String(bytes, UTF8));
+ try
+ {
+ long start = System.currentTimeMillis();
+ logger_.info("reading saved cache " + path);
+ ObjectInputStream in = new ObjectInputStream(new BufferedInputStream(new FileInputStream(path)));
+ Charset UTF8 = Charset.forName("UTF-8");
+ while (in.available() > 0)
+ {
+ int size = in.readInt();
+ byte[] bytes = new byte[size];
+ in.readFully(bytes);
+ keys.add(new String(bytes, UTF8));
+ }
+ in.close();
+ if (logger_.isDebugEnabled())
+ logger_.debug(String.format("completed reading (%d ms; %d keys) saved cache %s",
+ (System.currentTimeMillis() - start), keys.size(), path));
+ }
+ catch (IOException ioe)
+ {
+ logger_.warn("error reading saved cache " + path, ioe);
}
- in.close();
- if (logger_.isDebugEnabled())
- logger_.debug(String.format("completed reading (%d ms; %d keys) from saved cache at %s",
- (System.currentTimeMillis() - start), keys.size(), path));
}
return keys;
@@ -246,19 +252,21 @@ public class ColumnFamilyStore implement
int rowCacheSavePeriodInSeconds = DatabaseDescriptor.getTableMetaData(table_).get(columnFamily_).rowCacheSavePeriodInSeconds;
int keyCacheSavePeriodInSeconds = DatabaseDescriptor.getTableMetaData(table_).get(columnFamily_).keyCacheSavePeriodInSeconds;
+ long start = System.currentTimeMillis();
try
{
- long start = System.currentTimeMillis();
- logger_.info(String.format("loading%s", msgSuffix));
for (String key : readSavedCache(DatabaseDescriptor.getSerializedRowCachePath(table_, columnFamily_), true))
cacheRow(key);
- logger_.info(String.format("completed loading (%d ms; %d keys) %s",
- System.currentTimeMillis()-start, ssTables_.getRowCache().getSize(), msgSuffix));
}
catch (IOException ioe)
{
logger_.warn("error loading " + msgSuffix, ioe);
}
+ if (ssTables_.getRowCache().getSize() > 0)
+ logger_.info(String.format("completed loading (%d ms; %d keys) %s",
+ System.currentTimeMillis() - start,
+ ssTables_.getRowCache().getSize(),
+ msgSuffix));
rowCacheWriteTask = new WrappedRunnable()
{
Modified: cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/io/SSTableReader.java
URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/io/SSTableReader.java?rev=1040579&r1=1040578&r2=1040579&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/io/SSTableReader.java (original)
+++ cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/io/SSTableReader.java Tue Nov 30 15:26:46 2010
@@ -122,7 +122,7 @@ public class SSTableReader extends SSTab
long start = System.currentTimeMillis();
SSTableReader sstable = new SSTableReader(dataFileName, partitioner);
sstable.setTrackedBy(tracker);
- logger.info("Sampling index and loading saved keyCache for " + dataFileName + " (" + savedKeyCacheKeys.size() + " saved keys)");
+ logger.info("Opening " + dataFileName);
sstable.loadIndexAndCache(savedKeyCacheKeys);
sstable.loadBloomFilter();
Modified: cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/io/SSTableTracker.java
URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/io/SSTableTracker.java?rev=1040579&r1=1040578&r2=1040579&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/io/SSTableTracker.java (original)
+++ cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/io/SSTableTracker.java Tue Nov 30 15:26:46 2010
@@ -63,8 +63,8 @@ public class SSTableTracker implements I
public void saveCache(JMXInstrumentedCache<K, V> cache, File savedCachePath, Function<K, byte[]> converter) throws IOException
{
long start = System.currentTimeMillis();
- String msgSuffix = " " + savedCachePath.getName() + " for " + cfname + " of " + ksname;
- logger.debug("saving" + msgSuffix);
+ String msgSuffix = savedCachePath.getName() + " for " + cfname + " of " + ksname;
+ logger.info("saving " + msgSuffix);
int count = 0;
File tmpFile = File.createTempFile(savedCachePath.getName(), null, savedCachePath.getParentFile());
FileOutputStream fout = new FileOutputStream(tmpFile);
@@ -83,7 +83,7 @@ public class SSTableTracker implements I
if (!tmpFile.renameTo(savedCachePath))
throw new IOException("Unable to rename cache to " + savedCachePath);
if (logger.isDebugEnabled())
- logger.debug("saved " + count + " keys in " + (System.currentTimeMillis() - start) + " ms from" + msgSuffix);
+ logger.debug("saved " + count + " keys in " + (System.currentTimeMillis() - start) + " ms from " + msgSuffix);
}
}