You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Russell Bradberry (JIRA)" <ji...@apache.org> on 2012/10/20 03:22:11 UTC

[jira] [Created] (CASSANDRA-4842) DateType in Column MetaData causes server crash

Russell Bradberry created CASSANDRA-4842:
--------------------------------------------

             Summary: DateType in Column MetaData causes server crash
                 Key: CASSANDRA-4842
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4842
             Project: Cassandra
          Issue Type: Bug
          Components: Core
    Affects Versions: 1.2.0 beta 1, 1.1.6, 1.1.5
         Environment: All
            Reporter: Russell Bradberry


when creating a column family with column metadata containing a date, there is a server crash that will prevent startup.

To recreate from the cli:
{code}
create keyspace test;
use test;
create column family foo
  with column_type = 'Standard'
  and comparator = 'CompositeType(LongType,DateType)'
  and default_validation_class = 'UTF8Type'
  and key_validation_class = 'UTF8Type'
  and column_metadata = [ 
    { column_name : '1234:1350695443433', validation_class : BooleanType} 
  ];
{code}

Produces this error in the logs:

{code}
ERROR 21:11:18,795 Error occurred during processing of message.
java.lang.RuntimeException: java.util.concurrent.ExecutionException: org.apache.cassandra.db.marshal.MarshalException: unable to coerce '2012-10-19 21' to a  formatted date (long)
	at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:373)
	at org.apache.cassandra.service.MigrationManager.announce(MigrationManager.java:194)
	at org.apache.cassandra.service.MigrationManager.announceNewColumnFamily(MigrationManager.java:141)
	at org.apache.cassandra.thrift.CassandraServer.system_add_column_family(CassandraServer.java:931)
	at org.apache.cassandra.thrift.Cassandra$Processor$system_add_column_family.getResult(Cassandra.java:3410)
	at org.apache.cassandra.thrift.Cassandra$Processor$system_add_column_family.getResult(Cassandra.java:3398)
	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:186)
	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)
Caused by: java.util.concurrent.ExecutionException: org.apache.cassandra.db.marshal.MarshalException: unable to coerce '2012-10-19 21' to a  formatted date (long)
	at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
	at java.util.concurrent.FutureTask.get(FutureTask.java:83)
	at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:369)
	... 11 more
Caused by: org.apache.cassandra.db.marshal.MarshalException: unable to coerce '2012-10-19 21' to a  formatted date (long)
	at org.apache.cassandra.db.marshal.DateType.dateStringToTimestamp(DateType.java:117)
	at org.apache.cassandra.db.marshal.DateType.fromString(DateType.java:85)
	at org.apache.cassandra.db.marshal.AbstractCompositeType.fromString(AbstractCompositeType.java:213)
	at org.apache.cassandra.config.ColumnDefinition.fromSchema(ColumnDefinition.java:257)
	at org.apache.cassandra.config.CFMetaData.addColumnDefinitionSchema(CFMetaData.java:1318)
	at org.apache.cassandra.config.CFMetaData.fromSchema(CFMetaData.java:1250)
	at org.apache.cassandra.config.KSMetaData.deserializeColumnFamilies(KSMetaData.java:299)
	at org.apache.cassandra.db.DefsTable.mergeColumnFamilies(DefsTable.java:434)
	at org.apache.cassandra.db.DefsTable.mergeSchema(DefsTable.java:346)
	at org.apache.cassandra.service.MigrationManager$1.call(MigrationManager.java:217)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	... 3 more
Caused by: java.text.ParseException: Unable to parse the date: 2012-10-19 21
	at org.apache.commons.lang.time.DateUtils.parseDate(DateUtils.java:285)
	at org.apache.cassandra.db.marshal.DateType.dateStringToTimestamp(DateType.java:113)
	... 14 more
ERROR 21:11:18,795 Exception in thread Thread[MigrationStage:1,5,main]
org.apache.cassandra.db.marshal.MarshalException: unable to coerce '2012-10-19 21' to a  formatted date (long)
	at org.apache.cassandra.db.marshal.DateType.dateStringToTimestamp(DateType.java:117)
	at org.apache.cassandra.db.marshal.DateType.fromString(DateType.java:85)
	at org.apache.cassandra.db.marshal.AbstractCompositeType.fromString(AbstractCompositeType.java:213)
	at org.apache.cassandra.config.ColumnDefinition.fromSchema(ColumnDefinition.java:257)
	at org.apache.cassandra.config.CFMetaData.addColumnDefinitionSchema(CFMetaData.java:1318)
	at org.apache.cassandra.config.CFMetaData.fromSchema(CFMetaData.java:1250)
	at org.apache.cassandra.config.KSMetaData.deserializeColumnFamilies(KSMetaData.java:299)
	at org.apache.cassandra.db.DefsTable.mergeColumnFamilies(DefsTable.java:434)
	at org.apache.cassandra.db.DefsTable.mergeSchema(DefsTable.java:346)
	at org.apache.cassandra.service.MigrationManager$1.call(MigrationManager.java:217)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	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)
Caused by: java.text.ParseException: Unable to parse the date: 2012-10-19 21
	at org.apache.commons.lang.time.DateUtils.parseDate(DateUtils.java:285)
	at org.apache.cassandra.db.marshal.DateType.dateStringToTimestamp(DateType.java:113)
	... 14 more
{code}



--
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

[jira] [Assigned] (CASSANDRA-4842) DateType in Column MetaData causes server crash

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

Pavel Yaskevich reassigned CASSANDRA-4842:
------------------------------------------

    Assignee: Sylvain Lebresne  (was: Pavel Yaskevich)

This is the problem with CompositeType, because DateType would convert input to a human readable format with has *colons* inside and on AbstractCompositeType.fromString it tries to spit composite into parts based on colons as well.
                
