You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Aaron Morton (Created) (JIRA)" <ji...@apache.org> on 2011/10/21 00:28:10 UTC

[jira] [Created] (CASSANDRA-3391) CFM.toAvro() incorrectly serialises key_validation_class defn

CFM.toAvro() incorrectly serialises key_validation_class defn
-------------------------------------------------------------

                 Key: CASSANDRA-3391
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3391
             Project: Cassandra
          Issue Type: Bug
          Components: Core
    Affects Versions: 1.0.0
            Reporter: Aaron Morton
            Assignee: Aaron Morton
            Priority: Minor


see http://www.mail-archive.com/user@cassandra.apache.org/msg18132.html

Repo with 

{code}
create keyspace Stats with placement_strategy = 'org.apache.cassandra.locator.SimpleStrategy' and strategy_options={replication_factor:1};

use Stats;

create column family Sample_Stats with default_validation_class=CounterColumnType
    and key_validation_class='CompositeType(UTF8Type,UTF8Type)'
    and comparator='CompositeType(UTF8Type, UTF8Type)'
    and replicate_on_write=true;

[default@Stats] describe cluster;
Cluster Information:
   Snitch: org.apache.cassandra.locator.SimpleSnitch
   Partitioner: org.apache.cassandra.dht.RandomPartitioner
   Schema versions: 
	1d39bbf0-fb60-11e0-0000-242d50cf1ffd: [127.0.0.1]
{code}

Stop and restart the node

{code:java}
ERROR 10:12:22,729 Exception encountered during startup
java.lang.RuntimeException: Could not inflate CFMetaData for {"keyspace": "Stats", "name": "Sample_Stats", "column_type": "Standard", "comparator_type": "org.apache.cassandra.db.marshal.CompositeType(org.apache.cassandra.db.marshal.UTF8Type,org.apache.cassandra.db.marshal.UTF8Type)", "subcomparator_type": null, "comment": "", "row_cache_size": 0.0, "key_cache_size": 200000.0, "read_repair_chance": 1.0, "replicate_on_write": true, "gc_grace_seconds": 864000, "default_validation_class": "org.apache.cassandra.db.marshal.CounterColumnType", "key_validation_class": "org.apache.cassandra.db.marshal.CompositeType", "min_compaction_threshold": 4, "max_compaction_threshold": 32, "row_cache_save_period_in_seconds": 0, "key_cache_save_period_in_seconds": 14400, "row_cache_keys_to_save": 2147483647, "merge_shards_chance": 0.1, "id": 1000, "column_metadata": [], "row_cache_provider": "org.apache.cassandra.cache.ConcurrentLinkedHashCacheProvider", "key_alias": null, "compaction_strategy": "org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy", "compaction_strategy_options": {}, "compression_options": {}}
	at org.apache.cassandra.config.CFMetaData.fromAvro(CFMetaData.java:362)
	at org.apache.cassandra.config.KSMetaData.fromAvro(KSMetaData.java:193)
	at org.apache.cassandra.db.DefsTable.loadFromStorage(DefsTable.java:99)
	at org.apache.cassandra.config.DatabaseDescriptor.loadSchemas(DatabaseDescriptor.java:502)
	at org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassandraDaemon.java:161)
	at org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCassandraDaemon.java:337)
	at org.apache.cassandra.thrift.CassandraDaemon.main(CassandraDaemon.java:106)
Caused by: org.apache.cassandra.config.ConfigurationException: Invalid definition for comparator org.apache.cassandra.db.marshal.CompositeType.
	at org.apache.cassandra.db.marshal.TypeParser.getRawAbstractType(TypeParser.java:319)
	at org.apache.cassandra.db.marshal.TypeParser.getAbstractType(TypeParser.java:247)
	at org.apache.cassandra.db.marshal.TypeParser.parse(TypeParser.java:83)
	at org.apache.cassandra.db.marshal.TypeParser.parse(TypeParser.java:92)
	at org.apache.cassandra.config.CFMetaData.fromAvro(CFMetaData.java:358)
	... 6 more
Caused by: org.apache.cassandra.config.ConfigurationException: Nonsensical empty parameter list for CompositeType
	at org.apache.cassandra.db.marshal.CompositeType.getInstance(CompositeType.java:67)
	at org.apache.cassandra.db.marshal.CompositeType.getInstance(CompositeType.java:61)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.cassandra.db.marshal.TypeParser.getRawAbstractType(TypeParser.java:307)
	... 10 more
{code}

Will post the patch in a minute. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

[jira] [Commented] (CASSANDRA-3391) CFM.toAvro() incorrectly serialises key_validation_class defn

Posted by "Hudson (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-3391?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13132770#comment-13132770 ] 

Hudson commented on CASSANDRA-3391:
-----------------------------------

