[ https://issues.apache.org/jira/browse/CASSANDRA-4567?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13443519#comment-13443519 ]
Pavel Yaskevich commented on CASSANDRA-4567: -------------------------------------------- Two things: - I think we can cache canonical name instead of calling StorageService.getPartitioner().getClass().getCanonicalName() all the time - In "if (gDigestMessage.partioner != null && !gDigestMessage.partioner.equals(DatabaseDescriptor.getClusterName()))" the second condition tries to match partitioner to cluster_name. > Error in log related to Murmur3Partitioner > ------------------------------------------ > > Key: CASSANDRA-4567 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4567 > Project: Cassandra > Issue Type: Bug > Components: Core > Affects Versions: 1.2.0 beta 1 > Environment: Using ccm on ubuntu > Reporter: Tyler Patterson > Assignee: Vijay > Fix For: 1.2.0 beta 1 > > Attachments: 0001-CASSANDRA-4567.patch > > > Start a 2-node cluster on cassandra-1.1. Bring down one node, upgrade it to > trunk, start it back up. The following error shows up in the log: > {code} > ... > INFO [main] 2012-08-22 10:44:40,012 CacheService.java (line 170) Scheduling > row cache save to each 0 seconds (going to save all keys). > INFO [SSTableBatchOpen:1] 2012-08-22 10:44:40,106 SSTableReader.java (line > 164) Opening > /tmp/dtest-IYHWfV/test/node1/data/system/LocationInfo/system-LocationInfo-he-2 > (148 bytes) > INFO [SSTableBatchOpen:2] 2012-08-22 10:44:40,106 SSTableReader.java (line > 164) Opening > /tmp/dtest-IYHWfV/test/node1/data/system/LocationInfo/system-LocationInfo-he-1 > (226 bytes) > INFO [SSTableBatchOpen:3] 2012-08-22 10:44:40,106 SSTableReader.java (line > 164) Opening > /tmp/dtest-IYHWfV/test/node1/data/system/LocationInfo/system-LocationInfo-he-3 > (89 bytes) > ERROR [SSTableBatchOpen:3] 2012-08-22 10:44:40,114 CassandraDaemon.java (line > 131) Exception in thread Thread[SSTableBatchOpen:3,5,main] > java.lang.RuntimeException: Cannot open > /tmp/dtest-IYHWfV/test/node1/data/system/LocationInfo/system-LocationInfo-he-3 > because partitioner does not match > org.apache.cassandra.dht.Murmur3Partitioner > at > org.apache.cassandra.io.sstable.SSTableReader.open(SSTableReader.java:175) > at > org.apache.cassandra.io.sstable.SSTableReader.open(SSTableReader.java:149) > at > org.apache.cassandra.io.sstable.SSTableReader$1.run(SSTableReader.java:236) > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) > 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:662) > ERROR [SSTableBatchOpen:2] 2012-08-22 10:44:40,114 CassandraDaemon.java (line > 131) Exception in thread Thread[SSTableBatchOpen:2,5,main] > java.lang.RuntimeException: Cannot open > /tmp/dtest-IYHWfV/test/node1/data/system/LocationInfo/system-LocationInfo-he-1 > because partitioner does not match > org.apache.cassandra.dht.Murmur3Partitioner > at > org.apache.cassandra.io.sstable.SSTableReader.open(SSTableReader.java:175) > at > org.apache.cassandra.io.sstable.SSTableReader.open(SSTableReader.java:149) > at > org.apache.cassandra.io.sstable.SSTableReader$1.run(SSTableReader.java:236) > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) > 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:662) > ERROR [SSTableBatchOpen:1] 2012-08-22 10:44:40,114 CassandraDaemon.java (line > 131) Exception in thread Thread[SSTableBatchOpen:1,5,main] > java.lang.RuntimeException: Cannot open > /tmp/dtest-IYHWfV/test/node1/data/system/LocationInfo/system-LocationInfo-he-2 > because partitioner does not match > org.apache.cassandra.dht.Murmur3Partitioner > at > org.apache.cassandra.io.sstable.SSTableReader.open(SSTableReader.java:175) > at > org.apache.cassandra.io.sstable.SSTableReader.open(SSTableReader.java:149) > at > org.apache.cassandra.io.sstable.SSTableReader$1.run(SSTableReader.java:236) > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) > 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:662) > INFO [main] 2012-08-22 10:44:40,486 DatabaseDescriptor.java (line 522) > Couldn't detect any schema definitions in local storage. > INFO [main] 2012-08-22 10:44:40,487 DatabaseDescriptor.java (line 525) Found > table data in data directories. Consider using the CLI to define your schema. > ... > {code} > Note that the error does not happen when upgrading from cassandra-1.0 to > cassandra-1.1, or when "upgrading" from trunk to trunk. > This is the exact dtest I used: > {code} > from dtest import Tester, debug > FROM_VERSION = 'git:cassandra-1.1' > TO_VERSION = 'git:trunk' > class TestUpgradeOneNode(Tester): > def upgrade_test(self): > # Start a cluster > cluster = self.cluster > cluster.set_cassandra_dir(cassandra_version=FROM_VERSION) > cluster.populate(2).start() > node1 = cluster.nodelist()[0] > node1.watch_log_for('Listening for thrift clients...') > # Bring one node down and upgrade it. > node1.flush() > node1.stop(wait_other_notice=True) > node1.set_cassandra_dir(cassandra_version=TO_VERSION) > node1.start(wait_other_notice=True) > {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