> DateType in Column MetaData causes server crash
> -----------------------------------------------
>
>                 Key: CASSANDRA-4842
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4842
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.1.0
>         Environment: All
>            Reporter: Russell Bradberry
>            Assignee: Sylvain Lebresne
>            Priority: Minor
>             Fix For: 1.1.7, 1.2.0 beta 2
>
>
> when creating a column family with column metadata containing a date, there is a server crash that will prevent startup.
> To recreate from the cli:
> {code}
> create keyspace test;
> use test;
> create column family foo
>   with column_type = 'Standard'
>   and comparator = 'CompositeType(LongType,DateType)'
>   and default_validation_class = 'UTF8Type'
>   and key_validation_class = 'UTF8Type'
>   and column_metadata = [ 
>     { column_name : '1234:1350695443433', validation_class : BooleanType} 
>   ];
> {code}
> Produces this error in the logs:
> {code}
> ERROR 21:11:18,795 Error occurred during processing of message.
> java.lang.RuntimeException: java.util.concurrent.ExecutionException: org.apache.cassandra.db.marshal.MarshalException: unable to coerce '2012-10-19 21' to a  formatted date (long)
> 	at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:373)
> 	at org.apache.cassandra.service.MigrationManager.announce(MigrationManager.java:194)
> 	at org.apache.cassandra.service.MigrationManager.announceNewColumnFamily(MigrationManager.java:141)
> 	at org.apache.cassandra.thrift.CassandraServer.system_add_column_family(CassandraServer.java:931)
> 	at org.apache.cassandra.thrift.Cassandra$Processor$system_add_column_family.getResult(Cassandra.java:3410)
> 	at org.apache.cassandra.thrift.Cassandra$Processor$system_add_column_family.getResult(Cassandra.java:3398)
> 	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:186)
> 	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)
> Caused by: java.util.concurrent.ExecutionException: org.apache.cassandra.db.marshal.MarshalException: unable to coerce '2012-10-19 21' to a  formatted date (long)
> 	at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
> 	at java.util.concurrent.FutureTask.get(FutureTask.java:83)
> 	at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:369)
> 	... 11 more
> Caused by: org.apache.cassandra.db.marshal.MarshalException: unable to coerce '2012-10-19 21' to a  formatted date (long)
> 	at org.apache.cassandra.db.marshal.DateType.dateStringToTimestamp(DateType.java:117)
> 	at org.apache.cassandra.db.marshal.DateType.fromString(DateType.java:85)
> 	at org.apache.cassandra.db.marshal.AbstractCompositeType.fromString(AbstractCompositeType.java:213)
> 	at org.apache.cassandra.config.ColumnDefinition.fromSchema(ColumnDefinition.java:257)
> 	at org.apache.cassandra.config.CFMetaData.addColumnDefinitionSchema(CFMetaData.java:1318)
> 	at org.apache.cassandra.config.CFMetaData.fromSchema(CFMetaData.java:1250)
> 	at org.apache.cassandra.config.KSMetaData.deserializeColumnFamilies(KSMetaData.java:299)
> 	at org.apache.cassandra.db.DefsTable.mergeColumnFamilies(DefsTable.java:434)
> 	at org.apache.cassandra.db.DefsTable.mergeSchema(DefsTable.java:346)
> 	at org.apache.cassandra.service.MigrationManager$1.call(MigrationManager.java:217)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
> 	... 3 more
> Caused by: java.text.ParseException: Unable to parse the date: 2012-10-19 21
> 	at org.apache.commons.lang.time.DateUtils.parseDate(DateUtils.java:285)
> 	at org.apache.cassandra.db.marshal.DateType.dateStringToTimestamp(DateType.java:113)
> 	... 14 more
> ERROR 21:11:18,795 Exception in thread Thread[MigrationStage:1,5,main]
> org.apache.cassandra.db.marshal.MarshalException: unable to coerce '2012-10-19 21' to a  formatted date (long)
> 	at org.apache.cassandra.db.marshal.DateType.dateStringToTimestamp(DateType.java:117)
> 	at org.apache.cassandra.db.marshal.DateType.fromString(DateType.java:85)
> 	at org.apache.cassandra.db.marshal.AbstractCompositeType.fromString(AbstractCompositeType.java:213)
> 	at org.apache.cassandra.config.ColumnDefinition.fromSchema(ColumnDefinition.java:257)
> 	at org.apache.cassandra.config.CFMetaData.addColumnDefinitionSchema(CFMetaData.java:1318)
> 	at org.apache.cassandra.config.CFMetaData.fromSchema(CFMetaData.java:1250)
> 	at org.apache.cassandra.config.KSMetaData.deserializeColumnFamilies(KSMetaData.java:299)
> 	at org.apache.cassandra.db.DefsTable.mergeColumnFamilies(DefsTable.java:434)
> 	at org.apache.cassandra.db.DefsTable.mergeSchema(DefsTable.java:346)
> 	at org.apache.cassandra.service.MigrationManager$1.call(MigrationManager.java:217)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
> 	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)
> Caused by: java.text.ParseException: Unable to parse the date: 2012-10-19 21
> 	at org.apache.commons.lang.time.DateUtils.parseDate(DateUtils.java:285)
> 	at org.apache.cassandra.db.marshal.DateType.dateStringToTimestamp(DateType.java:113)
> 	... 14 more
> {code}
> This error is repeated when attempting to restart the server, and results in the server failing to start.

--
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

[jira] [Updated] (CASSANDRA-4842) DateType in Column MetaData causes server crash

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

Sylvain Lebresne updated CASSANDRA-4842:
----------------------------------------

    Attachment: 4842.txt

Oups, it's indeed time we fix that (it's in fact a problem for any string that have a ':', so not only dates). Attaching a patch that makes the string representation of composites safer. Namely, the patch escapes ':' character in the components to know where to split correctly on fromString. There is a slight complication if a '\' is at the end of one part, but the patch deals with that (and hopefully handle all cases).

Unfortunately, this won't fix the getString for existing data. However since the only time we were using fromString/getString of the comparator is in CFDefinition.to/fromSchema, and since things used to crash right away, this is probably not a big deal. People may have to trash/recreate their schema however if they ran into this problem.
                
