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)