Author: jbellis
Date: Wed Jul 14 03:39:32 2010
New Revision: 963934
URL: http://svn.apache.org/viewvc?rev=963934&view=rev
Log:
log diskaccessmode even when it is explicitly set. patch by Rob Coli; reviewed
by jbellis for CASSANDRA-1277
Modified:
cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
cassandra/branches/cassandra-0.6/test/unit/org/apache/cassandra/db/ColumnFamilyStoreTest.java
Modified:
cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/config/DatabaseDescriptor.java?rev=963934&r1=963933&r2=963934&view=diff
==============================================================================
---
cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
(original)
+++
cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
Wed Jul 14 03:39:32 2010
@@ -225,20 +225,24 @@ public class DatabaseDescriptor
{
throw new ConfigurationException("DiskAccessMode must be
either 'auto', 'mmap', 'mmap_index_only', or 'standard'");
}
+
+ /* evaluate the DiskAccessMode conf directive, which also affects
indexAccessMode selection */
if (diskAccessMode == DiskAccessMode.auto)
{
diskAccessMode = System.getProperty("os.arch").contains("64")
? DiskAccessMode.mmap : DiskAccessMode.standard;
indexAccessMode = diskAccessMode;
- logger.info("Auto DiskAccessMode determined to be " +
diskAccessMode);
+ logger.info("DiskAccessMode 'auto' determined to be " +
diskAccessMode + ", indexAccessMode is " + indexAccessMode );
}
else if (diskAccessMode == DiskAccessMode.mmap_index_only)
{
diskAccessMode = DiskAccessMode.standard;
indexAccessMode = DiskAccessMode.mmap;
+ logger.info("DiskAccessMode is" + diskAccessMode + ",
indexAccessMode is " + indexAccessMode );
}
else
{
indexAccessMode = diskAccessMode;
+ logger.info("DiskAccessMode is" + diskAccessMode + ",
indexAccessMode is " + indexAccessMode );
}
/* Authentication and authorization backend, implementing
IAuthenticator */
Modified:
cassandra/branches/cassandra-0.6/test/unit/org/apache/cassandra/db/ColumnFamilyStoreTest.java
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.6/test/unit/org/apache/cassandra/db/ColumnFamilyStoreTest.java?rev=963934&r1=963933&r2=963934&view=diff
==============================================================================
---
cassandra/branches/cassandra-0.6/test/unit/org/apache/cassandra/db/ColumnFamilyStoreTest.java
(original)
+++
cassandra/branches/cassandra-0.6/test/unit/org/apache/cassandra/db/ColumnFamilyStoreTest.java
Wed Jul 14 03:39:32 2010
@@ -19,6 +19,7 @@
package org.apache.cassandra.db;
import java.io.IOException;
+import java.io.UnsupportedEncodingException;
import java.util.*;
import java.util.concurrent.ExecutionException;
@@ -29,6 +30,7 @@ import org.junit.Test;
import static junit.framework.Assert.assertEquals;
import org.apache.cassandra.CleanupHelper;
import org.apache.cassandra.Util;
+import org.apache.cassandra.dht.Token;
import org.apache.cassandra.service.StorageService;
import org.apache.cassandra.utils.WrappedRunnable;
@@ -138,44 +140,60 @@ public class ColumnFamilyStoreTest exten
@Test
public void testWrappedRangeQuery() throws IOException,
ExecutionException, InterruptedException
{
- ColumnFamilyStore cfs = insertKey1Key2();
-
+ ColumnFamilyStore cfs = insert("key1", "key2", "key3", "key4", "key5");
IPartitioner p = StorageService.getPartitioner();
- RangeSliceReply result = cfs.getRangeSlice(ArrayUtils.EMPTY_BYTE_ARRAY,
- new
Range(p.getToken("key15"), p.getToken("key1")),
- 10,
- null,
-
Arrays.asList("asdf".getBytes()));
- assertEquals(2, result.rows.size());
+ RangeSliceReply result;
+
+ result = getRangeSlice(cfs, p.getToken("key15"), p.getToken("key1"));
+ assertKeys(result.rows, Arrays.asList("key2", "key3", "key4", "key5",
"key1"));
+
+ result = getRangeSlice(cfs, p.getToken("key3"), p.getToken("key3"));
+ assertKeys(result.rows, Arrays.asList("key4", "key5", "key1", "key2",
"key3"));
+
+ result = getRangeSlice(cfs, p.getToken("key25"), p.getToken("key25"));
+ assertKeys(result.rows, Arrays.asList("key3", "key4", "key5", "key1",
"key2"));
+ }
+
+ private RangeSliceReply getRangeSlice(ColumnFamilyStore cfs, Token start,
Token end) throws IOException, ExecutionException, InterruptedException
+ {
+ return cfs.getRangeSlice(ArrayUtils.EMPTY_BYTE_ARRAY,
+ new Range(start, end),
+ 10,
+ null,
+ Arrays.asList("asdf".getBytes()));
+ }
+
+ private void assertKeys(List<Row> rows, List<String> keys) throws
UnsupportedEncodingException
+ {
+ assertEquals(keys.size(), rows.size());
+ for (int i = 0; i < keys.size(); i++)
+ {
+ assertEquals(keys.get(i), rows.get(i).key);
+ }
}
@Test
public void testSkipStartKey() throws IOException, ExecutionException,
InterruptedException
{
- ColumnFamilyStore cfs = insertKey1Key2();
-
+ ColumnFamilyStore cfs = insert("key1", "key2");
IPartitioner p = StorageService.getPartitioner();
- RangeSliceReply result = cfs.getRangeSlice(ArrayUtils.EMPTY_BYTE_ARRAY,
- new
Range(p.getToken("key1"), p.getToken("key2")),
- 10,
- null,
-
Arrays.asList("asdf".getBytes()));
- assertEquals(1, result.rows.size());
- assert result.rows.get(0).key.equals("key2");
+
+ RangeSliceReply result = getRangeSlice(cfs, p.getToken("key1"),
p.getToken("key2"));
+ assertKeys(result.rows, Arrays.asList("key2"));
}
- private ColumnFamilyStore insertKey1Key2() throws IOException,
ExecutionException, InterruptedException
+ private ColumnFamilyStore insert(String... keys) throws IOException,
ExecutionException, InterruptedException
{
List<RowMutation> rms = new LinkedList<RowMutation>();
RowMutation rm;
- rm = new RowMutation("Keyspace2", "key1");
- rm.add(new QueryPath("Standard1", null, "Column1".getBytes()),
"asdf".getBytes(), 0);
- rms.add(rm);
- Util.writeColumnFamily(rms);
+ for (String key : keys)
+ {
+ rm = new RowMutation("Keyspace2", key);
+ rm.add(new QueryPath("Standard1", null, "Column1".getBytes()),
"asdf".getBytes(), 0);
+ rms.add(rm);
+ }
- rm = new RowMutation("Keyspace2", "key2");
- rm.add(new QueryPath("Standard1", null, "Column1".getBytes()),
"asdf".getBytes(), 0);
- rms.add(rm);
return Util.writeColumnFamily(rms);
}
+
}