> DateType in Column MetaData causes server crash
> -----------------------------------------------
>
>                 Key: CASSANDRA-4842
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4842
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.1.0
>         Environment: All
>            Reporter: Russell Bradberry
>            Assignee: Sylvain Lebresne
>            Priority: Minor
>             Fix For: 1.1.7, 1.2.0
>
>         Attachments: 4842.txt
>
>
> when creating a column family with column metadata containing a date, there is a server crash that will prevent startup.
> To recreate from the cli:
> {code}
> create keyspace test;
> use test;
> create column family foo
>   with column_type = 'Standard'
>   and comparator = 'CompositeType(LongType,DateType)'
>   and default_validation_class = 'UTF8Type'
>   and key_validation_class = 'UTF8Type'
>   and column_metadata = [ 
>     { column_name : '1234:1350695443433', validation_class : BooleanType} 
>   ];
> {code}
> Produces this error in the logs:
> {code}
> ERROR 21:11:18,795 Error occurred during processing of message.
> java.lang.RuntimeException: java.util.concurrent.ExecutionException: org.apache.cassandra.db.marshal.MarshalException: unable to coerce '2012-10-19 21' to a  formatted date (long)
> 	at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:373)
> 	at org.apache.cassandra.service.MigrationManager.announce(MigrationManager.java:194)
> 	at org.apache.cassandra.service.MigrationManager.announceNewColumnFamily(MigrationManager.java:141)
> 	at org.apache.cassandra.thrift.CassandraServer.system_add_column_family(CassandraServer.java:931)
> 	at org.apache.cassandra.thrift.Cassandra$Processor$system_add_column_family.getResult(Cassandra.java:3410)
> 	at org.apache.cassandra.thrift.Cassandra$Processor$system_add_column_family.getResult(Cassandra.java:3398)
> 	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:186)
> 	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)
> Caused by: java.util.concurrent.ExecutionException: org.apache.cassandra.db.marshal.MarshalException: unable to coerce '2012-10-19 21' to a  formatted date (long)
> 	at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
> 	at java.util.concurrent.FutureTask.get(FutureTask.java:83)
> 	at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:369)
> 	... 11 more
> Caused by: org.apache.cassandra.db.marshal.MarshalException: unable to coerce '2012-10-19 21' to a  formatted date (long)
> 	at org.apache.cassandra.db.marshal.DateType.dateStringToTimestamp(DateType.java:117)
> 	at org.apache.cassandra.db.marshal.DateType.fromString(DateType.java:85)
> 	at org.apache.cassandra.db.marshal.AbstractCompositeType.fromString(AbstractCompositeType.java:213)
> 	at org.apache.cassandra.config.ColumnDefinition.fromSchema(ColumnDefinition.java:257)
> 	at org.apache.cassandra.config.CFMetaData.addColumnDefinitionSchema(CFMetaData.java:1318)
> 	at org.apache.cassandra.config.CFMetaData.fromSchema(CFMetaData.java:1250)
> 	at org.apache.cassandra.config.KSMetaData.deserializeColumnFamilies(KSMetaData.java:299)
> 	at org.apache.cassandra.db.DefsTable.mergeColumnFamilies(DefsTable.java:434)
> 	at org.apache.cassandra.db.DefsTable.mergeSchema(DefsTable.java:346)
> 	at org.apache.cassandra.service.MigrationManager$1.call(MigrationManager.java:217)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
> 	... 3 more
> Caused by: java.text.ParseException: Unable to parse the date: 2012-10-19 21
> 	at org.apache.commons.lang.time.DateUtils.parseDate(DateUtils.java:285)
> 	at org.apache.cassandra.db.marshal.DateType.dateStringToTimestamp(DateType.java:113)
> 	... 14 more
> ERROR 21:11:18,795 Exception in thread Thread[MigrationStage:1,5,main]
> org.apache.cassandra.db.marshal.MarshalException: unable to coerce '2012-10-19 21' to a  formatted date (long)
> 	at org.apache.cassandra.db.marshal.DateType.dateStringToTimestamp(DateType.java:117)
> 	at org.apache.cassandra.db.marshal.DateType.fromString(DateType.java:85)
> 	at org.apache.cassandra.db.marshal.AbstractCompositeType.fromString(AbstractCompositeType.java:213)
> 	at org.apache.cassandra.config.ColumnDefinition.fromSchema(ColumnDefinition.java:257)
> 	at org.apache.cassandra.config.CFMetaData.addColumnDefinitionSchema(CFMetaData.java:1318)
> 	at org.apache.cassandra.config.CFMetaData.fromSchema(CFMetaData.java:1250)
> 	at org.apache.cassandra.config.KSMetaData.deserializeColumnFamilies(KSMetaData.java:299)
> 	at org.apache.cassandra.db.DefsTable.mergeColumnFamilies(DefsTable.java:434)
> 	at org.apache.cassandra.db.DefsTable.mergeSchema(DefsTable.java:346)
> 	at org.apache.cassandra.service.MigrationManager$1.call(MigrationManager.java:217)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
> 	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)
> Caused by: java.text.ParseException: Unable to parse the date: 2012-10-19 21
> 	at org.apache.commons.lang.time.DateUtils.parseDate(DateUtils.java:285)
> 	at org.apache.cassandra.db.marshal.DateType.dateStringToTimestamp(DateType.java:113)
> 	... 14 more
> {code}
> This error is repeated when attempting to restart the server, and results in the server failing to start.

--
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

[jira] [Commented] (CASSANDRA-4842) DateType in Column MetaData causes server crash

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

Jonathan Ellis commented on CASSANDRA-4842:
-------------------------------------------

+1
                
> DateType in Column MetaData causes server crash
> -----------------------------------------------
>
>                 Key: CASSANDRA-4842
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4842
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.1.0
>         Environment: All
>            Reporter: Russell Bradberry
>            Assignee: Sylvain Lebresne
>            Priority: Minor
>             Fix For: 1.1.7, 1.2.0
>
>         Attachments: 4842.txt
>
>
> when creating a column family with column metadata containing a date, there is a server crash that will prevent startup.
> To recreate from the cli:
> {code}
> create keyspace test;
> use test;
> create column family foo
>   with column_type = 'Standard'
>   and comparator = 'CompositeType(LongType,DateType)'
>   and default_validation_class = 'UTF8Type'
>   and key_validation_class = 'UTF8Type'
>   and column_metadata = [ 
>     { column_name : '1234:1350695443433', validation_class : BooleanType} 
>   ];
> {code}
> Produces this error in the logs:
> {code}
> ERROR 21:11:18,795 Error occurred during processing of message.
> java.lang.RuntimeException: java.util.concurrent.ExecutionException: org.apache.cassandra.db.marshal.MarshalException: unable to coerce '2012-10-19 21' to a  formatted date (long)
> 	at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:373)
> 	at org.apache.cassandra.service.MigrationManager.announce(MigrationManager.java:194)
> 	at org.apache.cassandra.service.MigrationManager.announceNewColumnFamily(MigrationManager.java:141)
> 	at org.apache.cassandra.thrift.CassandraServer.system_add_column_family(CassandraServer.java:931)
> 	at org.apache.cassandra.thrift.Cassandra$Processor$system_add_column_family.getResult(Cassandra.java:3410)
> 	at org.apache.cassandra.thrift.Cassandra$Processor$system_add_column_family.getResult(Cassandra.java:3398)
> 	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:186)
> 	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)
> Caused by: java.util.concurrent.ExecutionException: org.apache.cassandra.db.marshal.MarshalException: unable to coerce '2012-10-19 21' to a  formatted date (long)
> 	at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
> 	at java.util.concurrent.FutureTask.get(FutureTask.java:83)
> 	at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:369)
> 	... 11 more
> Caused by: org.apache.cassandra.db.marshal.MarshalException: unable to coerce '2012-10-19 21' to a  formatted date (long)
> 	at org.apache.cassandra.db.marshal.DateType.dateStringToTimestamp(DateType.java:117)
> 	at org.apache.cassandra.db.marshal.DateType.fromString(DateType.java:85)
> 	at org.apache.cassandra.db.marshal.AbstractCompositeType.fromString(AbstractCompositeType.java:213)
> 	at org.apache.cassandra.config.ColumnDefinition.fromSchema(ColumnDefinition.java:257)
> 	at org.apache.cassandra.config.CFMetaData.addColumnDefinitionSchema(CFMetaData.java:1318)
> 	at org.apache.cassandra.config.CFMetaData.fromSchema(CFMetaData.java:1250)
> 	at org.apache.cassandra.config.KSMetaData.deserializeColumnFamilies(KSMetaData.java:299)
> 	at org.apache.cassandra.db.DefsTable.mergeColumnFamilies(DefsTable.java:434)
> 	at org.apache.cassandra.db.DefsTable.mergeSchema(DefsTable.java:346)
> 	at org.apache.cassandra.service.MigrationManager$1.call(MigrationManager.java:217)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
> 	... 3 more
> Caused by: java.text.ParseException: Unable to parse the date: 2012-10-19 21
> 	at org.apache.commons.lang.time.DateUtils.parseDate(DateUtils.java:285)
> 	at org.apache.cassandra.db.marshal.DateType.dateStringToTimestamp(DateType.java:113)
> 	... 14 more
> ERROR 21:11:18,795 Exception in thread Thread[MigrationStage:1,5,main]
> org.apache.cassandra.db.marshal.MarshalException: unable to coerce '2012-10-19 21' to a  formatted date (long)
> 	at org.apache.cassandra.db.marshal.DateType.dateStringToTimestamp(DateType.java:117)
> 	at org.apache.cassandra.db.marshal.DateType.fromString(DateType.java:85)
> 	at org.apache.cassandra.db.marshal.AbstractCompositeType.fromString(AbstractCompositeType.java:213)
> 	at org.apache.cassandra.config.ColumnDefinition.fromSchema(ColumnDefinition.java:257)
> 	at org.apache.cassandra.config.CFMetaData.addColumnDefinitionSchema(CFMetaData.java:1318)
> 	at org.apache.cassandra.config.CFMetaData.fromSchema(CFMetaData.java:1250)
> 	at org.apache.cassandra.config.KSMetaData.deserializeColumnFamilies(KSMetaData.java:299)
> 	at org.apache.cassandra.db.DefsTable.mergeColumnFamilies(DefsTable.java:434)
> 	at org.apache.cassandra.db.DefsTable.mergeSchema(DefsTable.java:346)
> 	at org.apache.cassandra.service.MigrationManager$1.call(MigrationManager.java:217)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
> 	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)
> Caused by: java.text.ParseException: Unable to parse the date: 2012-10-19 21
> 	at org.apache.commons.lang.time.DateUtils.parseDate(DateUtils.java:285)
> 	at org.apache.cassandra.db.marshal.DateType.dateStringToTimestamp(DateType.java:113)
> 	... 14 more
> {code}
> This error is repeated when attempting to restart the server, and results in the server failing to start.