Integrated in Cassandra-0.8 #384 (See [https://builds.apache.org/job/Cassandra-0.8/384/])
    Correctly serialize key_validation_class for avro
patch by amorton; reviewed by slebresne for CASSANDRA-3391

slebresne : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1187339
Files : 
* /cassandra/branches/cassandra-0.8/CHANGES.txt
* /cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/config/CFMetaData.java

                
> CFM.toAvro() incorrectly serialises key_validation_class defn
> -------------------------------------------------------------
>
>                 Key: CASSANDRA-3391
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3391
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.0.0
>            Reporter: Aaron Morton
>            Assignee: Aaron Morton
>            Priority: Minor
>             Fix For: 0.8.8, 1.0.1
>
>         Attachments: 0001-3391-fix.patch
>
>
> see http://www.mail-archive.com/user@cassandra.apache.org/msg18132.html
> Repo with 
> {code}
> create keyspace Stats with placement_strategy = 'org.apache.cassandra.locator.SimpleStrategy' and strategy_options={replication_factor:1};
> use Stats;
> create column family Sample_Stats with default_validation_class=CounterColumnType
>     and key_validation_class='CompositeType(UTF8Type,UTF8Type)'
>     and comparator='CompositeType(UTF8Type, UTF8Type)'
>     and replicate_on_write=true;
> [default@Stats] describe cluster;
> Cluster Information:
>    Snitch: org.apache.cassandra.locator.SimpleSnitch
>    Partitioner: org.apache.cassandra.dht.RandomPartitioner
>    Schema versions: 
> 	1d39bbf0-fb60-11e0-0000-242d50cf1ffd: [127.0.0.1]
> {code}
> Stop and restart the node
> {code:java}
> ERROR 10:12:22,729 Exception encountered during startup
> java.lang.RuntimeException: Could not inflate CFMetaData for {"keyspace": "Stats", "name": "Sample_Stats", "column_type": "Standard", "comparator_type": "org.apache.cassandra.db.marshal.CompositeType(org.apache.cassandra.db.marshal.UTF8Type,org.apache.cassandra.db.marshal.UTF8Type)", "subcomparator_type": null, "comment": "", "row_cache_size": 0.0, "key_cache_size": 200000.0, "read_repair_chance": 1.0, "replicate_on_write": true, "gc_grace_seconds": 864000, "default_validation_class": "org.apache.cassandra.db.marshal.CounterColumnType", "key_validation_class": "org.apache.cassandra.db.marshal.CompositeType", "min_compaction_threshold": 4, "max_compaction_threshold": 32, "row_cache_save_period_in_seconds": 0, "key_cache_save_period_in_seconds": 14400, "row_cache_keys_to_save": 2147483647, "merge_shards_chance": 0.1, "id": 1000, "column_metadata": [], "row_cache_provider": "org.apache.cassandra.cache.ConcurrentLinkedHashCacheProvider", "key_alias": null, "compaction_strategy": "org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy", "compaction_strategy_options": {}, "compression_options": {}}
> 	at org.apache.cassandra.config.CFMetaData.fromAvro(CFMetaData.java:362)
> 	at org.apache.cassandra.config.KSMetaData.fromAvro(KSMetaData.java:193)
> 	at org.apache.cassandra.db.DefsTable.loadFromStorage(DefsTable.java:99)
> 	at org.apache.cassandra.config.DatabaseDescriptor.loadSchemas(DatabaseDescriptor.java:502)
> 	at org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassandraDaemon.java:161)
> 	at org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCassandraDaemon.java:337)
> 	at org.apache.cassandra.thrift.CassandraDaemon.main(CassandraDaemon.java:106)
> Caused by: org.apache.cassandra.config.ConfigurationException: Invalid definition for comparator org.apache.cassandra.db.marshal.CompositeType.
> 	at org.apache.cassandra.db.marshal.TypeParser.getRawAbstractType(TypeParser.java:319)
> 	at org.apache.cassandra.db.marshal.TypeParser.getAbstractType(TypeParser.java:247)
> 	at org.apache.cassandra.db.marshal.TypeParser.parse(TypeParser.java:83)
> 	at org.apache.cassandra.db.marshal.TypeParser.parse(TypeParser.java:92)
> 	at org.apache.cassandra.config.CFMetaData.fromAvro(CFMetaData.java:358)
> 	... 6 more
> Caused by: org.apache.cassandra.config.ConfigurationException: Nonsensical empty parameter list for CompositeType
> 	at org.apache.cassandra.db.marshal.CompositeType.getInstance(CompositeType.java:67)
> 	at org.apache.cassandra.db.marshal.CompositeType.getInstance(CompositeType.java:61)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.cassandra.db.marshal.TypeParser.getRawAbstractType(TypeParser.java:307)
> 	... 10 more
> {code}
> Will post the patch in a minute. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

