cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mikhail Stepura (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (CASSANDRA-8029) BufferUnderflowException when writing a null value to a UDT field
Date Tue, 30 Sep 2014 18:13:34 GMT

     [ https://issues.apache.org/jira/browse/CASSANDRA-8029?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Mikhail Stepura updated CASSANDRA-8029:
---------------------------------------
    Description: 
This error was produced with the following schema:
{code}
CREATE TYPE LB_POOL_HEALTH_CHECK (
	mode text,
	uri text,
	health_threshold text,
	unhealth_threshold text,
	interval text,
	timeout text
);

CREATE TYPE LB_POOL_SERVICE_PORT (
	enabled boolean,
	protocol text,
	algorithm text,
	port text,
	health_check_port text,
	health_checks set<frozen<lb_pool_health_check>>
);

CREATE TYPE LB_POOL_MEMBER (
	ip_address text,
	weight text,
	service_ports set<frozen<lb_pool_service_port>>
);

CREATE TYPE LB_PERSISTENCE_TYPE (
	method text,
	cookie_name text,
	cookie_mode text
);

CREATE TYPE LB_VIRTUAL_SERVER_SERVICE_PROFILE (
	enabled boolean,
	protocol text,
	port text,
	persistence frozen<lb_persistence_type>
);

CREATE TYPE LOAD_BALANCER_POOL (
	id text,
	name text,
	description text,
	service_ports set<frozen<lb_pool_service_port>>,
	members set<frozen<lb_pool_member>>,
	operational boolean,
	error_details text
);

CREATE TYPE LOAD_BALANCER_VIRTUAL_SERVER (
	name text,
	enabled boolean,
	description text,
	ip_address text,
	service_profiles set<frozen<lb_virtual_server_service_profile>>,
	logging boolean,
	pool text,
	network text
);

CREATE TABLE LOAD_BALANCER_SERVICE (
	edge_uuid text,
	enabled boolean,
	pools set<frozen<load_balancer_pool>>,
	virtual_servers set<frozen<load_balancer_virtual_server>>,
	PRIMARY KEY (edge_uuid)
);
{code}
Whenever I write a null value to any of the id, name, or description fields for a LOAD_BALANCER_POOL
udt in the pools set of the LOAD_BALANCER_SERVICE table or to the name, enabled, description,
or ip_addresses fields of the LOAD_BALANCER_VIRTUAL_SERVER table in the virtual_servers set
of the LOAD_BALANCER_SERVICE table, I get the following error from cqlsh:
{code}
<ErrorMessage code=0000 [Server error] message="java.nio.BufferUnderflowException">
{code}
When doing the same from the Java Datastax driver, this seems to succeed on the first write
but fail with a timeout exception on all subsequent writes until either the table is truncated
or both the pools and virtual_servers collections are both written as empty sets.

Having null values in other UDT fields in the hierarchy doesn't seem to cause any issues.

When I restart Cassandra after having these errors, Cassandra fails to start and throws the
following error when trying to replay the commit logs:
{code}
ERROR [main] 2014-09-30 13:43:04,183 CassandraDaemon.java:474 - Exception encountered during
startup
java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.nio.BufferUnderflowException
        at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:411) ~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.utils.FBUtilities.waitOnFutures(FBUtilities.java:400) ~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.db.commitlog.CommitLogReplayer.recover(CommitLogReplayer.java:426)
~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.db.commitlog.CommitLogReplayer.recover(CommitLogReplayer.java:95)
~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.db.commitlog.CommitLog.recover(CommitLog.java:137) ~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.db.commitlog.CommitLog.recover(CommitLog.java:117) ~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:296) [apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:457)
[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:546) [apache-cassandra-2.1.0.jar:2.1.0]
Caused by: java.util.concurrent.ExecutionException: java.nio.BufferUnderflowException
        at org.apache.cassandra.concurrent.AbstractTracingAwareExecutorService$FutureTask.get(AbstractTracingAwareExecutorService.java:198)
~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:407) ~[apache-cassandra-2.1.0.jar:2.1.0]
        ... 8 common frames omitted
Caused by: java.nio.BufferUnderflowException: null
        at java.nio.Buffer.nextGetIndex(Buffer.java:506) ~[na:1.8.0_20]
        at java.nio.HeapByteBuffer.getInt(HeapByteBuffer.java:361) ~[na:1.8.0_20]
        at org.apache.cassandra.serializers.CollectionSerializer.readCollectionSize(CollectionSerializer.java:85)
