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/08/08 02:59:15 UTC
svn commit: r802276 - in /incubator/cassandra/trunk: conf/storage-conf.xml
src/java/org/apache/cassandra/config/DatabaseDescriptor.java
src/java/org/apache/cassandra/io/SSTableWriter.java
test/conf/storage-conf.xml
Author: jbellis
Date: Sat Aug 8 00:59:14 2009
New Revision: 802276
URL: http://svn.apache.org/viewvc?rev=802276&view=rev
Log:
reduce buffer sizes for test suite since it forces lots of small flushes. reduces NameSortTest from ~30s back to < 10s.
patch by jbellis for CASSANDRA-339
Modified:
incubator/cassandra/trunk/conf/storage-conf.xml
incubator/cassandra/trunk/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
incubator/cassandra/trunk/src/java/org/apache/cassandra/io/SSTableWriter.java
incubator/cassandra/trunk/test/conf/storage-conf.xml
Modified: incubator/cassandra/trunk/conf/storage-conf.xml
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/conf/storage-conf.xml?rev=802276&r1=802275&r2=802276&view=diff
==============================================================================
--- incubator/cassandra/trunk/conf/storage-conf.xml (original)
+++ incubator/cassandra/trunk/conf/storage-conf.xml Sat Aug 8 00:59:14 2009
@@ -196,7 +196,10 @@
<!-- Buffer size to use when flushing memtables to disk.
(Only one memtable is ever flushed at a time.)
Increase (decrease) the index buffer size relative to the data buffer
- if you have few (many) columns per key. -->
+ if you have few (many) columns per key.
+ Bigger is only better _if_ your memtables get large enough to use the space.
+ (Check in your data directory after your app has been running long enough.)
+ -->
<FlushDataBufferSizeInMB>32</FlushDataBufferSizeInMB>
<FlushIndexBufferSizeInMB>8</FlushIndexBufferSizeInMB>
Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/config/DatabaseDescriptor.java?rev=802276&r1=802275&r2=802276&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/config/DatabaseDescriptor.java (original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/config/DatabaseDescriptor.java Sat Aug 8 00:59:14 2009
@@ -68,8 +68,8 @@
private static int concurrentReaders_ = 8;
private static int concurrentWriters_ = 32;
- private static int flushDataBufferSizeInMB_ = 32;
- private static int flushIndexBufferSizeInMB_ = 32;
+ private static double flushDataBufferSizeInMB_ = 32;
+ private static double flushIndexBufferSizeInMB_ = 8;
private static List<String> tables_ = new ArrayList<String>();
private static Set<String> applicationColumnFamilies_ = new HashSet<String>();
@@ -230,12 +230,12 @@
String rawFlushData = xmlUtils.getNodeValue("/Storage/FlushDataBufferSizeInMB");
if (rawFlushData != null)
{
- flushDataBufferSizeInMB_ = Integer.parseInt(rawFlushData);
+ flushDataBufferSizeInMB_ = Double.parseDouble(rawFlushData);
}
String rawFlushIndex = xmlUtils.getNodeValue("/Storage/FlushIndexBufferSizeInMB");
if (rawFlushIndex != null)
{
- flushIndexBufferSizeInMB_ = Integer.parseInt(rawFlushIndex);
+ flushIndexBufferSizeInMB_ = Double.parseDouble(rawFlushIndex);
}
/* TCP port on which the storage system listens */
@@ -924,12 +924,12 @@
return commitLogSync_;
}
- public static int getFlushDataBufferSizeInMB()
+ public static double getFlushDataBufferSizeInMB()
{
return flushDataBufferSizeInMB_;
}
- public static int getFlushIndexBufferSizeInMB()
+ public static double getFlushIndexBufferSizeInMB()
{
return flushIndexBufferSizeInMB_;
}
Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/io/SSTableWriter.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/io/SSTableWriter.java?rev=802276&r1=802275&r2=802276&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/io/SSTableWriter.java (original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/io/SSTableWriter.java Sat Aug 8 00:59:14 2009
@@ -27,8 +27,8 @@
public SSTableWriter(String filename, int keyCount, IPartitioner partitioner) throws IOException
{
super(filename, partitioner);
- dataFile = new BufferedRandomAccessFile(path, "rw", DatabaseDescriptor.getFlushDataBufferSizeInMB() * 1024 * 1024);
- indexFile = new BufferedRandomAccessFile(indexFilename(), "rw", DatabaseDescriptor.getFlushIndexBufferSizeInMB() * 1024 * 1024);
+ dataFile = new BufferedRandomAccessFile(path, "rw", (int)(DatabaseDescriptor.getFlushDataBufferSizeInMB() * 1024 * 1024));
+ indexFile = new BufferedRandomAccessFile(indexFilename(), "rw", (int)(DatabaseDescriptor.getFlushIndexBufferSizeInMB() * 1024 * 1024));
bf = new BloomFilter(keyCount, 15);
}
Modified: incubator/cassandra/trunk/test/conf/storage-conf.xml
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/test/conf/storage-conf.xml?rev=802276&r1=802275&r2=802276&view=diff
==============================================================================
--- incubator/cassandra/trunk/test/conf/storage-conf.xml (original)
+++ incubator/cassandra/trunk/test/conf/storage-conf.xml Sat Aug 8 00:59:14 2009
@@ -18,6 +18,8 @@
-->
<Storage>
<ClusterName>Test Cluster</ClusterName>
+ <FlushDataBufferSizeInMB>1</FlushDataBufferSizeInMB>
+ <FlushIndexBufferSizeInMB>0.1</FlushIndexBufferSizeInMB>
<CommitLogSync>true</CommitLogSync>
<CommitLogSyncDelay>1000</CommitLogSyncDelay>
<Partitioner>org.apache.cassandra.dht.CollatingOrderPreservingPartitioner</Partitioner>