[jira] [Commented] (CASSANDRA-3391) CFM.toAvro() incorrectly serialises key_validation_class defn

Posted by "Sylvain Lebresne (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-3391?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13132669#comment-13132669 ] 

Sylvain Lebresne commented on CASSANDRA-3391:
---------------------------------------------

+1
                
> CFM.toAvro() incorrectly serialises key_validation_class defn
> -------------------------------------------------------------
>
>                 Key: CASSANDRA-3391
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3391
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.0.0
>            Reporter: Aaron Morton
>            Assignee: Aaron Morton
>            Priority: Minor
>         Attachments: 0001-3391-fix.patch
>
>
> see http://www.mail-archive.com/user@cassandra.apache.org/msg18132.html
> Repo with 
> {code}
> create keyspace Stats with placement_strategy = 'org.apache.cassandra.locator.SimpleStrategy' and strategy_options={replication_factor:1};
> use Stats;
> create column family Sample_Stats with default_validation_class=CounterColumnType
>     and key_validation_class='CompositeType(UTF8Type,UTF8Type)'
>     and comparator='CompositeType(UTF8Type, UTF8Type)'
>     and replicate_on_write=true;
> [default@Stats] describe cluster;
> Cluster Information:
>    Snitch: org.apache.cassandra.locator.SimpleSnitch
>    Partitioner: org.apache.cassandra.dht.RandomPartitioner
>    Schema versions: 
> 	1d39bbf0-fb60-11e0-0000-242d50cf1ffd: [127.0.0.1]
> {code}
> Stop and restart the node
> {code:java}
> ERROR 10:12:22,729 Exception encountered during startup
> java.lang.RuntimeException: Could not inflate CFMetaData for {"keyspace": "Stats", "name": "Sample_Stats", "column_type": "Standard", "comparator_type": "org.apache.cassandra.db.marshal.CompositeType(org.apache.cassandra.db.marshal.UTF8Type,org.apache.cassandra.db.marshal.UTF8Type)", "subcomparator_type": null, "comment": "", "row_cache_size": 0.0, "key_cache_size": 200000.0, "read_repair_chance": 1.0, "replicate_on_write": true, "gc_grace_seconds": 864000, "default_validation_class": "org.apache.cassandra.db.marshal.CounterColumnType", "key_validation_class": "org.apache.cassandra.db.marshal.CompositeType", "min_compaction_threshold": 4, "max_compaction_threshold": 32, "row_cache_save_period_in_seconds": 0, "key_cache_save_period_in_seconds": 14400, "row_cache_keys_to_save": 2147483647, "merge_shards_chance": 0.1, "id": 1000, "column_metadata": [], "row_cache_provider": "org.apache.cassandra.cache.ConcurrentLinkedHashCacheProvider", "key_alias": null, "compaction_strategy": "org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy", "compaction_strategy_options": {}, "compression_options": {}}
> 	at org.apache.cassandra.config.CFMetaData.fromAvro(CFMetaData.java:362)
> 	at org.apache.cassandra.config.KSMetaData.fromAvro(KSMetaData.java:193)
> 	at org.apache.cassandra.db.DefsTable.loadFromStorage(DefsTable.java:99)
> 	at org.apache.cassandra.config.DatabaseDescriptor.loadSchemas(DatabaseDescriptor.java:502)
> 	at org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassandraDaemon.java:161)
> 	at org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCassandraDaemon.java:337)
> 	at org.apache.cassandra.thrift.CassandraDaemon.main(CassandraDaemon.java:106)
> Caused by: org.apache.cassandra.config.ConfigurationException: Invalid definition for comparator org.apache.cassandra.db.marshal.CompositeType.
> 	at org.apache.cassandra.db.marshal.TypeParser.getRawAbstractType(TypeParser.java:319)
> 	at org.apache.cassandra.db.marshal.TypeParser.getAbstractType(TypeParser.java:247)
> 	at org.apache.cassandra.db.marshal.TypeParser.parse(TypeParser.java:83)
> 	at org.apache.cassandra.db.marshal.TypeParser.parse(TypeParser.java:92)
> 	at org.apache.cassandra.config.CFMetaData.fromAvro(CFMetaData.java:358)
> 	... 6 more
> Caused by: org.apache.cassandra.config.ConfigurationException: Nonsensical empty parameter list for CompositeType
> 	at org.apache.cassandra.db.marshal.CompositeType.getInstance(CompositeType.java:67)
> 	at org.apache.cassandra.db.marshal.CompositeType.getInstance(CompositeType.java:61)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.cassandra.db.marshal.TypeParser.getRawAbstractType(TypeParser.java:307)
> 	... 10 more
> {code}
> Will post the patch in a minute. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

