cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Paulo Motta (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-8143) Partitioner should not be accessed through StorageService
Date Fri, 04 Sep 2015 20:29:46 GMT

    [ https://issues.apache.org/jira/browse/CASSANDRA-8143?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14731365#comment-14731365
] 

Paulo Motta commented on CASSANDRA-8143:
----------------------------------------

Thanks for looking into this and for the suggestion, [~barnie]. This indeed fixed the {{sstable_generation_loading_test}}
test without affecting CASSANDRA-9839 functionality. I added a message to the partitioner
assertion on {{CFMetadata}}.

However, the dtest is still printing the assertion error (without failing though):
{noformat}
ERROR 19:43:30 Error when closing class org.apache.cassandra.io.sstable.format.SSTableReader$InstanceTidier@1221863775:/tmp/dtest-CW1jQy/test/node1/data_copy/ks/counter1-19add000533d11e59743358ed15ecf72/ma-1-big
java.lang.AssertionError: This assertion failure is probably due to accessing Schema.instance
from client-mode tools - See CASSANDRA-8143.
	at org.apache.cassandra.config.CFMetaData.<init>(CFMetaData.java:278) ~[main/:na]
	at org.apache.cassandra.config.CFMetaData.<init>(CFMetaData.java:61) ~[main/:na]
	at org.apache.cassandra.config.CFMetaData$Builder.build(CFMetaData.java:1315) ~[main/:na]
	at org.apache.cassandra.config.CFMetaData.compile(CFMetaData.java:417) ~[main/:na]
	at org.apache.cassandra.schema.SchemaKeyspace.compile(SchemaKeyspace.java:218) ~[main/:na]
	at org.apache.cassandra.schema.SchemaKeyspace.<clinit>(SchemaKeyspace.java:81) ~[main/:na]
	at org.apache.cassandra.config.Schema.<init>(Schema.java:93) ~[main/:na]
	at org.apache.cassandra.config.Schema.<clinit>(Schema.java:49) ~[main/:na]
	at org.apache.cassandra.io.sstable.format.SSTableReader$InstanceTidier.tidy(SSTableReader.java:2123)
~[main/:na]
	at org.apache.cassandra.utils.concurrent.Ref$GlobalState.release(Ref.java:294) ~[main/:na]
	at org.apache.cassandra.utils.concurrent.Ref$State.release(Ref.java:193) ~[main/:na]
	at org.apache.cassandra.utils.concurrent.Ref.release(Ref.java:87) [main/:na]
	at org.apache.cassandra.io.sstable.SSTableLoader.releaseReferences(SSTableLoader.java:210)
[main/:na]
	at org.apache.cassandra.io.sstable.SSTableLoader.onSuccess(SSTableLoader.java:196) [main/:na]
	at org.apache.cassandra.io.sstable.SSTableLoader.onSuccess(SSTableLoader.java:45) [main/:na]
	at com.google.common.util.concurrent.Futures$6.run(Futures.java:1319) [guava-18.0.jar:na]
	at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:457)
[guava-18.0.jar:na]
	at com.google.common.util.concurrent.ExecutionList.executeListener(ExecutionList.java:156)
[guava-18.0.jar:na]
	at com.google.common.util.concurrent.ExecutionList.execute(ExecutionList.java:145) [guava-18.0.jar:na]
	at com.google.common.util.concurrent.AbstractFuture.set(AbstractFuture.java:185) [guava-18.0.jar:na]
	at org.apache.cassandra.streaming.StreamResultFuture.maybeComplete(StreamResultFuture.java:215)
[main/:na]
	at org.apache.cassandra.streaming.StreamResultFuture.handleSessionComplete(StreamResultFuture.java:186)
[main/:na]
	at org.apache.cassandra.streaming.StreamSession.closeSession(StreamSession.java:430) [main/:na]
	at org.apache.cassandra.streaming.StreamSession.complete(StreamSession.java:622) [main/:na]
	at org.apache.cassandra.streaming.StreamSession.messageReceived(StreamSession.java:486) [main/:na]
	at org.apache.cassandra.streaming.ConnectionHandler$IncomingMessageHandler.run(ConnectionHandler.java:267)
[main/:na]
	at java.lang.Thread.run(Thread.java:745) [na:1.8.0_45]
{noformat}

What can we do to fix this, maybe skip releasing references on client mode?

> Partitioner should not be accessed through StorageService
> ---------------------------------------------------------
>
>                 Key: CASSANDRA-8143
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-8143
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Branimir Lambov
>            Assignee: Branimir Lambov
>             Fix For: 3.0 beta 1
>
>
> The configured partitioner is no longer the only partitioner in use in the database,
as e.g. index tables use LocalPartitioner.
> To make sure the correct partitioner is used for each table, accesses of StorageService.getPartitioner()
should be replaced with retrieval of the CFS-specific partitioner.



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

Mime
View raw message