You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "DOAN DuyHai (JIRA)" <ji...@apache.org> on 2013/12/15 12:40:06 UTC
[jira] [Updated] (CASSANDRA-6489) ClassCastException when using
EACH_QUORUM with SimpleStrategy
[ https://issues.apache.org/jira/browse/CASSANDRA-6489?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
DOAN DuyHai updated CASSANDRA-6489:
-----------------------------------
Description:
When sending requests with EACH_QUORUM consistency and SimpleStrategy, the Java driver reports the following exception:
{code}
ERROR [11:38:36,075][] org.apache.cassandra.transport.messages.ErrorMessage@:fromException Unexpected exception during request
java.lang.ClassCastException: org.apache.cassandra.locator.SimpleStrategy cannot be cast to org.apache.cassandra.locator.NetworkTopologyStrategy
at org.apache.cassandra.service.DatacenterSyncWriteResponseHandler.<init>(DatacenterSyncWriteResponseHandler.java:55)
at org.apache.cassandra.locator.AbstractReplicationStrategy.getWriteResponseHandler(AbstractReplicationStrategy.java:132)
at org.apache.cassandra.service.StorageProxy.performWrite(StorageProxy.java:731)
at org.apache.cassandra.service.StorageProxy.mutate(StorageProxy.java:508)
at org.apache.cassandra.service.StorageProxy.mutateWithTriggers(StorageProxy.java:578)
at org.apache.cassandra.cql3.statements.BatchStatement.execute(BatchStatement.java:171)
at org.apache.cassandra.cql3.statements.BatchStatement.executeWithPerStatementVariables(BatchStatement.java:165)
at org.apache.cassandra.cql3.QueryProcessor.processBatch(QueryProcessor.java:369)
at org.apache.cassandra.transport.messages.BatchMessage.execute(BatchMessage.java:207)
at org.apache.cassandra.transport.Message$Dispatcher.messageReceived(Message.java:304)
at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
at org.jboss.netty.handler.execution.ChannelUpstreamEventRunnable.doRun(ChannelUpstreamEventRunnable.java:43)
at org.jboss.netty.handler.execution.ChannelEventRunnable.run(ChannelEventRunnable.java:67)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:724)
{code}
There should be proper error message instead of a ClassCastException. This is a minor issue though.
was:
When sending requests with EACH_QUORUM consistency and SimpleStrategy, the Java driver reports the following exception:
<pre>
ERROR [11:38:36,075][] org.apache.cassandra.transport.messages.ErrorMessage@:fromException Unexpected exception during request
java.lang.ClassCastException: org.apache.cassandra.locator.SimpleStrategy cannot be cast to org.apache.cassandra.locator.NetworkTopologyStrategy
at org.apache.cassandra.service.DatacenterSyncWriteResponseHandler.<init>(DatacenterSyncWriteResponseHandler.java:55)
at org.apache.cassandra.locator.AbstractReplicationStrategy.getWriteResponseHandler(AbstractReplicationStrategy.java:132)
at org.apache.cassandra.service.StorageProxy.performWrite(StorageProxy.java:731)
at org.apache.cassandra.service.StorageProxy.mutate(StorageProxy.java:508)
at org.apache.cassandra.service.StorageProxy.mutateWithTriggers(StorageProxy.java:578)
at org.apache.cassandra.cql3.statements.BatchStatement.execute(BatchStatement.java:171)
at org.apache.cassandra.cql3.statements.BatchStatement.executeWithPerStatementVariables(BatchStatement.java:165)
at org.apache.cassandra.cql3.QueryProcessor.processBatch(QueryProcessor.java:369)
at org.apache.cassandra.transport.messages.BatchMessage.execute(BatchMessage.java:207)
at org.apache.cassandra.transport.Message$Dispatcher.messageReceived(Message.java:304)
at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
at org.jboss.netty.handler.execution.ChannelUpstreamEventRunnable.doRun(ChannelUpstreamEventRunnable.java:43)
at org.jboss.netty.handler.execution.ChannelEventRunnable.run(ChannelEventRunnable.java:67)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:724)
</pre>
There should be proper error message instead of a ClassCastException. This is a minor issue though.
> ClassCastException when using EACH_QUORUM with SimpleStrategy
> -------------------------------------------------------------
>
> Key: CASSANDRA-6489
> URL: https://issues.apache.org/jira/browse/CASSANDRA-6489
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Environment: Cassandra 2.0.3
> Java Driver Core 2.0.0-rc2
> Reporter: DOAN DuyHai
> Priority: Minor
>
> When sending requests with EACH_QUORUM consistency and SimpleStrategy, the Java driver reports the following exception:
> {code}
> ERROR [11:38:36,075][] org.apache.cassandra.transport.messages.ErrorMessage@:fromException Unexpected exception during request
> java.lang.ClassCastException: org.apache.cassandra.locator.SimpleStrategy cannot be cast to org.apache.cassandra.locator.NetworkTopologyStrategy
> at org.apache.cassandra.service.DatacenterSyncWriteResponseHandler.<init>(DatacenterSyncWriteResponseHandler.java:55)
> at org.apache.cassandra.locator.AbstractReplicationStrategy.getWriteResponseHandler(AbstractReplicationStrategy.java:132)
> at org.apache.cassandra.service.StorageProxy.performWrite(StorageProxy.java:731)
> at org.apache.cassandra.service.StorageProxy.mutate(StorageProxy.java:508)
> at org.apache.cassandra.service.StorageProxy.mutateWithTriggers(StorageProxy.java:578)
> at org.apache.cassandra.cql3.statements.BatchStatement.execute(BatchStatement.java:171)
> at org.apache.cassandra.cql3.statements.BatchStatement.executeWithPerStatementVariables(BatchStatement.java:165)
> at org.apache.cassandra.cql3.QueryProcessor.processBatch(QueryProcessor.java:369)
> at org.apache.cassandra.transport.messages.BatchMessage.execute(BatchMessage.java:207)
> at org.apache.cassandra.transport.Message$Dispatcher.messageReceived(Message.java:304)
> at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
> at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
> at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
> at org.jboss.netty.handler.execution.ChannelUpstreamEventRunnable.doRun(ChannelUpstreamEventRunnable.java:43)
> at org.jboss.netty.handler.execution.ChannelEventRunnable.run(ChannelEventRunnable.java:67)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run(Thread.java:724)
> {code}
> There should be proper error message instead of a ClassCastException. This is a minor issue though.
--
This message was sent by Atlassian JIRA
(v6.1.4#6159)