~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.db.marshal.ListType.compareListOrSet(ListType.java:96) ~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.db.marshal.SetType.compare(SetType.java:77) ~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.db.marshal.SetType.compare(SetType.java:29) ~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.db.marshal.TupleType.compare(TupleType.java:95) ~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.db.marshal.TupleType.compare(TupleType.java:38) ~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.db.marshal.ColumnToCollectionType.compareCollectionMembers(ColumnToCollectionType.java:74)
~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.db.composites.CompoundSparseCellNameType$WithCollection.compare(CompoundSparseCellNameType.java:292)
~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.db.composites.AbstractCellNameType$1.compare(AbstractCellNameType.java:60)
~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.db.composites.AbstractCellNameType$1.compare(AbstractCellNameType.java:57)
~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.utils.btree.NodeBuilder.update(NodeBuilder.java:148) ~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.utils.btree.Builder.update(Builder.java:74) ~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.utils.btree.BTree.update(BTree.java:186) ~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.db.AtomicBTreeColumns.addAllWithSizeDelta(AtomicBTreeColumns.java:189)
~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.db.Memtable.put(Memtable.java:194) ~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.db.ColumnFamilyStore.apply(ColumnFamilyStore.java:1142) ~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:394) ~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:351) ~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.db.commitlog.CommitLogReplayer$1.runMayThrow(CommitLogReplayer.java:418)
~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) ~[apache-cassandra-2.1.0.jar:2.1.0]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[na:1.8.0_20]
        at org.apache.cassandra.concurrent.AbstractTracingAwareExecutorService$FutureTask.run(AbstractTracingAwareExecutorService.java:163)
~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:103) ~[apache-cassandra-2.1.0.jar:2.1.0]
        at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_20]
{code}
I'm not sure if null values are supposed to be acceptable for UDT fields, but in any case,
it would be nice to handle these errors more gracefully.





  was:
This error was produced with the following schema:

CREATE TYPE LB_POOL_HEALTH_CHECK (
	mode text,
	uri text,
	health_threshold text,
	unhealth_threshold text,
	interval text,
	timeout text
);

CREATE TYPE LB_POOL_SERVICE_PORT (
	enabled boolean,
	protocol text,
	algorithm text,
	port text,
	health_check_port text,
	health_checks set<frozen<lb_pool_health_check>>
);

CREATE TYPE LB_POOL_MEMBER (
	ip_address text,
	weight text,
	service_ports set<frozen<lb_pool_service_port>>
);

CREATE TYPE LB_PERSISTENCE_TYPE (
	method text,
	cookie_name text,
	cookie_mode text
);

CREATE TYPE LB_VIRTUAL_SERVER_SERVICE_PROFILE (
	enabled boolean,
	protocol text,
	port text,
	persistence frozen<lb_persistence_type>
);

CREATE TYPE LOAD_BALANCER_POOL (
	id text,
	name text,
	description text,
	service_ports set<frozen<lb_pool_service_port>>,
	members set<frozen<lb_pool_member>>,
	operational boolean,
	error_details text
);

CREATE TYPE LOAD_BALANCER_VIRTUAL_SERVER (
	name text,
	enabled boolean,
	description text,
	ip_address text,
	service_profiles set<frozen<lb_virtual_server_service_profile>>,
	logging boolean,
	pool text,
	network text
);

CREATE TABLE LOAD_BALANCER_SERVICE (
	edge_uuid text,
	enabled boolean,
	pools set<frozen<load_balancer_pool>>,
	virtual_servers set<frozen<load_balancer_virtual_server>>,
	PRIMARY KEY (edge_uuid)
);

Whenever I write a null value to any of the id, name, or description fields for a LOAD_BALANCER_POOL
udt in the pools set of the LOAD_BALANCER_SERVICE table or to the name, enabled, description,
or ip_addresses fields of the LOAD_BALANCER_VIRTUAL_SERVER table in the virtual_servers set
of the LOAD_BALANCER_SERVICE table, I get the following error from cqlsh:

<ErrorMessage code=0000 [Server error] message="java.nio.BufferUnderflowException">

