You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Tom van den Berge (JIRA)" <ji...@apache.org> on 2015/06/11 17:37:01 UTC

[jira] [Created] (CASSANDRA-9582) MarshalException after upgrading to 2.1.6

Tom van den Berge created CASSANDRA-9582:
--------------------------------------------

             Summary: MarshalException after upgrading to 2.1.6
                 Key: CASSANDRA-9582
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-9582
             Project: Cassandra
          Issue Type: Bug
            Reporter: Tom van den Berge


I've upgraded a node from 2.0.10 to 2.1.6. Before taking down the node, I've run nodetool upgradesstables and nodetool scrub.

When starting up the node with 2.1.6, I'm getting a MarshalException (stacktrace included below). For some reason, it seems that C* is trying to convert a text value from the column 'currencyCode' to a UUID, which it isn't.
I've had similar errors for two other columns as well, which I could work around by dropping the table, since it wasn't used anymore.

The only thing I could do was restoring a snapshot and starting up the old 2.0.10 again.

The schema of the table (I've got only one table containing a column named 'currencyCode') is:
CREATE TABLE "InvoiceItem" (
  key blob,
  column1 uuid,
  "currencyCode" text,
  description text,
  "priceGross" bigint,
  "priceNett" bigint,
  quantity varint,
  sku text,
  "unitPriceGross" bigint,
  "unitPriceNett" bigint,
  vat bigint,
  "vatRateBasisPoints" varint,
  PRIMARY KEY ((key), column1)
) WITH COMPACT STORAGE AND
  bloom_filter_fp_chance=0.010000 AND
  caching='KEYS_ONLY' AND
  comment='' AND
  dclocal_read_repair_chance=0.000000 AND
  gc_grace_seconds=864000 AND
  index_interval=128 AND
  read_repair_chance=1.000000 AND
  replicate_on_write='true' AND
  populate_io_cache_on_flush='false' AND
  default_time_to_live=0 AND
  speculative_retry='99.0PERCENTILE' AND
  memtable_flush_period_in_ms=0 AND
  compaction={'class': 'SizeTieredCompactionStrategy'} AND
  compression={};


The stack trace when starting up:

ERROR 13:51:57 Exception encountered during startup
org.apache.cassandra.serializers.MarshalException: unable to make version 1 UUID from 'currencyCode'
	at org.apache.cassandra.db.marshal.UUIDType.fromString(UUIDType.java:188) ~[apache-cassandra-2.1.6.jar:2.1.6]
	at org.apache.cassandra.db.marshal.AbstractCompositeType.fromString(AbstractCompositeType.java:242) ~[apache-cassandra-2.1.6.jar:2.1.6]
	at org.apache.cassandra.config.ColumnDefinition.fromSchema(ColumnDefinition.java:397) ~[apache-cassandra-2.1.6.jar:2.1.6]
	at org.apache.cassandra.config.CFMetaData.fromSchemaNoTriggers(CFMetaData.java:1750) ~[apache-cassandra-2.1.6.jar:2.1.6]
	at org.apache.cassandra.config.CFMetaData.fromSchema(CFMetaData.java:1860) ~[apache-cassandra-2.1.6.jar:2.1.6]
	at org.apache.cassandra.config.KSMetaData.deserializeColumnFamilies(KSMetaData.java:321) ~[apache-cassandra-2.1.6.jar:2.1.6]
	at org.apache.cassandra.config.KSMetaData.fromSchema(KSMetaData.java:302) ~[apache-cassandra-2.1.6.jar:2.1.6]
	at org.apache.cassandra.db.DefsTables.loadFromKeyspace(DefsTables.java:133) ~[apache-cassandra-2.1.6.jar:2.1.6]
	at org.apache.cassandra.config.DatabaseDescriptor.loadSchemas(DatabaseDescriptor.java:696) ~[apache-cassandra-2.1.6.jar:2.1.6]
	at org.apache.cassandra.config.DatabaseDescriptor.loadSchemas(DatabaseDescriptor.java:672) ~[apache-cassandra-2.1.6.jar:2.1.6]
	at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:293) [apache-cassandra-2.1.6.jar:2.1.6]
	at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:536) [apache-cassandra-2.1.6.jar:2.1.6]
	at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:625) [apache-cassandra-2.1.6.jar:2.1.6]
Caused by: org.apache.cassandra.serializers.MarshalException: unable to coerce 'currencyCode' to a  formatted date (long)
	at org.apache.cassandra.serializers.TimestampSerializer.dateStringToTimestamp(TimestampSerializer.java:111) ~[apache-cassandra-2.1.6.jar:2.1.6]
	at org.apache.cassandra.db.marshal.UUIDType.fromString(UUIDType.java:184) ~[apache-cassandra-2.1.6.jar:2.1.6]
	... 12 common frames omitted
Caused by: java.text.ParseException: Unable to parse the date: currencyCode
	at org.apache.commons.lang3.time.DateUtils.parseDateWithLeniency(DateUtils.java:336) ~[commons-lang3-3.1.jar:3.1]
	at org.apache.commons.lang3.time.DateUtils.parseDateStrictly(DateUtils.java:286) ~[commons-lang3-3.1.jar:3.1]
	at org.apache.cassandra.serializers.TimestampSerializer.dateStringToTimestamp(TimestampSerializer.java:107) ~[apache-cassandra-2.1.6.jar:2.1.6]
	... 13 common frames omitted
org.apache.cassandra.serializers.MarshalException: unable to make version 1 UUID from 'currencyCode'
	at org.apache.cassandra.db.marshal.UUIDType.fromString(UUIDType.java:188)
	at org.apache.cassandra.db.marshal.AbstractCompositeType.fromString(AbstractCompositeType.java:242)
	at org.apache.cassandra.config.ColumnDefinition.fromSchema(ColumnDefinition.java:397)
	at org.apache.cassandra.config.CFMetaData.fromSchemaNoTriggers(CFMetaData.java:1750)
	at org.apache.cassandra.config.CFMetaData.fromSchema(CFMetaData.java:1860)
	at org.apache.cassandra.config.KSMetaData.deserializeColumnFamilies(KSMetaData.java:321)
	at org.apache.cassandra.config.KSMetaData.fromSchema(KSMetaData.java:302)
	at org.apache.cassandra.db.DefsTables.loadFromKeyspace(DefsTables.java:133)
	at org.apache.cassandra.config.DatabaseDescriptor.loadSchemas(DatabaseDescriptor.java:696)
	at org.apache.cassandra.config.DatabaseDescriptor.loadSchemas(DatabaseDescriptor.java:672)
	at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:293)
	at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:536)
	at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:625)
Caused by: org.apache.cassandra.serializers.MarshalException: unable to coerce 'currencyCode' to a  formatted date (long)
	at org.apache.cassandra.serializers.TimestampSerializer.dateStringToTimestamp(TimestampSerializer.java:111)
	at org.apache.cassandra.db.marshal.UUIDType.fromString(UUIDType.java:184)
	... 12 more
Caused by: java.text.ParseException: Unable to parse the date: currencyCode
	at org.apache.commons.lang3.time.DateUtils.parseDateWithLeniency(DateUtils.java:336)
	at org.apache.commons.lang3.time.DateUtils.parseDateStrictly(DateUtils.java:286)
	at org.apache.cassandra.serializers.TimestampSerializer.dateStringToTimestamp(TimestampSerializer.java:107)
	... 13 more
Exception encountered during startup: unable to make version 1 UUID from 'currencyCode'






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