You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Mikhail Stepura (JIRA)" <ji...@apache.org> on 2014/04/18 21:27:15 UTC
[jira] [Resolved] (CASSANDRA-7051) UnsupportedOperationException
[ https://issues.apache.org/jira/browse/CASSANDRA-7051?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mikhail Stepura resolved CASSANDRA-7051.
----------------------------------------
Resolution: Duplicate
> UnsupportedOperationException
> -----------------------------
>
> Key: CASSANDRA-7051
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7051
> Project: Cassandra
> Issue Type: Bug
> Components: API, Core
> Environment: Cassandra 2.0.6
> Reporter: Digant Modha
> Priority: Critical
>
> UnsupportedOperationException exception thrown when using batchstatement. This is because in org.apache.cassandra.cql3.statements.BatchStatement.unzipMutations returns a collection that does not support add if the size of mutation is 1.
> STACK:
> throws UnsupportedOperationException.
> Daemon Thread [Native-Transport-Requests:1043] (Suspended (entry into method <init> in UnsupportedOperationException))
> UnsupportedOperationException.<init>() line: 42 [local variables unavailable]
> HashMap$Values(AbstractCollection<E>).add(E) line: 260
> HashMap$Values(AbstractCollection<E>).addAll(Collection<? extends E>) line: 342
> StorageProxy.mutateWithTriggers(Collection<IMutation>, ConsistencyLevel, boolean) line: 519
> BatchStatement.executeWithoutConditions(Collection<IMutation>, ConsistencyLevel) line: 210
> BatchStatement.execute(BatchStatement$BatchVariables, boolean, ConsistencyLevel, long) line: 203
> BatchStatement.executeWithPerStatementVariables(ConsistencyLevel, QueryState, List<List<ByteBuffer>>) line: 192
> QueryProcessor.processBatch(BatchStatement, ConsistencyLevel, QueryState, List<List<ByteBuffer>>, List<Object>) line: 373
> BatchMessage.execute(QueryState) line: 206
> Message$Dispatcher.messageReceived(ChannelHandlerContext, MessageEvent) line: 304
> Message$Dispatcher(SimpleChannelUpstreamHandler).handleUpstream(ChannelHandlerContext, ChannelEvent) line: 70
> DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline$DefaultChannelHandlerContext, ChannelEvent) line: 564
> DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(ChannelEvent) line: 791
> ChannelUpstreamEventRunnable.doRun() line: 43
> ChannelUpstreamEventRunnable(ChannelEventRunnable).run() line: 67
> RequestThreadPoolExecutor(ThreadPoolExecutor).runWorker(ThreadPoolExecutor$Worker) line: 1145
> ThreadPoolExecutor$Worker.run() line: 615
> Thread.run() line: 744
> org.apache.cassandra.cql3.statements.BatchStatement:
> private Collection<? extends IMutation> unzipMutations(Map<String, Map<ByteBuffer, IMutation>> mutations)
> {
> // The case where all statement where on the same keyspace is pretty common
> if (mutations.size() == 1)
> return mutations.values().iterator().next().values();
> List<IMutation> ms = new ArrayList<>();
> for (Map<ByteBuffer, IMutation> ksMap : mutations.values())
> ms.addAll(ksMap.values());
> return ms;
> }
--
This message was sent by Atlassian JIRA
(v6.2#6252)