When doing the same from the Java Datastax driver, this seems to succeed on the first write
but fail with a timeout exception on all subsequent writes until either the table is truncated
or both the pools and virtual_servers collections are both written as empty sets.

Having null values in other UDT fields in the hierarchy doesn't seem to cause any issues.

When I restart Cassandra after having these errors, Cassandra fails to start and throws the
following error when trying to replay the commit logs:

ERROR [main] 2014-09-30 13:43:04,183 CassandraDaemon.java:474 - Exception encountered during
startup
java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.nio.BufferUnderflowException
        at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:411) ~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.utils.FBUtilities.waitOnFutures(FBUtilities.java:400) ~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.db.commitlog.CommitLogReplayer.recover(CommitLogReplayer.java:426)
~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.db.commitlog.CommitLogReplayer.recover(CommitLogReplayer.java:95)
~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.db.commitlog.CommitLog.recover(CommitLog.java:137) ~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.db.commitlog.CommitLog.recover(CommitLog.java:117) ~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:296) [apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:457)
[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:546) [apache-cassandra-2.1.0.jar:2.1.0]
Caused by: java.util.concurrent.ExecutionException: java.nio.BufferUnderflowException
        at org.apache.cassandra.concurrent.AbstractTracingAwareExecutorService$FutureTask.get(AbstractTracingAwareExecutorService.java:198)
~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:407) ~[apache-cassandra-2.1.0.jar:2.1.0]
        ... 8 common frames omitted
Caused by: java.nio.BufferUnderflowException: null
        at java.nio.Buffer.nextGetIndex(Buffer.java:506) ~[na:1.8.0_20]
        at java.nio.HeapByteBuffer.getInt(HeapByteBuffer.java:361) ~[na:1.8.0_20]
        at org.apache.cassandra.serializers.CollectionSerializer.readCollectionSize(CollectionSerializer.java:85)
~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.db.marshal.ListType.compareListOrSet(ListType.java:96) ~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.db.marshal.SetType.compare(SetType.java:77) ~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.db.marshal.SetType.compare(SetType.java:29) ~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.db.marshal.TupleType.compare(TupleType.java:95) ~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.db.marshal.TupleType.compare(TupleType.java:38) ~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.db.marshal.ColumnToCollectionType.compareCollectionMembers(ColumnToCollectionType.java:74)
~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.db.composites.CompoundSparseCellNameType$WithCollection.compare(CompoundSparseCellNameType.java:292)
~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.db.composites.AbstractCellNameType$1.compare(AbstractCellNameType.java:60)
~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.db.composites.AbstractCellNameType$1.compare(AbstractCellNameType.java:57)
~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.utils.btree.NodeBuilder.update(NodeBuilder.java:148) ~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.utils.btree.Builder.update(Builder.java:74) ~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.utils.btree.BTree.update(BTree.java:186) ~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.db.AtomicBTreeColumns.addAllWithSizeDelta(AtomicBTreeColumns.java:189)
~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.db.Memtable.put(Memtable.java:194) ~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.db.ColumnFamilyStore.apply(ColumnFamilyStore.java:1142) ~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:394) ~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:351) ~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.db.commitlog.CommitLogReplayer$1.runMayThrow(CommitLogReplayer.java:418)
~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) ~[apache-cassandra-2.1.0.jar:2.1.0]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[na:1.8.0_20]
        at org.apache.cassandra.concurrent.AbstractTracingAwareExecutorService$FutureTask.run(AbstractTracingAwareExecutorService.java:163)
~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:103) ~[apache-cassandra-2.1.0.jar:2.1.0]
        at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_20]

I'm not sure if null values are supposed to be acceptable for UDT fields, but in any case,
it would be nice to handle these errors more gracefully.






