Author: jbellis
Date: Mon Jun 1 22:16:58 2009
New Revision: 780853
URL: http://svn.apache.org/viewvc?rev=780853&view=rev
Log:
add test covering use of column indexes. patch by Jun Rao; reviewed by jbellis
for CASSANDRA-210
Modified:
incubator/cassandra/trunk/test/conf/storage-conf.xml
incubator/cassandra/trunk/test/unit/org/apache/cassandra/db/TableTest.java
Modified: incubator/cassandra/trunk/test/conf/storage-conf.xml
URL:
http://svn.apache.org/viewvc/incubator/cassandra/trunk/test/conf/storage-conf.xml?rev=780853&r1=780852&r2=780853&view=diff
==============================================================================
--- incubator/cassandra/trunk/test/conf/storage-conf.xml (original)
+++ incubator/cassandra/trunk/test/conf/storage-conf.xml Mon Jun 1 22:16:58
2009
@@ -28,7 +28,7 @@
<StoragePort>7000</StoragePort>
<ControlPort>7001</ControlPort>
<ThriftPort>9160</ThriftPort>
- <ColumnIndexSizeInKB>256</ColumnIndexSizeInKB>
+ <ColumnIndexSizeInKB>4</ColumnIndexSizeInKB>
<HttpPort>7002</HttpPort>
<MetadataDirectory>build/test/cassandra/system</MetadataDirectory>
<CommitLogDirectory>build/test/cassandra/commitlog</CommitLogDirectory>
Modified:
incubator/cassandra/trunk/test/unit/org/apache/cassandra/db/TableTest.java
URL:
http://svn.apache.org/viewvc/incubator/cassandra/trunk/test/unit/org/apache/cassandra/db/TableTest.java?rev=780853&r1=780852&r2=780853&view=diff
==============================================================================
--- incubator/cassandra/trunk/test/unit/org/apache/cassandra/db/TableTest.java
(original)
+++ incubator/cassandra/trunk/test/unit/org/apache/cassandra/db/TableTest.java
Mon Jun 1 22:16:58 2009
@@ -266,6 +266,51 @@
validateGetSliceFromAdvanced(table, ROW);
}
+ @Test
+ public void testGetSliceFromLarge() throws Throwable
+ {
+ Table table = Table.open(TABLE_NAME);
+ String ROW = "row3";
+ RowMutation rm = new RowMutation(TABLE_NAME, ROW);
+ ColumnFamily cf = new ColumnFamily("Standard1", "Standard");
+ for (int i = 1000; i < 2000; i++)
+ cf.addColumn(new Column("col" + i, ("vvvvvvvvvvvvvvvv" +
i).getBytes(), 1L));
+ rm.add(cf);
+ rm.apply();
+ // flush to disk
+ table.getColumnFamilyStore("Standard1").forceBlockingFlush();
+
+ Row result;
+ ColumnFamily cfres;
+ result = table.getSliceFrom(ROW, "Standard1:col1000", true, 3);
+ cfres = result.getColumnFamily("Standard1");
+ assertColumns(cfres, "col1000", "col1001", "col1002");
+ assertEquals(new String(cfres.getColumn("col1000").value()),
"vvvvvvvvvvvvvvvv1000");
+ assertEquals(new String(cfres.getColumn("col1001").value()),
"vvvvvvvvvvvvvvvv1001");
+ assertEquals(new String(cfres.getColumn("col1002").value()),
"vvvvvvvvvvvvvvvv1002");
+
+ result = table.getSliceFrom(ROW, "Standard1:col1195", true, 3);
+ cfres = result.getColumnFamily("Standard1");
+ assertColumns(cfres, "col1195", "col1196", "col1197");
+ assertEquals(new String(cfres.getColumn("col1195").value()),
"vvvvvvvvvvvvvvvv1195");
+ assertEquals(new String(cfres.getColumn("col1196").value()),
"vvvvvvvvvvvvvvvv1196");
+ assertEquals(new String(cfres.getColumn("col1197").value()),
"vvvvvvvvvvvvvvvv1197");
+
+ result = table.getSliceFrom(ROW, "Standard1:col1196", false, 3);
+ cfres = result.getColumnFamily("Standard1");
+ assertColumns(cfres, "col1194", "col1195", "col1196");
+ assertEquals(new String(cfres.getColumn("col1194").value()),
"vvvvvvvvvvvvvvvv1194");
+ assertEquals(new String(cfres.getColumn("col1195").value()),
"vvvvvvvvvvvvvvvv1195");
+ assertEquals(new String(cfres.getColumn("col1196").value()),
"vvvvvvvvvvvvvvvv1196");
+
+ result = table.getSliceFrom(ROW, "Standard1:col1990", true, 3);
+ cfres = result.getColumnFamily("Standard1");
+ assertColumns(cfres, "col1990", "col1991", "col1992");
+ assertEquals(new String(cfres.getColumn("col1990").value()),
"vvvvvvvvvvvvvvvv1990");
+ assertEquals(new String(cfres.getColumn("col1991").value()),
"vvvvvvvvvvvvvvvv1991");
+ assertEquals(new String(cfres.getColumn("col1992").value()),
"vvvvvvvvvvvvvvvv1992");
+ }
+
private void assertColumns(ColumnFamily columnFamily, String...
columnFamilyNames)
{
assertNotNull(columnFamily);