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

Aleksey Yeschenko updated CASSANDRA-10943:
------------------------------------------
    Reviewer: Sylvain Lebresne

Pushed a patch that simply backports {{calculateIsDense}} logic verbatim to 3.0 
and calls the method if {{is_dense}} field is missing from the migrating tables 
for any reason. This fixes the potential NPE issue, though there is at least 
one more related problem with {{is_dense}}, for Thrift tables that start as 
dense and get columns added later. I will address that - with extra tests - in 
CASSANDRA-11315.

> NullPointer during LegacySchemaMigrator
> ---------------------------------------
>
>                 Key: CASSANDRA-10943
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-10943
>             Project: Cassandra
>          Issue Type: Bug
>         Environment: Debian Jessie
> java version "1.8.0_66"
> Cassandra 2.2.4 -> 3.1.1 migration
>            Reporter: Stephan Wienczny
>            Assignee: Aleksey Yeschenko
>            Priority: Critical
>             Fix For: 3.0.x, 3.x
>
>         Attachments: 10943.txt
>
>
> I'm trying to upgrade my Cassandra cluster  from 2.2.4 to 3.1.1.
> I used
> {quote}
> nodetool upgradesstables
> nodetool drain
> {quote}
> before upgrading.  
> The result is this:
> {quote}
> INFO  [main] 2015-12-26 22:41:44,114 SystemKeyspace.java:1284 - Detected 
> version upgrade from 2.2.4 to 3.1.1, snapshotting system keyspace
> WARN  [main] 2015-12-26 22:41:44,318 CompressionParams.java:382 - The 
> sstable_compression option has been deprecated. You should use class instead
> ERROR [main] 2015-12-26 22:41:44,427 CassandraDaemon.java:690 - Exception 
> encountered during startup
> java.lang.NullPointerException: null
>       at 
> org.apache.cassandra.serializers.BooleanSerializer.deserialize(BooleanSerializer.java:33)
>  ~[apache-cassandra-3.1.1.jar:3.1.1]
>       at 
> org.apache.cassandra.serializers.BooleanSerializer.deserialize(BooleanSerializer.java:24)
>  ~[apache-cassandra-3.1.1.jar:3.1.1]
>       at 
> org.apache.cassandra.db.marshal.AbstractType.compose(AbstractType.java:114) 
> ~[apache-cassandra-3.1.1.jar:3.1.1]
>       at 
> org.apache.cassandra.cql3.UntypedResultSet$Row.getBoolean(UntypedResultSet.java:272)
>  ~[apache-cassandra-3.1.1.jar:3.1.1]
>       at 
> org.apache.cassandra.schema.LegacySchemaMigrator.decodeTableMetadata(LegacySchemaMigrator.java:264)
>  ~[apache-cassandra-3.1.1.jar:3.1.1]
>       at 
> org.apache.cassandra.schema.LegacySchemaMigrator.readTableMetadata(LegacySchemaMigrator.java:250)
>  ~[apache-cassandra-3.1.1.jar:3.1.1]
>       at 
> org.apache.cassandra.schema.LegacySchemaMigrator.readTable(LegacySchemaMigrator.java:221)
>  ~[apache-cassandra-3.1.1.jar:3.1.1]
>       at 
> org.apache.cassandra.schema.LegacySchemaMigrator.lambda$readTables$218(LegacySchemaMigrator.java:214)
>  ~[apache-cassandra-3.1.1.jar:3.1.1]
>       at java.util.ArrayList.forEach(ArrayList.java:1249) ~[na:1.8.0_66]
>       at 
> org.apache.cassandra.schema.LegacySchemaMigrator.readTables(LegacySchemaMigrator.java:214)
>  ~[apache-cassandra-3.1.1.jar:3.1.1]
>       at 
> org.apache.cassandra.schema.LegacySchemaMigrator.readKeyspace(LegacySchemaMigrator.java:163)
>  ~[apache-cassandra-3.1.1.jar:3.1.1]
>       at 
> org.apache.cassandra.schema.LegacySchemaMigrator.lambda$readSchema$215(LegacySchemaMigrator.java:154)
>  ~[apache-cassandra-3.1.1.jar:3.1.1]
>       at java.util.ArrayList.forEach(ArrayList.java:1249) ~[na:1.8.0_66]
>       at 
> org.apache.cassandra.schema.LegacySchemaMigrator.readSchema(LegacySchemaMigrator.java:154)
>  ~[apache-cassandra-3.1.1.jar:3.1.1]
>       at 
> org.apache.cassandra.schema.LegacySchemaMigrator.migrate(LegacySchemaMigrator.java:77)
>  ~[apache-cassandra-3.1.1.jar:3.1.1]
>       at 
> org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:223) 
> [apache-cassandra-3.1.1.jar:3.1.1]
>       at 
> org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:549)
>  [apache-cassandra-3.1.1.jar:3.1.1]
>       at 
> org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:677) 
> [apache-cassandra-3.1.1.jar:3.1.1]
> {quote}



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

Reply via email to