--
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

[jira] [Updated] (CASSANDRA-4842) DateType in Column MetaData causes server crash

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

Jonathan Ellis updated CASSANDRA-4842:
--------------------------------------

    Assignee: Pavel Yaskevich  (was: Aleksey Yeschenko)
    
> DateType in Column MetaData causes server crash
> -----------------------------------------------
>
>                 Key: CASSANDRA-4842
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4842
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.1.0
>         Environment: All
>            Reporter: Russell Bradberry
>            Assignee: Pavel Yaskevich
>            Priority: Minor
>             Fix For: 1.1.7, 1.2.0 beta 2
>
>
> when creating a column family with column metadata containing a date, there is a server crash that will prevent startup.
> To recreate from the cli:
> {code}
> create keyspace test;
> use test;
> create column family foo
>   with column_type = 'Standard'
>   and comparator = 'CompositeType(LongType,DateType)'
>   and default_validation_class = 'UTF8Type'
>   and key_validation_class = 'UTF8Type'
>   and column_metadata = [ 
>     { column_name : '1234:1350695443433', validation_class : BooleanType} 
>   ];
> {code}
> Produces this error in the logs:
> {code}
> ERROR 21:11:18,795 Error occurred during processing of message.
> java.lang.RuntimeException: java.util.concurrent.ExecutionException: org.apache.cassandra.db.marshal.MarshalException: unable to coerce '2012-10-19 21' to a  formatted date (long)
> 	at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:373)
> 	at org.apache.cassandra.service.MigrationManager.announce(MigrationManager.java:194)
> 	at org.apache.cassandra.service.MigrationManager.announceNewColumnFamily(MigrationManager.java:141)
> 	at org.apache.cassandra.thrift.CassandraServer.system_add_column_family(CassandraServer.java:931)
> 	at org.apache.cassandra.thrift.Cassandra$Processor$system_add_column_family.getResult(Cassandra.java:3410)
> 	at org.apache.cassandra.thrift.Cassandra$Processor$system_add_column_family.getResult(Cassandra.java:3398)
> 	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:186)
> 	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)
> Caused by: java.util.concurrent.ExecutionException: org.apache.cassandra.db.marshal.MarshalException: unable to coerce '2012-10-19 21' to a  formatted date (long)
> 	at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
> 	at java.util.concurrent.FutureTask.get(FutureTask.java:83)
> 	at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:369)
> 	... 11 more
> Caused by: org.apache.cassandra.db.marshal.MarshalException: unable to coerce '2012-10-19 21' to a  formatted date (long)
> 	at org.apache.cassandra.db.marshal.DateType.dateStringToTimestamp(DateType.java:117)
> 	at org.apache.cassandra.db.marshal.DateType.fromString(DateType.java:85)
> 	at org.apache.cassandra.db.marshal.AbstractCompositeType.fromString(AbstractCompositeType.java:213)
> 	at org.apache.cassandra.config.ColumnDefinition.fromSchema(ColumnDefinition.java:257)
> 	at org.apache.cassandra.config.CFMetaData.addColumnDefinitionSchema(CFMetaData.java:1318)
> 	at org.apache.cassandra.config.CFMetaData.fromSchema(CFMetaData.java:1250)
> 	at org.apache.cassandra.config.KSMetaData.deserializeColumnFamilies(KSMetaData.java:299)
> 	at org.apache.cassandra.db.DefsTable.mergeColumnFamilies(DefsTable.java:434)
> 	at org.apache.cassandra.db.DefsTable.mergeSchema(DefsTable.java:346)
> 	at org.apache.cassandra.service.MigrationManager$1.call(MigrationManager.java:217)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
> 	... 3 more
> Caused by: java.text.ParseException: Unable to parse the date: 2012-10-19 21
> 	at org.apache.commons.lang.time.DateUtils.parseDate(DateUtils.java:285)
> 	at org.apache.cassandra.db.marshal.DateType.dateStringToTimestamp(DateType.java:113)
> 	... 14 more
> ERROR 21:11:18,795 Exception in thread Thread[MigrationStage:1,5,main]
> org.apache.cassandra.db.marshal.MarshalException: unable to coerce '2012-10-19 21' to a  formatted date (long)
> 	at org.apache.cassandra.db.marshal.DateType.dateStringToTimestamp(DateType.java:117)
> 	at org.apache.cassandra.db.marshal.DateType.fromString(DateType.java:85)
> 	at org.apache.cassandra.db.marshal.AbstractCompositeType.fromString(AbstractCompositeType.java:213)
> 	at org.apache.cassandra.config.ColumnDefinition.fromSchema(ColumnDefinition.java:257)
> 	at org.apache.cassandra.config.CFMetaData.addColumnDefinitionSchema(CFMetaData.java:1318)
> 	at org.apache.cassandra.config.CFMetaData.fromSchema(CFMetaData.java:1250)
> 	at org.apache.cassandra.config.KSMetaData.deserializeColumnFamilies(KSMetaData.java:299)
> 	at org.apache.cassandra.db.DefsTable.mergeColumnFamilies(DefsTable.java:434)
> 	at org.apache.cassandra.db.DefsTable.mergeSchema(DefsTable.java:346)
> 	at org.apache.cassandra.service.MigrationManager$1.call(MigrationManager.java:217)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
> 	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)
> Caused by: java.text.ParseException: Unable to parse the date: 2012-10-19 21
> 	at org.apache.commons.lang.time.DateUtils.parseDate(DateUtils.java:285)
> 	at org.apache.cassandra.db.marshal.DateType.dateStringToTimestamp(DateType.java:113)
> 	... 14 more
> {code}
> This error is repeated when attempting to restart the server, and results in the server failing to start.

