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/11 04:09:34 UTC
svn commit: r802977 - in /incubator/cassandra/trunk: conf/log4j.properties
src/java/org/apache/cassandra/config/DatabaseDescriptor.java
src/java/org/apache/cassandra/db/marshal/TimeUUIDType.java
test/conf/storage-conf.xml test/system/test_server.py
Author: jbellis
Date: Tue Aug 11 02:09:33 2009
New Revision: 802977
URL: http://svn.apache.org/viewvc?rev=802977&view=rev
Log:
fix typo breaking CompareSubcolumnsWith. fix timeuuid compare with byte[0].
patch by jbellis; reviewed by Evan Weaver for CASSANDRA-357
Modified:
incubator/cassandra/trunk/conf/log4j.properties
incubator/cassandra/trunk/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
incubator/cassandra/trunk/src/java/org/apache/cassandra/db/marshal/TimeUUIDType.java
incubator/cassandra/trunk/test/conf/storage-conf.xml
incubator/cassandra/trunk/test/system/test_server.py
Modified: incubator/cassandra/trunk/conf/log4j.properties
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/conf/log4j.properties?rev=802977&r1=802976&r2=802977&view=diff
==============================================================================
--- incubator/cassandra/trunk/conf/log4j.properties (original)
+++ incubator/cassandra/trunk/conf/log4j.properties Tue Aug 11 02:09:33 2009
@@ -18,7 +18,7 @@
# and the pattern to %c instead of %l. (%l is slower.)
# output messages into a rolling log file as well as stdout
-log4j.rootLogger=INFO,stdout,R
+log4j.rootLogger=DEBUG,stdout,R
# stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
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=802977&r1=802976&r2=802977&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 Tue Aug 11 02:09:33 2009
@@ -906,7 +906,7 @@
public static AbstractType getSubComparator(String tableName, String cfName)
{
assert tableName != null;
- return getCFMetaData(tableName, cfName).comparator;
+ return getCFMetaData(tableName, cfName).subcolumnComparator;
}
public static Map<String, Map<String, CFMetaData>> getTableToColumnFamilyMap()
Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/db/marshal/TimeUUIDType.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/db/marshal/TimeUUIDType.java?rev=802977&r1=802976&r2=802977&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/db/marshal/TimeUUIDType.java (original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/db/marshal/TimeUUIDType.java Tue Aug 11 02:09:33 2009
@@ -6,6 +6,15 @@
{
public int compare(byte[] o1, byte[] o2)
{
+ if (o1.length == 0)
+ {
+ return o2.length == 0 ? 0 : -1;
+ }
+ if (o2.length == 0)
+ {
+ return 1;
+ }
+
long t1 = LexicalUUIDType.getUUID(o1).timestamp();
long t2 = LexicalUUIDType.getUUID(o2).timestamp();
return t1 < t2 ? -1 : (t1 > t2 ? 1 : 0);
Modified: incubator/cassandra/trunk/test/conf/storage-conf.xml
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/test/conf/storage-conf.xml?rev=802977&r1=802976&r2=802977&view=diff
==============================================================================
--- incubator/cassandra/trunk/test/conf/storage-conf.xml (original)
+++ incubator/cassandra/trunk/test/conf/storage-conf.xml Tue Aug 11 02:09:33 2009
@@ -55,6 +55,7 @@
<ColumnFamily Name="Standard1"/>
<ColumnFamily Name="Standard3"/>
<ColumnFamily ColumnType="Super" Name="Super3"/>
+ <ColumnFamily ColumnType="Super" CompareSubcolumnsWith="TimeUUIDType" Name="Super4"/>
</Keyspace>
</Keyspaces>
<Seeds>
Modified: incubator/cassandra/trunk/test/system/test_server.py
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/test/system/test_server.py?rev=802977&r1=802976&r2=802977&view=diff
==============================================================================
--- incubator/cassandra/trunk/test/system/test_server.py (original)
+++ incubator/cassandra/trunk/test/system/test_server.py Tue Aug 11 02:09:33 2009
@@ -179,7 +179,26 @@
for result in client.get_slice('Keyspace1', 'key1', column_parent, p, ConsistencyLevel.ONE)]
assert slice == [Column(_i64(6), 'value6', 0)], slice
-
+ def test_time_uuid(self):
+ import uuid
+ L = []
+ # 100 isn't enough to fail reliably if the comparator is borked
+ for i in xrange(500):
+ L.append(uuid.uuid1())
+ client.insert('Keyspace2', 'key1', ColumnPath('Super4', 'sc1', L[-1].bytes), 'value%s' % i, i, ConsistencyLevel.ONE)
+ slice = _big_slice('Keyspace2', 'key1', ColumnParent('Super4', 'sc1'))
+ assert len(slice) == 500
+ for i in xrange(500):
+ u = slice[i].column
+ assert u.value == 'value%s' % i
+ assert u.name == L[i].bytes
+
+ p = SlicePredicate(slice_range=SliceRange('', '', False, 1))
+ column_parent = ColumnParent('Super4', 'sc1')
+ slice = [result.column
+ for result in client.get_slice('Keyspace2', 'key1', column_parent, p, ConsistencyLevel.ONE)]
+ assert slice == [Column(L[-1].bytes, 'value499', 499)], slice
+
def test_batch_insert(self):
_insert_batch(False)
time.sleep(0.1)