> BufferUnderflowException when writing a null value to a UDT field
> -----------------------------------------------------------------
>
>                 Key: CASSANDRA-8029
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-8029
>             Project: Cassandra
>          Issue Type: Bug
>         Environment: Ubuntu 14.04. Cassandra 2.1.0. Single node.
>            Reporter: Cory Snyder
>
> This error was produced with the following schema:
> {code}
> CREATE TYPE LB_POOL_HEALTH_CHECK (
> 	mode text,
> 	uri text,
> 	health_threshold text,
> 	unhealth_threshold text,
> 	interval text,
> 	timeout text
> );
> CREATE TYPE LB_POOL_SERVICE_PORT (
> 	enabled boolean,
> 	protocol text,
> 	algorithm text,
> 	port text,
> 	health_check_port text,
> 	health_checks set<frozen<lb_pool_health_check>>
> );
> CREATE TYPE LB_POOL_MEMBER (
> 	ip_address text,
> 	weight text,
> 	service_ports set<frozen<lb_pool_service_port>>
> );
> CREATE TYPE LB_PERSISTENCE_TYPE (
> 	method text,
> 	cookie_name text,
> 	cookie_mode text
> );
> CREATE TYPE LB_VIRTUAL_SERVER_SERVICE_PROFILE (
> 	enabled boolean,
> 	protocol text,
> 	port text,
> 	persistence frozen<lb_persistence_type>
> );
> CREATE TYPE LOAD_BALANCER_POOL (
> 	id text,
> 	name text,
> 	description text,
> 	service_ports set<frozen<lb_pool_service_port>>,
> 	members set<frozen<lb_pool_member>>,
> 	operational boolean,
> 	error_details text
> );
> CREATE TYPE LOAD_BALANCER_VIRTUAL_SERVER (
> 	name text,
> 	enabled boolean,
> 	description text,
> 	ip_address text,
> 	service_profiles set<frozen<lb_virtual_server_service_profile>>,
> 	logging boolean,
> 	pool text,
> 	network text
> );
> CREATE TABLE LOAD_BALANCER_SERVICE (
> 	edge_uuid text,
> 	enabled boolean,
> 	pools set<frozen<load_balancer_pool>>,
> 	virtual_servers set<frozen<load_balancer_virtual_server>>,
> 	PRIMARY KEY (edge_uuid)
> );
> {code}
> Whenever I write a null value to any of the id, name, or description fields for a LOAD_BALANCER_POOL
udt in the pools set of the LOAD_BALANCER_SERVICE table or to the name, enabled, description,
or ip_addresses fields of the LOAD_BALANCER_VIRTUAL_SERVER table in the virtual_servers set
of the LOAD_BALANCER_SERVICE table, I get the following error from cqlsh:
> {code}
> <ErrorMessage code=0000 [Server error] message="java.nio.BufferUnderflowException">
> {code}
> When doing the same from the Java Datastax driver, this seems to succeed on the first
write but fail with a timeout exception on all subsequent writes until either the table is
truncated or both the pools and virtual_servers collections are both written as empty sets.
> Having null values in other UDT fields in the hierarchy doesn't seem to cause any issues.
> When I restart Cassandra after having these errors, Cassandra fails to start and throws
the following error when trying to replay the commit logs:
> {code}
> ERROR [main] 2014-09-30 13:43:04,183 CassandraDaemon.java:474 - Exception encountered
during startup
> java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.nio.BufferUnderflowException
>         at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:411)
~[apache-cassandra-2.1.0.jar:2.1.0]
>         at org.apache.cassandra.utils.FBUtilities.waitOnFutures(FBUtilities.java:400)
~[apache-cassandra-2.1.0.jar:2.1.0]
>         at org.apache.cassandra.db.commitlog.CommitLogReplayer.recover(CommitLogReplayer.java:426)
~[apache-cassandra-2.1.0.jar:2.1.0]
>         at org.apache.cassandra.db.commitlog.CommitLogReplayer.recover(CommitLogReplayer.java:95)
~[apache-cassandra-2.1.0.jar:2.1.0]
>         at org.apache.cassandra.db.commitlog.CommitLog.recover(CommitLog.java:137) ~[apache-cassandra-2.1.0.jar:2.1.0]
>         at org.apache.cassandra.db.commitlog.CommitLog.recover(CommitLog.java:117) ~[apache-cassandra-2.1.0.jar:2.1.0]
>         at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:296)
[apache-cassandra-2.1.0.jar:2.1.0]
>         at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:457)
[apache-cassandra-2.1.0.jar:2.1.0]
>         at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:546)
[apache-cassandra-2.1.0.jar:2.1.0]
> Caused by: java.util.concurrent.ExecutionException: java.nio.BufferUnderflowException
>         at org.apache.cassandra.concurrent.AbstractTracingAwareExecutorService$FutureTask.get(AbstractTracingAwareExecutorService.java:198)
~[apache-cassandra-2.1.0.jar:2.1.0]
>         at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:407)
~[apache-cassandra-2.1.0.jar:2.1.0]
>         ... 8 common frames omitted
> Caused by: java.nio.BufferUnderflowException: null
>         at java.nio.Buffer.nextGetIndex(Buffer.java:506) ~[na:1.8.0_20]
>         at java.nio.HeapByteBuffer.getInt(HeapByteBuffer.java:361) ~[na:1.8.0_20]
>         at org.apache.cassandra.serializers.CollectionSerializer.readCollectionSize(CollectionSerializer.java:85)
~[apache-cassandra-2.1.0.jar:2.1.0]
>         at org.apache.cassandra.db.marshal.ListType.compareListOrSet(ListType.java:96)
~[apache-cassandra-2.1.0.jar:2.1.0]
>         at org.apache.cassandra.db.marshal.SetType.compare(SetType.java:77) ~[apache-cassandra-2.1.0.jar:2.1.0]
>         at org.apache.cassandra.db.marshal.SetType.compare(SetType.java:29) ~[apache-cassandra-2.1.0.jar:2.1.0]
>         at org.apache.cassandra.db.marshal.TupleType.compare(TupleType.java:95) ~[apache-cassandra-2.1.0.jar:2.1.0]
>         at org.apache.cassandra.db.marshal.TupleType.compare(TupleType.java:38) ~[apache-cassandra-2.1.0.jar:2.1.0]
>         at org.apache.cassandra.db.marshal.ColumnToCollectionType.compareCollectionMembers(ColumnToCollectionType.java:74)
~[apache-cassandra-2.1.0.jar:2.1.0]
>         at org.apache.cassandra.db.composites.CompoundSparseCellNameType$WithCollection.compare(CompoundSparseCellNameType.java:292)
~[apache-cassandra-2.1.0.jar:2.1.0]
>         at org.apache.cassandra.db.composites.AbstractCellNameType$1.compare(AbstractCellNameType.java:60)
~[apache-cassandra-2.1.0.jar:2.1.0]
>         at org.apache.cassandra.db.composites.AbstractCellNameType$1.compare(AbstractCellNameType.java:57)
~[apache-cassandra-2.1.0.jar:2.1.0]
>         at org.apache.cassandra.utils.btree.NodeBuilder.update(NodeBuilder.java:148)
~[apache-cassandra-2.1.0.jar:2.1.0]
>         at org.apache.cassandra.utils.btree.Builder.update(Builder.java:74) ~[apache-cassandra-2.1.0.jar:2.1.0]
>         at org.apache.cassandra.utils.btree.BTree.update(BTree.java:186) ~[apache-cassandra-2.1.0.jar:2.1.0]
>         at org.apache.cassandra.db.AtomicBTreeColumns.addAllWithSizeDelta(AtomicBTreeColumns.java:189)
~[apache-cassandra-2.1.0.jar:2.1.0]
>         at org.apache.cassandra.db.Memtable.put(Memtable.java:194) ~[apache-cassandra-2.1.0.jar:2.1.0]
>         at org.apache.cassandra.db.ColumnFamilyStore.apply(ColumnFamilyStore.java:1142)
~[apache-cassandra-2.1.0.jar:2.1.0]
>         at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:394) ~[apache-cassandra-2.1.0.jar:2.1.0]
>         at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:351) ~[apache-cassandra-2.1.0.jar:2.1.0]
>         at org.apache.cassandra.db.commitlog.CommitLogReplayer$1.runMayThrow(CommitLogReplayer.java:418)
~[apache-cassandra-2.1.0.jar:2.1.0]
>         at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) ~[apache-cassandra-2.1.0.jar:2.1.0]
>         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[na:1.8.0_20]
>         at org.apache.cassandra.concurrent.AbstractTracingAwareExecutorService$FutureTask.run(AbstractTracingAwareExecutorService.java:163)
~[apache-cassandra-2.1.0.jar:2.1.0]
>         at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:103) ~[apache-cassandra-2.1.0.jar:2.1.0]
>         at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_20]
> {code}
> I'm not sure if null values are supposed to be acceptable for UDT fields, but in any
case, it would be nice to handle these errors more gracefully.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message