--
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

[jira] [Updated] (CASSANDRA-4842) DateType in Column MetaData causes server crash

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

Russell Bradberry updated CASSANDRA-4842:
-----------------------------------------

    Description: 
when creating a column family with column metadata containing a date, there is a server crash that will prevent startup.

To recreate from the cli:
{code}
create keyspace test;
use test;
create column family foo
  with column_type = 'Standard'
  and comparator = 'CompositeType(LongType,DateType)'
  and default_validation_class = 'UTF8Type'
  and key_validation_class = 'UTF8Type'
  and column_metadata = [ 
    { column_name : '1234:1350695443433', validation_class : BooleanType} 
  ];
{code}

Produces this error in the logs:

{code}
ERROR 21:11:18,795 Error occurred during processing of message.
java.lang.RuntimeException: java.util.concurrent.ExecutionException: org.apache.cassandra.db.marshal.MarshalException: unable to coerce '2012-10-19 21' to a  formatted date (long)
	at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:373)
	at org.apache.cassandra.service.MigrationManager.announce(MigrationManager.java:194)
	at org.apache.cassandra.service.MigrationManager.announceNewColumnFamily(MigrationManager.java:141)
	at org.apache.cassandra.thrift.CassandraServer.system_add_column_family(CassandraServer.java:931)
	at org.apache.cassandra.thrift.Cassandra$Processor$system_add_column_family.getResult(Cassandra.java:3410)
	at org.apache.cassandra.thrift.Cassandra$Processor$system_add_column_family.getResult(Cassandra.java:3398)
	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:186)
	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)
Caused by: java.util.concurrent.ExecutionException: org.apache.cassandra.db.marshal.MarshalException: unable to coerce '2012-10-19 21' to a  formatted date (long)
	at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
	at java.util.concurrent.FutureTask.get(FutureTask.java:83)
	at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:369)
	... 11 more
Caused by: org.apache.cassandra.db.marshal.MarshalException: unable to coerce '2012-10-19 21' to a  formatted date (long)
	at org.apache.cassandra.db.marshal.DateType.dateStringToTimestamp(DateType.java:117)
	at org.apache.cassandra.db.marshal.DateType.fromString(DateType.java:85)
	at org.apache.cassandra.db.marshal.AbstractCompositeType.fromString(AbstractCompositeType.java:213)
	at org.apache.cassandra.config.ColumnDefinition.fromSchema(ColumnDefinition.java:257)
	at org.apache.cassandra.config.CFMetaData.addColumnDefinitionSchema(CFMetaData.java:1318)
	at org.apache.cassandra.config.CFMetaData.fromSchema(CFMetaData.java:1250)
	at org.apache.cassandra.config.KSMetaData.deserializeColumnFamilies(KSMetaData.java:299)
	at org.apache.cassandra.db.DefsTable.mergeColumnFamilies(DefsTable.java:434)
	at org.apache.cassandra.db.DefsTable.mergeSchema(DefsTable.java:346)
	at org.apache.cassandra.service.MigrationManager$1.call(MigrationManager.java:217)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	... 3 more
Caused by: java.text.ParseException: Unable to parse the date: 2012-10-19 21
	at org.apache.commons.lang.time.DateUtils.parseDate(DateUtils.java:285)
	at org.apache.cassandra.db.marshal.DateType.dateStringToTimestamp(DateType.java:113)
	... 14 more
ERROR 21:11:18,795 Exception in thread Thread[MigrationStage:1,5,main]
org.apache.cassandra.db.marshal.MarshalException: unable to coerce '2012-10-19 21' to a  formatted date (long)
	at org.apache.cassandra.db.marshal.DateType.dateStringToTimestamp(DateType.java:117)
	at org.apache.cassandra.db.marshal.DateType.fromString(DateType.java:85)
	at org.apache.cassandra.db.marshal.AbstractCompositeType.fromString(AbstractCompositeType.java:213)
	at org.apache.cassandra.config.ColumnDefinition.fromSchema(ColumnDefinition.java:257)
	at org.apache.cassandra.config.CFMetaData.addColumnDefinitionSchema(CFMetaData.java:1318)
	at org.apache.cassandra.config.CFMetaData.fromSchema(CFMetaData.java:1250)
	at org.apache.cassandra.config.KSMetaData.deserializeColumnFamilies(KSMetaData.java:299)
	at org.apache.cassandra.db.DefsTable.mergeColumnFamilies(DefsTable.java:434)
	at org.apache.cassandra.db.DefsTable.mergeSchema(DefsTable.java:346)
	at org.apache.cassandra.service.MigrationManager$1.call(MigrationManager.java:217)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	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)
Caused by: java.text.ParseException: Unable to parse the date: 2012-10-19 21
	at org.apache.commons.lang.time.DateUtils.parseDate(DateUtils.java:285)
	at org.apache.cassandra.db.marshal.DateType.dateStringToTimestamp(DateType.java:113)
	... 14 more
{code}

This error is repeated when attempting to restart the server, and results in the server failing to start.

  was:
when creating a column family with column metadata containing a date, there is a server crash that will prevent startup.

To recreate from the cli:
{code}
create keyspace test;
use test;
create column family foo
  with column_type = 'Standard'
  and comparator = 'CompositeType(LongType,DateType)'
  and default_validation_class = 'UTF8Type'
  and key_validation_class = 'UTF8Type'
  and column_metadata = [ 
    { column_name : '1234:1350695443433', validation_class : BooleanType} 
  ];
{code}

Produces this error in the logs:

{code}
ERROR 21:11:18,795 Error occurred during processing of message.
java.lang.RuntimeException: java.util.concurrent.ExecutionException: org.apache.cassandra.db.marshal.MarshalException: unable to coerce '2012-10-19 21' to a  formatted date (long)
	at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:373)
	at org.apache.cassandra.service.MigrationManager.announce(MigrationManager.java:194)
	at org.apache.cassandra.service.MigrationManager.announceNewColumnFamily(MigrationManager.java:141)
	at org.apache.cassandra.thrift.CassandraServer.system_add_column_family(CassandraServer.java:931)
	at org.apache.cassandra.thrift.Cassandra$Processor$system_add_column_family.getResult(Cassandra.java:3410)
	at org.apache.cassandra.thrift.Cassandra$Processor$system_add_column_family.getResult(Cassandra.java:3398)
	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:186)
	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)
