cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Trustin Lee (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-7695) Inserting the same row in parallel causes bad data to be returned to the client
Date Mon, 11 Aug 2014 21:52:20 GMT

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

Trustin Lee commented on CASSANDRA-7695:
----------------------------------------

I also tried:

{code}
# bin/torture -rnative -wthrift
{code}

and got this:

{code}
 INFO 14:46:00,573 Reactivating 127.0.0.1
Exception in thread "pool-13-thread-13" Exception in thread "pool-13-thread-34" Exception
in thread "pool-13-thread-29" Exception in thread "pool-13-thread-2" Exception in thread "pool-13-thread-40"
Exception in thread "pool-13-thread-24" Exception in thread "pool-13-thread-3" Exception in
thread "pool-13-thread-32" Exception in thread "pool-13-thread-4" Exception in thread "pool-13-thread-26"
Exception in thread "pool-13-thread-6" Exception in thread "pool-13-thread-36" Exception in
thread "pool-13-thread-12" Exception in thread "pool-13-thread-35" Exception in thread "pool-13-thread-15"
Exception in thread "pool-13-thread-21" Exception in thread "pool-13-thread-37" Exception
in thread "pool-13-thread-19" Exception in thread "pool-13-thread-7" Exception in thread "pool-13-thread-17"
Exception in thread "pool-13-thread-8" Exception in thread "pool-13-thread-27" Exception in
thread "pool-13-thread-14" Exception in thread "pool-13-thread-22" Exception in thread "pool-13-thread-9"
Exception in thread "pool-13-thread-38" Exception in thread "pool-13-thread-39" java.lang.OutOfMemoryError:
Java heap space
	at java.util.Arrays.copyOf(Arrays.java:2271)
	at java.io.ByteArrayOutputStream.grow(ByteArrayOutputStream.java:113)
	at java.io.ByteArrayOutputStream.ensureCapacity(ByteArrayOutputStream.java:93)
	at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:140)
	at org.apache.thrift.transport.TFramedTransport.write(TFramedTransport.java:146)
	at org.apache.thrift.protocol.TBinaryProtocol.writeBinary(TBinaryProtocol.java:196)
	at org.apache.cassandra.thrift.Cassandra$execute_prepared_cql3_query_args.write(Cassandra.java:41253)
	at org.apache.thrift.TServiceClient.sendBase(TServiceClient.java:63)
	at org.apache.cassandra.thrift.Cassandra$Client.send_execute_prepared_cql3_query(Cassandra.java:1683)
	at org.apache.cassandra.thrift.Cassandra$Client.execute_prepared_cql3_query(Cassandra.java:1673)
	at com.netflix.astyanax.thrift.ThriftCql3Query.execute_prepared_cql_query(ThriftCql3Query.java:29)
	at com.netflix.astyanax.thrift.AbstractThriftCqlQuery$3$1.internalExecute(AbstractThriftCqlQuery.java:93)
	at com.netflix.astyanax.thrift.AbstractThriftCqlQuery$3$1.internalExecute(AbstractThriftCqlQuery.java:83)
	at com.netflix.astyanax.thrift.AbstractOperationImpl.execute(AbstractOperationImpl.java:60)
	at com.netflix.astyanax.thrift.AbstractOperationImpl.execute(AbstractOperationImpl.java:28)
	at com.netflix.astyanax.thrift.ThriftSyncConnectionFactoryImpl$ThriftConnection.execute(ThriftSyncConnectionFactoryImpl.java:151)
	at com.netflix.astyanax.connectionpool.impl.AbstractExecuteWithFailoverImpl.tryOperation(AbstractExecuteWithFailoverImpl.java:119)
	at com.netflix.astyanax.connectionpool.impl.AbstractHostPartitionConnectionPool.executeWithFailover(AbstractHostPartitionConnectionPool.java:338)
	at com.netflix.astyanax.thrift.AbstractThriftCqlQuery$3.execute(AbstractThriftCqlQuery.java:81)
	at org.apache.cassandra.castorture.Torturer$2.thriftInsert(Torturer.java:146)
	at org.apache.cassandra.castorture.Torturer$2.insert(Torturer.java:127)
	at org.apache.cassandra.castorture.Torturer$2.run(Torturer.java:106)
	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:745)
...
{code}

It seems to me that it's not a failure due to data corruption though.

> Inserting the same row in parallel causes bad data to be returned to the client
> -------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-7695
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-7695
>             Project: Cassandra
>          Issue Type: Bug
>         Environment: Linux 3.12.21, JVM 1.7u60
> Cassandra server 2.1.0 RC 5
> Cassandra datastax client version 2.1.0RC1
>            Reporter: Johan Bjork
>            Assignee: T Jake Luciani
>            Priority: Blocker
>              Labels: qa-resolved
>             Fix For: 2.1.0
>
>         Attachments: 7695-workaround.txt, PutFailureRepro.java, bad-data-tid43-get, bad-data-tid43-put
>
>
> Running the attached test program against a cassandra 2.1 server results in scrambled
data returned by the SELECT statement. Running it against latest stable works fine.
> Attached:
> * Program that reproduces the failure
> * Example output files from mentioned test-program with the scrambled output.
> Failure mode:
> The value returned by 'get' is scrambled, the size is correct but some bytes have shifted
locations in the returned buffer.
> Cluster info:
> For the test we set up a single cassandra node using the stock configuration file.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message