cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gary Dusbabek (JIRA)" <j...@apache.org>
Subject [jira] Updated: (CASSANDRA-521) NullPointerException in cassandra bootstrap after switch RandomParitioner to OrderPreservingPartioner
Date Fri, 06 Nov 2009 18:26:32 GMT

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

Gary Dusbabek updated CASSANDRA-521:
------------------------------------

    Attachment: 521-v1.patch

Ensures that the system table only uses OrderPreservingPartioner.

I audited the use of StorageService.getPartitioner() to make sure it is only being used in
the right circumstances, and in a few cases replaced it by substituting member IPartitioner
objects.

The only place I wasn't sure about was Token.TokenSeriailizer.

Since there is no longer a global IPartitioner, we should take steps to reduce the use of
StorageService.getPartioner() in favor of passed parameters or member variables where it makes
sense.  Otherwise, we run the risk of introducing hard-to-trace bugs if somebody operates
on a system table using the wrong partitioner.  This is possible in SSTableReader.open(filename)
and SSTableWriter.renameAndOpen(filename).

> NullPointerException in cassandra bootstrap  after switch RandomParitioner to OrderPreservingPartioner
> ------------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-521
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-521
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 0.4
>         Environment: $ uname -a
> Linux archlinux 2.6.31-ARCH #1 SMP PREEMPT Fri Oct 23 11:12:58 CEST 2009 i686 AMD Athlon(tm)
7750 Dual-Core Processor AuthenticAMD GNU/Linux
> $ java -version
> java version "1.6.0_0"
> OpenJDK Runtime Environment (IcedTea6 1.6.1) (ArchLinux-1.6.1-1-i686)
> OpenJDK Client VM (build 14.0-b16, mixed mode)
>            Reporter: Road Tang
>            Assignee: Gary Dusbabek
>            Priority: Minor
>             Fix For: 0.5
>
>         Attachments: 521-v1.patch
>
>
> NullPointerException in cassandra bootstrap  after switch RandomParitioner to OrderPreservingPartioner
> Steps:
> 1. Use RadomPartitionor, boot up cassandra to initialize the cluster data and various
logs.
> 2. Put some data.
> 3. Shutdown cassandra, and modify the store-config.xml , change RandomPartitioner to
OrderPreservingPartitioner
> 4. Restart cassandra
> Expected Result:
>  fail startup and tell the user Don't Do That ( from jbells).
> Actual Result:
> [roadt@archlinux apache-cassandra-incubating-0.4.0-src]$ bin/cassandra -f
> Listening for transport dt_socket at address: 8888
> DEBUG - Loading settings from bin/../conf/storage-conf.xml
> DEBUG - Syncing log with a period of 1000
> DEBUG - opening keyspace Keyspace1
> DEBUG - adding Super1 as 0
> DEBUG - adding Standard2 as 1
> DEBUG - adding Standard1 as 2
> DEBUG - adding StandardByUUID1 as 3
> DEBUG - adding LocationInfo as 4
> DEBUG - adding HintsColumnFamily as 5
> DEBUG - adding TermVectors as 6
> DEBUG - adding Documents as 7
> DEBUG - opening keyspace system
> DEBUG - INDEX LOAD TIME for /home/roadt/studies/web/apache/cassandra/apache-cassandra-incubating-0.4.0-src/cassandra/data/system/LocationInfo-5-Data.db:
20 ms.
> DEBUG - opening keyspace Lucandra
> DEBUG - INDEX LOAD TIME for /home/roadt/studies/web/apache/cassandra/apache-cassandra-incubating-0.4.0-src/cassandra/data/Lucandra/TermVectors-1-Data.db:
4 ms.
> DEBUG - INDEX LOAD TIME for /home/roadt/studies/web/apache/cassandra/apache-cassandra-incubating-0.4.0-src/cassandra/data/Lucandra/Documents-1-Data.db:
1 ms.
> INFO - Replaying cassandra/commitlog/CommitLog-1256823678738.log
> DEBUG - Replaying cassandra/commitlog/CommitLog-1256823678738.log starting at 125
> DEBUG - Reading mutation at 125
> DEBUG - replaying mutation for system.L: {ColumnFamily(LocationInfo [Generation,])}
> INFO - Flushing Memtable(LocationInfo)@29859324
> INFO - Completed flushing Memtable(LocationInfo)@29859324
> DEBUG - collecting Generation:false:4@4
> ERROR - Exception encountered during startup.
> java.lang.NullPointerException
> 	at org.apache.cassandra.db.SystemTable.initMetadata(SystemTable.java:117)
> 	at org.apache.cassandra.service.StorageService.start(StorageService.java:274)
> 	at org.apache.cassandra.service.CassandraServer.start(CassandraServer.java:72)
> 	at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:95)
> 	at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:167)
> Exception encountered during startup.
> java.lang.NullPointerException
> 	at org.apache.cassandra.db.SystemTable.initMetadata(SystemTable.java:117)
> 	at org.apache.cassandra.service.StorageService.start(StorageService.java:274)
> 	at org.apache.cassandra.service.CassandraServer.start(CassandraServer.java:72)
> 	at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:95)
> 	at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:167)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message