Caused by: java.util.concurrent.ExecutionException: org.apache.cassandra.db.marshal.MarshalException: unable to coerce '2012-10-19 21' to a  formatted date (long)
	at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
	at java.util.concurrent.FutureTask.get(FutureTask.java:83)
	at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:369)
	... 11 more
Caused by: org.apache.cassandra.db.marshal.MarshalException: unable to coerce '2012-10-19 21' to a  formatted date (long)
	at org.apache.cassandra.db.marshal.DateType.dateStringToTimestamp(DateType.java:117)
	at org.apache.cassandra.db.marshal.DateType.fromString(DateType.java:85)
	at org.apache.cassandra.db.marshal.AbstractCompositeType.fromString(AbstractCompositeType.java:213)
	at org.apache.cassandra.config.ColumnDefinition.fromSchema(ColumnDefinition.java:257)
	at org.apache.cassandra.config.CFMetaData.addColumnDefinitionSchema(CFMetaData.java:1318)
	at org.apache.cassandra.config.CFMetaData.fromSchema(CFMetaData.java:1250)
	at org.apache.cassandra.config.KSMetaData.deserializeColumnFamilies(KSMetaData.java:299)
	at org.apache.cassandra.db.DefsTable.mergeColumnFamilies(DefsTable.java:434)
	at org.apache.cassandra.db.DefsTable.mergeSchema(DefsTable.java:346)
	at org.apache.cassandra.service.MigrationManager$1.call(MigrationManager.java:217)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	... 3 more
Caused by: java.text.ParseException: Unable to parse the date: 2012-10-19 21
	at org.apache.commons.lang.time.DateUtils.parseDate(DateUtils.java:285)
	at org.apache.cassandra.db.marshal.DateType.dateStringToTimestamp(DateType.java:113)
	... 14 more
ERROR 21:11:18,795 Exception in thread Thread[MigrationStage:1,5,main]
org.apache.cassandra.db.marshal.MarshalException: unable to coerce '2012-10-19 21' to a  formatted date (long)
	at org.apache.cassandra.db.marshal.DateType.dateStringToTimestamp(DateType.java:117)
	at org.apache.cassandra.db.marshal.DateType.fromString(DateType.java:85)
	at org.apache.cassandra.db.marshal.AbstractCompositeType.fromString(AbstractCompositeType.java:213)
	at org.apache.cassandra.config.ColumnDefinition.fromSchema(ColumnDefinition.java:257)
	at org.apache.cassandra.config.CFMetaData.addColumnDefinitionSchema(CFMetaData.java:1318)
	at org.apache.cassandra.config.CFMetaData.fromSchema(CFMetaData.java:1250)
	at org.apache.cassandra.config.KSMetaData.deserializeColumnFamilies(KSMetaData.java:299)
	at org.apache.cassandra.db.DefsTable.mergeColumnFamilies(DefsTable.java:434)
	at org.apache.cassandra.db.DefsTable.mergeSchema(DefsTable.java:346)
	at org.apache.cassandra.service.MigrationManager$1.call(MigrationManager.java:217)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	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)
Caused by: java.text.ParseException: Unable to parse the date: 2012-10-19 21
	at org.apache.commons.lang.time.DateUtils.parseDate(DateUtils.java:285)
	at org.apache.cassandra.db.marshal.DateType.dateStringToTimestamp(DateType.java:113)
	... 14 more
{code}



    
> DateType in Column MetaData causes server crash
> -----------------------------------------------
>
>                 Key: CASSANDRA-4842
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4842
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.1.5, 1.1.6, 1.2.0 beta 1
>         Environment: All
>            Reporter: Russell Bradberry
>
> when creating a column family with column metadata containing a date, there is a server crash that will prevent startup.
> To recreate from the cli:
> {code}
> create keyspace test;
> use test;
> create column family foo
>   with column_type = 'Standard'
>   and comparator = 'CompositeType(LongType,DateType)'
>   and default_validation_class = 'UTF8Type'
>   and key_validation_class = 'UTF8Type'
>   and column_metadata = [ 
>     { column_name : '1234:1350695443433', validation_class : BooleanType} 
>   ];
> {code}
> Produces this error in the logs:
> {code}
> ERROR 21:11:18,795 Error occurred during processing of message.
> java.lang.RuntimeException: java.util.concurrent.ExecutionException: org.apache.cassandra.db.marshal.MarshalException: unable to coerce '2012-10-19 21' to a  formatted date (long)
> 	at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:373)
> 	at org.apache.cassandra.service.MigrationManager.announce(MigrationManager.java:194)
> 	at org.apache.cassandra.service.MigrationManager.announceNewColumnFamily(MigrationManager.java:141)
> 	at org.apache.cassandra.thrift.CassandraServer.system_add_column_family(CassandraServer.java:931)
> 	at org.apache.cassandra.thrift.Cassandra$Processor$system_add_column_family.getResult(Cassandra.java:3410)
> 	at org.apache.cassandra.thrift.Cassandra$Processor$system_add_column_family.getResult(Cassandra.java:3398)
> 	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:186)
> 	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)
> Caused by: java.util.concurrent.ExecutionException: org.apache.cassandra.db.marshal.MarshalException: unable to coerce '2012-10-19 21' to a  formatted date (long)
> 	at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
> 	at java.util.concurrent.FutureTask.get(FutureTask.java:83)
> 	at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:369)
> 	... 11 more
> Caused by: org.apache.cassandra.db.marshal.MarshalException: unable to coerce '2012-10-19 21' to a  formatted date (long)
> 	at org.apache.cassandra.db.marshal.DateType.dateStringToTimestamp(DateType.java:117)
> 	at org.apache.cassandra.db.marshal.DateType.fromString(DateType.java:85)
> 	at org.apache.cassandra.db.marshal.AbstractCompositeType.fromString(AbstractCompositeType.java:213)
> 	at org.apache.cassandra.config.ColumnDefinition.fromSchema(ColumnDefinition.java:257)
> 	at org.apache.cassandra.config.CFMetaData.addColumnDefinitionSchema(CFMetaData.java:1318)
> 	at org.apache.cassandra.config.CFMetaData.fromSchema(CFMetaData.java:1250)
> 	at org.apache.cassandra.config.KSMetaData.deserializeColumnFamilies(KSMetaData.java:299)
> 	at org.apache.cassandra.db.DefsTable.mergeColumnFamilies(DefsTable.java:434)
> 	at org.apache.cassandra.db.DefsTable.mergeSchema(DefsTable.java:346)
> 	at org.apache.cassandra.service.MigrationManager$1.call(MigrationManager.java:217)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
> 	... 3 more
> Caused by: java.text.ParseException: Unable to parse the date: 2012-10-19 21
> 	at org.apache.commons.lang.time.DateUtils.parseDate(DateUtils.java:285)
> 	at org.apache.cassandra.db.marshal.DateType.dateStringToTimestamp(DateType.java:113)
> 	... 14 more
> ERROR 21:11:18,795 Exception in thread Thread[MigrationStage:1,5,main]
> org.apache.cassandra.db.marshal.MarshalException: unable to coerce '2012-10-19 21' to a  formatted date (long)
> 	at org.apache.cassandra.db.marshal.DateType.dateStringToTimestamp(DateType.java:117)
> 	at org.apache.cassandra.db.marshal.DateType.fromString(DateType.java:85)
> 	at org.apache.cassandra.db.marshal.AbstractCompositeType.fromString(AbstractCompositeType.java:213)
> 	at org.apache.cassandra.config.ColumnDefinition.fromSchema(ColumnDefinition.java:257)
> 	at org.apache.cassandra.config.CFMetaData.addColumnDefinitionSchema(CFMetaData.java:1318)
> 	at org.apache.cassandra.config.CFMetaData.fromSchema(CFMetaData.java:1250)
> 	at org.apache.cassandra.config.KSMetaData.deserializeColumnFamilies(KSMetaData.java:299)
> 	at org.apache.cassandra.db.DefsTable.mergeColumnFamilies(DefsTable.java:434)
> 	at org.apache.cassandra.db.DefsTable.mergeSchema(DefsTable.java:346)
> 	at org.apache.cassandra.service.MigrationManager$1.call(MigrationManager.java:217)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
> 	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)
> Caused by: java.text.ParseException: Unable to parse the date: 2012-10-19 21
> 	at org.apache.commons.lang.time.DateUtils.parseDate(DateUtils.java:285)
> 	at org.apache.cassandra.db.marshal.DateType.dateStringToTimestamp(DateType.java:113)
> 	... 14 more
> {code}
> This error is repeated when attempting to restart the server, and results in the server failing to start.

