[
https://issues.apache.org/jira/browse/CASSANDRA-4706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13461778#comment-13461778
]
Sylvain Lebresne commented on CASSANDRA-4706:
---------------------------------------------
The code lacks proper validation and I'll look into it but let me note that
mixing counter column with non-counter columns (set being non-counter) is not
allowed (not more than it is on thrift).
> CQL3 CREATE TABLE with set and counter causes
> java.lang.IllegalArgumentException
> --------------------------------------------------------------------------------
>
> Key: CASSANDRA-4706
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4706
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Affects Versions: 1.2.0 beta 1
> Environment: rev 60bf68ca (tagged 1.2.0-beta1-tentative)
> cqlsh 2.2.0 | Cassandra 1.2.0-beta1-SNAPSHOT | CQL spec 3.0.0 | Thrift
> protocol 19.34.0
> OS X 10.8.2
> java version "1.6.0_35"
> Java(TM) SE Runtime Environment (build 1.6.0_35-b10-428-11M3811)
> Java HotSpot(TM) 64-Bit Server VM (build 20.10-b01-428, mixed mode)
> Ubuntu 12.04.1 LTS
> java version "1.7.0_07"
> Java(TM) SE Runtime Environment (build 1.7.0_07-b10)
> Java HotSpot(TM) 64-Bit Server VM (build 23.3-b01, mixed mode)
> Reporter: Jonathan Rudenberg
> Assignee: Sylvain Lebresne
> Priority: Minor
> Fix For: 1.2.0 beta 2
>
>
> Running a freshly compiled cassandra with no data, and a brand new keyspace
> (SimpleStrategy, replication_factor 1)
> {noformat}
> cqlsh:test> CREATE TABLE test (id bigint PRIMARY KEY, count counter, things
> set<text>);
> TSocket read 0 bytes
> {noformat}
> {noformat}
> ERROR 11:25:54,926 Error occurred during processing of message.
> java.lang.IllegalArgumentException
> at java.nio.Buffer.limit(Buffer.java:247)
> at
> org.apache.cassandra.db.marshal.AbstractCompositeType.getBytes(AbstractCompositeType.java:50)
> at
> org.apache.cassandra.db.marshal.AbstractCompositeType.getWithShortLength(AbstractCompositeType.java:59)
> at
> org.apache.cassandra.db.marshal.AbstractCompositeType.getString(AbstractCompositeType.java:143)
> at org.apache.cassandra.config.CFMetaData.validate(CFMetaData.java:1064)
> at
> org.apache.cassandra.service.MigrationManager.announceNewColumnFamily(MigrationManager.java:123)
> at
> org.apache.cassandra.cql3.statements.CreateColumnFamilyStatement.announceMigration(CreateColumnFamilyStatement.java:100)
> at
> org.apache.cassandra.cql3.statements.SchemaAlteringStatement.execute(SchemaAlteringStatement.java:83)
> at
> org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:108)
> at
> org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:116)
> at
> org.apache.cassandra.thrift.CassandraServer.execute_cql_query(CassandraServer.java:1677)
> at
> org.apache.cassandra.thrift.Cassandra$Processor$execute_cql_query.getResult(Cassandra.java:3721)
> at
> org.apache.cassandra.thrift.Cassandra$Processor$execute_cql_query.getResult(Cassandra.java:3709)
> at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:32)
> at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:34)
> at
> org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:184)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> at java.lang.Thread.run(Thread.java:680)
> {noformat}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira