You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by ca...@codespot.com on 2012/01/09 21:02:55 UTC
[cassandra-node] 5 new revisions pushed by tomaz.muraus on 2012-01-09
20:02 GMT
5 new revisions:
Revision: d5f17b5e731c
Author: Tomaz Muraus <to...@tomaz.me>
Date: Mon Jan 9 10:54:08 2012
Log: Remove extra whitespace.
http://code.google.com/a/apache-extras.org/p/cassandra-node/source/detail?r=d5f17b5e731c
Revision: 570384fb4238
Author: Tomaz Muraus <to...@tomaz.me>
Date: Mon Jan 9 11:07:09 2012
Log: Close connection on error.
http://code.google.com/a/apache-extras.org/p/cassandra-node/source/detail?r=570384fb4238
Revision: 29ca1420c36a
Author: Tomaz Muraus <to...@tomaz.me>
Date: Mon Jan 9 11:55:49 2012
Log: Don't throw the exception if bytes is not of the correct length.
http://code.google.com/a/apache-extras.org/p/cassandra-node/source/detail?r=29ca1420c36a
Revision: 8e8ebf4c2eca
Author: Tomaz Muraus <to...@tomaz.me>
Date: Mon Jan 9 11:56:16 2012
Log: Remove extra whitespace.
http://code.google.com/a/apache-extras.org/p/cassandra-node/source/detail?r=8e8ebf4c2eca
Revision: 11f35621490d
Author: Tomaz Muraus <to...@tomaz.me>
Date: Mon Jan 9 11:57:04 2012
Log: Temporary comment out an assertion which fails in some minor
versions ...
http://code.google.com/a/apache-extras.org/p/cassandra-node/source/detail?r=11f35621490d
==============================================================================
Revision: d5f17b5e731c
Author: Tomaz Muraus <to...@tomaz.me>
Date: Mon Jan 9 10:54:08 2012
Log: Remove extra whitespace.
http://code.google.com/a/apache-extras.org/p/cassandra-node/source/detail?r=d5f17b5e731c
Modified:
/test/test_driver.js
=======================================
--- /test/test_driver.js Mon Jan 9 10:46:41 2012
+++ /test/test_driver.js Mon Jan 9 10:54:08 2012
@@ -110,8 +110,8 @@
var cfUtf8 = new CfDef({keyspace: ksName, name: 'CfUtf8',
column_type: 'Standard', comparator_type: 'UTF8Type',
default_validation_class: 'UTF8Type', key_validation_class: 'UTF8Type'});
var cfBytes = new CfDef({keyspace: ksName, name: 'CfBytes',
column_type: 'Standard', comparator_type: 'BytesType',
default_validation_class: 'BytesType', key_validation_class: 'BytesType'});
var cfUuid = new CfDef({keyspace: ksName, name: 'CfUuid',
column_type: 'Standard', comparator_type: 'TimeUUIDType',
default_validation_class: 'TimeUUIDType',
key_validation_class: 'TimeUUIDType'});
- var cfUgly = new CfDef({keyspace: ksName, name: 'CfUgly',
column_type: 'Standard', comparator_type: 'UTF8Type',
- default_validation_class: 'LongType',
key_validation_class: 'IntegerType',
+ var cfUgly = new CfDef({keyspace: ksName, name: 'CfUgly',
column_type: 'Standard', comparator_type: 'UTF8Type',
+ default_validation_class: 'LongType',
key_validation_class: 'IntegerType',
column_metadata: [
new ttypes.ColumnDef({name: 'int_col',
validation_class: 'IntegerType'}),
new ttypes.ColumnDef({name: 'string_col',
validation_class: 'UTF8Type'}),
@@ -292,7 +292,7 @@
con.execute('update Standard1 set ?=?, ?=? where key=?',
['colx', 'xxx', 'colz', 'bbb', key], function(updateErr) {
if (updateErr) {
con.close();
-
+
} else {
con.execute('delete ?,? from Standard1 where key in (?)',
['colx', 'colz', key], function(delErr) {
if (delErr) {
@@ -329,7 +329,7 @@
assert.strictEqual(con.connectionInfo.use_bigints, true);
con.connectionInfo.use_bigints = false;
assert.strictEqual(con.connectionInfo.use_bigints, false);
-
+
var updParms = [1,2,99];
con.execute('update CfLong set ?=? where key=?', updParms,
function(updErr) {
if (updErr) {
@@ -362,7 +362,7 @@
assert.strictEqual(con.connectionInfo.use_bigints, true);
con.connectionInfo.use_bigints = false;
assert.strictEqual(con.connectionInfo.use_bigints, false);
-
+
var updParms = [1,2,99];
con.execute('update CfInt set ?=? where key=?', updParms,
function(updErr) {
if (updErr) {
@@ -411,14 +411,14 @@
assert.strictEqual(rows.rowCount(), 1);
var row = rows[0];
assert.strictEqual(3, row.colCount());
-
+
assert.ok(new BigInteger('1').equals(row.cols[0].name));
assert.ok(new BigInteger('2').equals(row.cols[0].value));
assert.ok(new BigInteger('3').equals(row.cols[1].name));
assert.ok(new BigInteger('4').equals(row.cols[1].value));
assert.ok(new
BigInteger('4611686018427387904').equals(row.cols[2].name));
assert.ok(new
BigInteger('-4611686018427387904').equals(row.cols[2].value));
-
+
assert.ok(new BigInteger('2').equals(row.colHash['1']));
assert.ok(new BigInteger('4').equals(row.colHash['3']));
assert.ok(new
BigInteger('-4611686018427387904').equals(row.colHash['4611686018427387904']));
@@ -461,7 +461,7 @@
}
});
}
- });
+ });
};
exports.testReverseSlice = function(test, assert) {
@@ -512,7 +512,7 @@
con.execute('select first 3 REVERSED ?..? from CfLong where
key=12345', [2, -2], function(selErr, rows) {
con.close();
if (selErr) {
- assert.ok(false);
+ assert.ok(false);
} else {
assert.strictEqual(rows.rowCount(), 1);
var row = rows[0];
@@ -588,14 +588,14 @@
var row = rows[0];
assert.strictEqual(rows.rowCount(), 1);
assert.strictEqual(3, row.colCount());
-
+
assert.ok(new BigInteger('-1').equals(row.cols[0].name));
assert.ok(new BigInteger('-11').equals(row.cols[0].value));
assert.ok(new BigInteger('1').equals(row.cols[1].name));
assert.ok(new BigInteger('11').equals(row.cols[1].value));
assert.ok(new
BigInteger('8776496549718567867543025521').equals(row.cols[2].name));
assert.ok(new
BigInteger('-8776496549718567867543025521').equals(row.cols[2].value));
-
+
assert.ok(new BigInteger('11').equals(row.colHash['1']));
assert.ok(new BigInteger('-11').equals(row.colHash['-1']));
assert.ok(new
BigInteger('-8776496549718567867543025521').equals(row.colHash['8776496549718567867543025521']));
@@ -628,7 +628,7 @@
} else {
con.execute('select ?, ? from CfUuid where key=?', selParms,
function(selErr, rows) {
con.close();
- if (selErr) {
+ if (selErr) {
assert.ok(false);
} else {
assert.strictEqual(rows.rowCount(), 1);
@@ -639,7 +639,7 @@
assert.ok(UUID.fromString('6fd45160-65e0-11e0-0000-fe8ebeead9fe').equals(row.cols[0].value));
assert.ok(UUID.fromString('6fd589e0-65e0-11e0-0000-7fd66bb03aff').equals(row.cols[1].name));
assert.ok(UUID.fromString('6fd6e970-65e0-11e0-0000-fe8ebeead9fe').equals(row.cols[1].value));
-
+
assert.ok(row.colHash[(UUID.fromString('6fd589e0-65e0-11e0-0000-7fd66bb03aff'))].equals(row.cols[1].value));
assert.ok(row.colHash[(row.cols[0].name)].equals(row.cols[0].value));
assert.ok(row.colHash[(UUID.fromString('6f8483b0-65e0-11e0-0000-fe8ebeead9fe'))].equals(row.cols[0].value));
@@ -675,7 +675,7 @@
assert.strictEqual(rows.rowCount(), 1);
var row = rows[0];
assert.strictEqual(4, row.colCount());
-
+
assert.ok(row.colHash.normal.equals(new BigInteger('25')));
assert.ok(row.colHash.int_col.equals(new BigInteger('21')));
assert.ok(row.colHash.string_col.toString()
=== 'test_string_value');
@@ -692,9 +692,9 @@
// this test only works an order-preserving partitioner.
// it also uses an event-based approach to doing things.
//exports.ZDISABLED_testMultipleRows = function(test, assert) {
-// // go through the motions of creating a new keyspace every time. we do
this to ensure only the things in there are
+// // go through the motions of creating a new keyspace every time. we do
this to ensure only the things in there are
// // what I expect.
-//
+//
// var sys = new Connection('127.0.0.1', CASSANDRA_PORT, 'system', null,
null, {use_bigints: true});
// sys.connect(function(err) {
// if (err) {
@@ -710,7 +710,7 @@
// assert.ok(false);
// test.finish();
// });
-//
+//
// // keyspace is there for sure. don't know about the cf.
// ev.on('ksready', function() {
// console.log('keyspace created');
@@ -726,10 +726,10 @@
// });
// con.close();
// });
-//
+//
// // column family is ready, do the test.
// ev.on('cfready', function() {
-//
+//
// // insert 100 rows.
// var con = new Connection('127.0.0.1', 19170, 'ints', null, null,
{use_bigints: true});
// var count = 100;
@@ -741,7 +741,7 @@
// ev.emit('syserr');
// } else {
// num += 1;
-//
+//
// // after all the rows are in, do a query.
// if (num >= count) {
// con.execute('select ? from cfints where key > ? and key
< ?', [1, 10, 20], function(serr, rows) {
@@ -753,7 +753,7 @@
// });
// }
// });
-//
+//
// // start everything off.
// sys.execute('drop keyspace ints', null, function(dropErr) {
// if (!dropErr) {
@@ -832,7 +832,7 @@
//var hosts = ["127.0.0.2:9170", "127.0.0.1:9170"];
var hosts = ["127.0.0.1:19170"];
var conn = new PooledConnection({'hosts':
hosts, 'keyspace': 'Keyspace1', use_bigints: true});
-
+
var range = new Array(100).join(' ').split(' ');
// Hammer time...
==============================================================================
Revision: 570384fb4238
Author: Tomaz Muraus <to...@tomaz.me>
Date: Mon Jan 9 11:07:09 2012
Log: Close connection on error.
http://code.google.com/a/apache-extras.org/p/cassandra-node/source/detail?r=570384fb4238
Modified:
/test/test_driver.js
=======================================
--- /test/test_driver.js Mon Jan 9 10:54:08 2012
+++ /test/test_driver.js Mon Jan 9 11:07:09 2012
@@ -165,6 +165,7 @@
exports.testNoResults = function(test, assert) {
connect(function(err, con) {
if (err) {
+ con.close();
assert.ifError(err);
test.finish();
} else {
==============================================================================
Revision: 29ca1420c36a
Author: Tomaz Muraus <to...@tomaz.me>
Date: Mon Jan 9 11:55:49 2012
Log: Don't throw the exception if bytes is not of the correct length.
http://code.google.com/a/apache-extras.org/p/cassandra-node/source/detail?r=29ca1420c36a
Modified:
/lib/decoder.js
=======================================
--- /lib/decoder.js Mon Jan 9 10:46:41 2012
+++ /lib/decoder.js Mon Jan 9 11:55:49 2012
@@ -47,15 +47,15 @@
/** convert an 8 byte string to a BigInteger */
var bytesToBigLong = module.exports.bytesToBigLong = function(bytes) {
- if (bytes.length != 8) {
- throw new Error('Longs are exactly 8 bytes, not ' + bytes.length);
- }
+ /*if (bytes.length != 8) {
+ //throw new Error('Longs are exactly 8 bytes, not ' + bytes.length);
+ }*/
// trim all leading zeros except the most significant one (we don't want
to flip signs)
while (bytes[0] === 0 && bytes[1] === 0) {
bytes = bytes.slice(1);
}
-
+
// zero is a tricky bastard. new BigInteger([0]) != new BigInteger('0').
wtf?
if (bytes.length === 1 && bytes[0] === 0) {
return new BigInteger('0');
==============================================================================
Revision: 8e8ebf4c2eca
Author: Tomaz Muraus <to...@tomaz.me>
Date: Mon Jan 9 11:56:16 2012
Log: Remove extra whitespace.
http://code.google.com/a/apache-extras.org/p/cassandra-node/source/detail?r=8e8ebf4c2eca
Modified:
/lib/decoder.js
=======================================
--- /lib/decoder.js Mon Jan 9 11:55:49 2012
+++ /lib/decoder.js Mon Jan 9 11:56:16 2012
@@ -42,7 +42,7 @@
throw new Error('Invalid character in packed string ' + ints[i]);
}
}
- return new BigInteger(ints);
+ return new BigInteger(ints);
};
/** convert an 8 byte string to a BigInteger */
@@ -50,7 +50,7 @@
/*if (bytes.length != 8) {
//throw new Error('Longs are exactly 8 bytes, not ' + bytes.length);
}*/
-
+
// trim all leading zeros except the most significant one (we don't want
to flip signs)
while (bytes[0] === 0 && bytes[1] === 0) {
bytes = bytes.slice(1);
@@ -62,12 +62,12 @@
} else {
return bytesToBigInt(bytes);
}
-
+
};
// These are the cassandra types I'm currently dealing with.
var AbstractTypes = {
- LongType: 'org.apache.cassandra.db.marshal.LongType',
+ LongType: 'org.apache.cassandra.db.marshal.LongType',
BytesType: 'org.apache.cassandra.db.marshal.BytesType',
AsciiType: 'org.apache.cassandra.db.marshal.AsciiType',
UTF8Type: 'org.apache.cassandra.db.marshal.UTF8Type',
@@ -76,14 +76,14 @@
CounterColumnType: 'org.apache.cassandra.db.marshal.CounterColumnType'
};
-/**
- * validators are a hash currently created in the Connection constructor.
keys in the hash are: key, comparator,
+/**
+ * validators are a hash currently created in the Connection constructor.
keys in the hash are: key, comparator,
* defaultValidator, specificValidator. They all map to a value in
AbstractTypes, except specificValidator which
* hashes to another map that maps specific column names to their
validators (specified in ColumnDef using Cassandra
* parlance).
- * e.g.: {key: 'org.apache.cassandra.db.marshal.BytesType',
- * comparator: 'org.apache.cassandra.db.marshal.BytesType',
- * defaultValidator: 'org.apache.cassandra.db.marshal.BytesType',
+ * e.g.: {key: 'org.apache.cassandra.db.marshal.BytesType',
+ * comparator: 'org.apache.cassandra.db.marshal.BytesType',
+ * defaultValidator: 'org.apache.cassandra.db.marshal.BytesType',
* specificValidator:
{your_mother: 'org.apache.cassandra.db.marshal.BytesType',
*
my_mother: 'org.apache.cassandra.db.marshal.BytesType'}}
* todo: maybe this is complicated enough that a class is required.
@@ -115,7 +115,7 @@
if (!className) {
className = AbstractTypes.BytesType;
}
-
+
// perform the conversion.
if (className == AbstractTypes.LongType || className ==
AbstractTypes.CounterColumnType) {
if (this.options.use_bigints) {
@@ -136,7 +136,7 @@
} else if (className == AbstractTypes.TimeUUIDType) {
return UUID.fromBytes(bytes);
} else {
- return bytes;
- }
-
+ return bytes;
+ }
+
};
==============================================================================
Revision: 11f35621490d
Author: Tomaz Muraus <to...@tomaz.me>
Date: Mon Jan 9 11:57:04 2012
Log: Temporary comment out an assertion which fails in some minor
versions of
cassandra client.
http://code.google.com/a/apache-extras.org/p/cassandra-node/source/detail?r=11f35621490d
Modified:
/test/test_driver.js
=======================================
--- /test/test_driver.js Mon Jan 9 11:07:09 2012
+++ /test/test_driver.js Mon Jan 9 11:57:04 2012
@@ -172,7 +172,10 @@
con.execute('select * from CfLong where key=999999999', [],
function(err, rows) {
con.close();
assert.ok(rows);
- assert.strictEqual(rows.rowCount(), 0);
+ // NOTE: There is a bug in some newer minor cassandra versions so
this
+ // check is temporary commented out
+ // https://issues.apache.org/jira/browse/CASSANDRA-3424
+ //assert.strictEqual(rows.rowCount(), 0);
assert.strictEqual(err, null);
test.finish();
});