--
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

[jira] [Updated] (CASSANDRA-4842) DateType in Column MetaData causes server crash

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

Jonathan Ellis updated CASSANDRA-4842:
--------------------------------------

             Reviewer: jbellis
             Priority: Minor  (was: Major)
    Affects Version/s:     (was: 1.1.6)
                           (was: 1.1.5)
                           (was: 1.2.0 beta 1)
                       1.1.0
        Fix Version/s: 1.2.0 beta 2
                       1.1.7
             Assignee: Aleksey Yeschenko

verified that this only affects 1.1, not 1.0, probably due to changes in schema handling.
                
> DateType in Column MetaData causes server crash
> -----------------------------------------------
>
>                 Key: CASSANDRA-4842
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4842
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.1.0
>         Environment: All
>            Reporter: Russell Bradberry
>            Assignee: Aleksey Yeschenko
>            Priority: Minor
>             Fix For: 1.1.7, 1.2.0 beta 2
>
>
> when creating a column family with column metadata containing a date, there is a server crash that will prevent startup.
> To recreate from the cli:
> {code}
> create keyspace test;
> use test;
> create column family foo
>   with column_type = 'Standard'
>   and comparator = 'CompositeType(LongType,DateType)'
>   and default_validation_class = 'UTF8Type'
>   and key_validation_class = 'UTF8Type'
>   and column_metadata = [ 
>     { column_name : '1234:1350695443433', validation_class : BooleanType} 
>   ];
> {code}
> Produces this error in the logs:
> {code}
> ERROR 21:11:18,795 Error occurred during processing of message.
> java.lang.RuntimeException: java.util.concurrent.ExecutionException: org.apache.cassandra.db.marshal.MarshalException: unable to coerce '2012-10-19 21' to a  formatted date (long)
> 	at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:373)
> 	at org.apache.cassandra.service.MigrationManager.announce(MigrationManager.java:194)
> 	at org.apache.cassandra.service.MigrationManager.announceNewColumnFamily(MigrationManager.java:141)
> 	at org.apache.cassandra.thrift.CassandraServer.system_add_column_family(CassandraServer.java:931)
> 	at org.apache.cassandra.thrift.Cassandra$Processor$system_add_column_family.getResult(Cassandra.java:3410)
> 	at org.apache.cassandra.thrift.Cassandra$Processor$system_add_column_family.getResult(Cassandra.java:3398)
> 	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:186)
> 	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)
> Caused by: java.util.concurrent.ExecutionException: org.apache.cassandra.db.marshal.MarshalException: unable to coerce '2012-10-19 21' to a  formatted date (long)
> 	at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
> 	at java.util.concurrent.FutureTask.get(FutureTask.java:83)
> 	at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:369)
> 	... 11 more
> Caused by: org.apache.cassandra.db.marshal.MarshalException: unable to coerce '2012-10-19 21' to a  formatted date (long)
> 	at org.apache.cassandra.db.marshal.DateType.dateStringToTimestamp(DateType.java:117)
> 	at org.apache.cassandra.db.marshal.DateType.fromString(DateType.java:85)
> 	at org.apache.cassandra.db.marshal.AbstractCompositeType.fromString(AbstractCompositeType.java:213)
> 	at org.apache.cassandra.config.ColumnDefinition.fromSchema(ColumnDefinition.java:257)
> 	at org.apache.cassandra.config.CFMetaData.addColumnDefinitionSchema(CFMetaData.java:1318)
> 	at org.apache.cassandra.config.CFMetaData.fromSchema(CFMetaData.java:1250)
> 	at org.apache.cassandra.config.KSMetaData.deserializeColumnFamilies(KSMetaData.java:299)
> 	at org.apache.cassandra.db.DefsTable.mergeColumnFamilies(DefsTable.java:434)
> 	at org.apache.cassandra.db.DefsTable.mergeSchema(DefsTable.java:346)
> 	at org.apache.cassandra.service.MigrationManager$1.call(MigrationManager.java:217)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
> 	... 3 more
> Caused by: java.text.ParseException: Unable to parse the date: 2012-10-19 21
> 	at org.apache.commons.lang.time.DateUtils.parseDate(DateUtils.java:285)
> 	at org.apache.cassandra.db.marshal.DateType.dateStringToTimestamp(DateType.java:113)
> 	... 14 more
> ERROR 21:11:18,795 Exception in thread Thread[MigrationStage:1,5,main]
> org.apache.cassandra.db.marshal.MarshalException: unable to coerce '2012-10-19 21' to a  formatted date (long)
> 	at org.apache.cassandra.db.marshal.DateType.dateStringToTimestamp(DateType.java:117)
> 	at org.apache.cassandra.db.marshal.DateType.fromString(DateType.java:85)
> 	at org.apache.cassandra.db.marshal.AbstractCompositeType.fromString(AbstractCompositeType.java:213)
> 	at org.apache.cassandra.config.ColumnDefinition.fromSchema(ColumnDefinition.java:257)
> 	at org.apache.cassandra.config.CFMetaData.addColumnDefinitionSchema(CFMetaData.java:1318)
> 	at org.apache.cassandra.config.CFMetaData.fromSchema(CFMetaData.java:1250)
> 	at org.apache.cassandra.config.KSMetaData.deserializeColumnFamilies(KSMetaData.java:299)
> 	at org.apache.cassandra.db.DefsTable.mergeColumnFamilies(DefsTable.java:434)
> 	at org.apache.cassandra.db.DefsTable.mergeSchema(DefsTable.java:346)
> 	at org.apache.cassandra.service.MigrationManager$1.call(MigrationManager.java:217)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
> 	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)
> Caused by: java.text.ParseException: Unable to parse the date: 2012-10-19 21
> 	at org.apache.commons.lang.time.DateUtils.parseDate(DateUtils.java:285)
> 	at org.apache.cassandra.db.marshal.DateType.dateStringToTimestamp(DateType.java:113)
> 	... 14 more
> {code}
> This error is repeated when attempting to restart the server, and results in the server failing to start.

--
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

[jira] [Updated] (CASSANDRA-4842) DateType in Column MetaData causes server crash

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

Jonathan Ellis updated CASSANDRA-4842:
--------------------------------------

    Fix Version/s:     (was: 1.2.0 beta 2)
                   1.2.0
    
> DateType in Column MetaData causes server crash
> -----------------------------------------------
>
>                 Key: CASSANDRA-4842
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4842
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.1.0
>         Environment: All
>            Reporter: Russell Bradberry
>            Assignee: Sylvain Lebresne
>            Priority: Minor
>             Fix For: 1.1.7, 1.2.0
>
>
> when creating a column family with column metadata containing a date, there is a server crash that will prevent startup.
> To recreate from the cli:
> {code}
> create keyspace test;
> use test;
> create column family foo
>   with column_type = 'Standard'
>   and comparator = 'CompositeType(LongType,DateType)'
>   and default_validation_class = 'UTF8Type'
>   and key_validation_class = 'UTF8Type'
>   and column_metadata = [ 
>     { column_name : '1234:1350695443433', validation_class : BooleanType} 
>   ];
> {code}
> Produces this error in the logs:
> {code}
> ERROR 21:11:18,795 Error occurred during processing of message.
> java.lang.RuntimeException: java.util.concurrent.ExecutionException: org.apache.cassandra.db.marshal.MarshalException: unable to coerce '2012-10-19 21' to a  formatted date (long)
> 	at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:373)
> 	at org.apache.cassandra.service.MigrationManager.announce(MigrationManager.java:194)
> 	at org.apache.cassandra.service.MigrationManager.announceNewColumnFamily(MigrationManager.java:141)
> 	at org.apache.cassandra.thrift.CassandraServer.system_add_column_family(CassandraServer.java:931)
> 	at org.apache.cassandra.thrift.Cassandra$Processor$system_add_column_family.getResult(Cassandra.java:3410)
> 	at org.apache.cassandra.thrift.Cassandra$Processor$system_add_column_family.getResult(Cassandra.java:3398)
> 	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:186)
> 	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)
> Caused by: java.util.concurrent.ExecutionException: org.apache.cassandra.db.marshal.MarshalException: unable to coerce '2012-10-19 21' to a  formatted date (long)
> 	at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
> 	at java.util.concurrent.FutureTask.get(FutureTask.java:83)
> 	at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:369)
> 	... 11 more
> Caused by: org.apache.cassandra.db.marshal.MarshalException: unable to coerce '2012-10-19 21' to a  formatted date (long)
> 	at org.apache.cassandra.db.marshal.DateType.dateStringToTimestamp(DateType.java:117)
> 	at org.apache.cassandra.db.marshal.DateType.fromString(DateType.java:85)
> 	at org.apache.cassandra.db.marshal.AbstractCompositeType.fromString(AbstractCompositeType.java:213)
> 	at org.apache.cassandra.config.ColumnDefinition.fromSchema(ColumnDefinition.java:257)
> 	at org.apache.cassandra.config.CFMetaData.addColumnDefinitionSchema(CFMetaData.java:1318)
> 	at org.apache.cassandra.config.CFMetaData.fromSchema(CFMetaData.java:1250)
> 	at org.apache.cassandra.config.KSMetaData.deserializeColumnFamilies(KSMetaData.java:299)
> 	at org.apache.cassandra.db.DefsTable.mergeColumnFamilies(DefsTable.java:434)
> 	at org.apache.cassandra.db.DefsTable.mergeSchema(DefsTable.java:346)
> 	at org.apache.cassandra.service.MigrationManager$1.call(MigrationManager.java:217)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
> 	... 3 more
> Caused by: java.text.ParseException: Unable to parse the date: 2012-10-19 21
> 	at org.apache.commons.lang.time.DateUtils.parseDate(DateUtils.java:285)
> 	at org.apache.cassandra.db.marshal.DateType.dateStringToTimestamp(DateType.java:113)
> 	... 14 more
> ERROR 21:11:18,795 Exception in thread Thread[MigrationStage:1,5,main]
> org.apache.cassandra.db.marshal.MarshalException: unable to coerce '2012-10-19 21' to a  formatted date (long)
> 	at org.apache.cassandra.db.marshal.DateType.dateStringToTimestamp(DateType.java:117)
> 	at org.apache.cassandra.db.marshal.DateType.fromString(DateType.java:85)
> 	at org.apache.cassandra.db.marshal.AbstractCompositeType.fromString(AbstractCompositeType.java:213)
> 	at org.apache.cassandra.config.ColumnDefinition.fromSchema(ColumnDefinition.java:257)
> 	at org.apache.cassandra.config.CFMetaData.addColumnDefinitionSchema(CFMetaData.java:1318)
> 	at org.apache.cassandra.config.CFMetaData.fromSchema(CFMetaData.java:1250)
> 	at org.apache.cassandra.config.KSMetaData.deserializeColumnFamilies(KSMetaData.java:299)
> 	at org.apache.cassandra.db.DefsTable.mergeColumnFamilies(DefsTable.java:434)
> 	at org.apache.cassandra.db.DefsTable.mergeSchema(DefsTable.java:346)
> 	at org.apache.cassandra.service.MigrationManager$1.call(MigrationManager.java:217)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
> 	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)
> Caused by: java.text.ParseException: Unable to parse the date: 2012-10-19 21
> 	at org.apache.commons.lang.time.DateUtils.parseDate(DateUtils.java:285)
> 	at org.apache.cassandra.db.marshal.DateType.dateStringToTimestamp(DateType.java:113)
> 	... 14 more
> {code}
> This error is repeated when attempting to restart the server, and results in the server failing to start.

--
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