You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by ee...@apache.org on 2010/02/26 20:13:56 UTC
svn commit: r916787 - in /incubator/cassandra/trunk:
src/java/org/apache/cassandra/avro/AvroValidation.java
src/java/org/apache/cassandra/avro/RecordFactory.java
test/system/test_avro_server.py
Author: eevans
Date: Fri Feb 26 19:13:55 2010
New Revision: 916787
URL: http://svn.apache.org/viewvc?rev=916787&view=rev
Log:
real batch_insert test for avro + uncovered bugs
Patch by eevans
Modified:
incubator/cassandra/trunk/src/java/org/apache/cassandra/avro/AvroValidation.java
incubator/cassandra/trunk/src/java/org/apache/cassandra/avro/RecordFactory.java
incubator/cassandra/trunk/test/system/test_avro_server.py
Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/avro/AvroValidation.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/avro/AvroValidation.java?rev=916787&r1=916786&r2=916787&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/avro/AvroValidation.java (original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/avro/AvroValidation.java Fri Feb 26 19:13:55 2010
@@ -130,7 +130,7 @@
throws InvalidRequestException
{
if (cosc.column != null)
- AvroValidation.validateColumnPath(keyspace, newColumnPath(cfName, cosc.super_column.name, cosc.column.name));
+ AvroValidation.validateColumnPath(keyspace, newColumnPath(cfName, null, cosc.column.name));
if (cosc.super_column != null)
for (Column c : cosc.super_column.columns)
Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/avro/RecordFactory.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/avro/RecordFactory.java?rev=916787&r1=916786&r2=916787&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/avro/RecordFactory.java (original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/avro/RecordFactory.java Fri Feb 26 19:13:55 2010
@@ -71,6 +71,7 @@
static ColumnPath newColumnPath(String cfName, ByteBuffer superColumn, ByteBuffer column)
{
ColumnPath cPath = new ColumnPath();
+ cPath.column_family = new Utf8(cfName);
cPath.super_column = superColumn;
cPath.column = column;
return cPath;
Modified: incubator/cassandra/trunk/test/system/test_avro_server.py
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/test/system/test_avro_server.py?rev=916787&r1=916786&r2=916787&view=diff
==============================================================================
--- incubator/cassandra/trunk/test/system/test_avro_server.py (original)
+++ incubator/cassandra/trunk/test/system/test_avro_server.py Fri Feb 26 19:13:55 2010
@@ -89,6 +89,12 @@
assert colA['value'] == colB['value'], \
"column value mismatch: %s != %s" % (colA['value'], colB['value'])
+def assert_cosc(thing, with_supercolumn=False):
+ containing = with_supercolumn and 'super_column' or 'column'
+ assert isinstance(thing, dict), "Expected dict, got %s" % type(thing)
+ assert thing.has_key(containing) and thing[containing].has_key('name'), \
+ "Invalid or missing \"%s\"" % containing
+
def random_column(columns=COLUMNS):
return columns[randint(0, len(columns)-1)]
@@ -103,8 +109,7 @@
_insert_column(self.client, column['name'], column['value'])
result = _get_column(self.client, column['name'])
- assert isinstance(result, dict) and result.has_key('column') \
- and result['column'].has_key('name')
+ assert_cosc(result)
assert_columns_match(result['column'], column)
def test_insert_super(self):
@@ -115,14 +120,27 @@
_insert_supercolumn(self.client, sc['name'], col['name'], col['value'])
result = _get_supercolumn(self.client, sc['name'], col['name'])
- assert isinstance(result, dict) and result.has_key('column') \
- and result['column'].has_key('name')
+ assert_cosc(result)
assert_columns_match(result['column'], col)
def test_batch_insert(self):
"performing a batch insert operation"
- # TODO: do
- pass
+ params = dict()
+ params['keyspace'] = 'Keyspace1'
+ params['key'] = 'key1'
+ params['consistency_level'] = 'ONE'
+
+ # Map<string, list<ColumnOrSuperColumn>>
+ params['cfmap'] = dict()
+ params['cfmap']['Standard1'] = list()
+
+ for i in range(0,3):
+ params['cfmap']['Standard1'].append(dict(column=COLUMNS[i]))
+
+ self.client.request('batch_insert', params)
+
+ for i in range(0,3):
+ assert_cosc(_get_column(self.client, COLUMNS[i]['name']))
def test_get_api_version(self):
"getting the remote api version string"