[jira] [Updated] (CASSANDRA-3391) CFM.toAvro() incorrectly serialises key_validation_class defn

Posted by "Aaron Morton (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-3391?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Aaron Morton updated CASSANDRA-3391:
------------------------------------

    Attachment: 0001-3391-fix.patch

Use AbstractType.toString() when serialising key_validator_class to Avro.

Checked other places to CFMD.toAvro() and CFMD.fromAvro() they seemed ok. 
                
> CFM.toAvro() incorrectly serialises key_validation_class defn
> -------------------------------------------------------------
>
>                 Key: CASSANDRA-3391
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3391
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.0.0
>            Reporter: Aaron Morton
>            Assignee: Aaron Morton
>            Priority: Minor
>         Attachments: 0001-3391-fix.patch
>
>
> see http://www.mail-archive.com/user@cassandra.apache.org/msg18132.html
> Repo with 
> {code}
> create keyspace Stats with placement_strategy = 'org.apache.cassandra.locator.SimpleStrategy' and strategy_options={replication_factor:1};
> use Stats;
> create column family Sample_Stats with default_validation_class=CounterColumnType
>     and key_validation_class='CompositeType(UTF8Type,UTF8Type)'
>     and comparator='CompositeType(UTF8Type, UTF8Type)'
>     and replicate_on_write=true;
> [default@Stats] describe cluster;
> Cluster Information:
>    Snitch: org.apache.cassandra.locator.SimpleSnitch
>    Partitioner: org.apache.cassandra.dht.RandomPartitioner
>    Schema versions: 
> 	1d39bbf0-fb60-11e0-0000-242d50cf1ffd: [127.0.0.1]
> {code}
> Stop and restart the node
> {code:java}
> ERROR 10:12:22,729 Exception encountered during startup
> java.lang.RuntimeException: Could not inflate CFMetaData for {"keyspace": "Stats", "name": "Sample_Stats", "column_type": "Standard", "comparator_type": "org.apache.cassandra.db.marshal.CompositeType(org.apache.cassandra.db.marshal.UTF8Type,org.apache.cassandra.db.marshal.UTF8Type)", "subcomparator_type": null, "comment": "", "row_cache_size": 0.0, "key_cache_size": 200000.0, "read_repair_chance": 1.0, "replicate_on_write": true, "gc_grace_seconds": 864000, "default_validation_class": "org.apache.cassandra.db.marshal.CounterColumnType", "key_validation_class": "org.apache.cassandra.db.marshal.CompositeType", "min_compaction_threshold": 4, "max_compaction_threshold": 32, "row_cache_save_period_in_seconds": 0, "key_cache_save_period_in_seconds": 14400, "row_cache_keys_to_save": 2147483647, "merge_shards_chance": 0.1, "id": 1000, "column_metadata": [], "row_cache_provider": "org.apache.cassandra.cache.ConcurrentLinkedHashCacheProvider", "key_alias": null, "compaction_strategy": "org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy", "compaction_strategy_options": {}, "compression_options": {}}
> 	at org.apache.cassandra.config.CFMetaData.fromAvro(CFMetaData.java:362)
> 	at org.apache.cassandra.config.KSMetaData.fromAvro(KSMetaData.java:193)
> 	at org.apache.cassandra.db.DefsTable.loadFromStorage(DefsTable.java:99)
> 	at org.apache.cassandra.config.DatabaseDescriptor.loadSchemas(DatabaseDescriptor.java:502)
> 	at org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassandraDaemon.java:161)
> 	at org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCassandraDaemon.java:337)
> 	at org.apache.cassandra.thrift.CassandraDaemon.main(CassandraDaemon.java:106)
> Caused by: org.apache.cassandra.config.ConfigurationException: Invalid definition for comparator org.apache.cassandra.db.marshal.CompositeType.
> 	at org.apache.cassandra.db.marshal.TypeParser.getRawAbstractType(TypeParser.java:319)
> 	at org.apache.cassandra.db.marshal.TypeParser.getAbstractType(TypeParser.java:247)
> 	at org.apache.cassandra.db.marshal.TypeParser.parse(TypeParser.java:83)
> 	at org.apache.cassandra.db.marshal.TypeParser.parse(TypeParser.java:92)
> 	at org.apache.cassandra.config.CFMetaData.fromAvro(CFMetaData.java:358)
> 	... 6 more
> Caused by: org.apache.cassandra.config.ConfigurationException: Nonsensical empty parameter list for CompositeType
> 	at org.apache.cassandra.db.marshal.CompositeType.getInstance(CompositeType.java:67)
> 	at org.apache.cassandra.db.marshal.CompositeType.getInstance(CompositeType.java:61)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.cassandra.db.marshal.TypeParser.getRawAbstractType(TypeParser.java:307)
> 	... 10 more
> {code}
> Will post the patch in a minute. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira