[ 
https://issues.apache.org/jira/browse/CASSANDRA-14918?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jason Harvey updated CASSANDRA-14918:
-------------------------------------
    Description: 
I'm on cassandra 3.11.2. On a number of CFs I'm observing that multiget_slice 
sometimes returns inconsistent, partially-empty results for the exact same 
request, despite the underlying data not changing. This behaviour is only 
observed when I perform the multiget with a CL higher than `ONE` - all `ONE` 
requests work as expected.

I was able to create a test table in a lab environment and after fiddling with 
the data enough was able to repro. I was unable to perform a very basic repro 
with only a few rows present. To repro, I inserted a couple million rows, 
deleted a subset of those rows, and the performed a multiget slice on a list of 
partitions which included living and deleted partitions. The result is that 
sometimes, when performing a multiget on this data, I get a thrift struct back 
with partition info, but no column names or values - the thrift LIST that is 
generated contains 0 elements. If I issue this exact same request 5 times I 
might get the appropriate data back once or twice. I have verified on the wire 
that the request being made is identical - only the results are different.

The repro case described above is rather meandering so I'm working to break it 
down into a simple of a case as I can. It is unclear if deletions need to occur 
to reproduce this or not.

Edit: Just confirmed I'm observing this behaviour on multiple distinct 3.11.2 
rings.

  was:
I'm on cassandra 3.11.2. On a number of CFs I'm observing that multiget_slice 
sometimes returns inconsistent, partially-empty results for the exact same 
request, despite the underlying data not changing. This behaviour is only 
observed when I perform the multiget with a CL higher than `ONE` - all `ONE` 
requests work as expected.

I was able to create a test table in a lab environment and after fiddling with 
the data enough was able to repro. I was unable to perform a very basic repro 
with only a few rows present. To repro, I inserted a couple million rows, 
deleted a subset of those rows, and the performed a multiget slice on a list of 
partitions which included living and deleted partitions. The result is that 
sometimes, when performing a multiget on this data, I get a thrift struct back 
with partition info, but no column names or values - the thrift LIST that is 
generated contains 0 elements. If I issue this exact same request 5 times I 
might get the appropriate data back once or twice. I have verified on the wire 
that the request being made is identical - only the results are different.

The repro case described above is rather meandering so I'm working to break it 
down into a simple of a case as I can. It is unclear if deletions need to occur 
to reproduce this or not.


> multiget_slice returning inconsistent results when performed with CL higher 
> than ONE
> ------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-14918
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-14918
>             Project: Cassandra
>          Issue Type: Bug
>         Environment: 9 node ring, cassandra 3.11.2.
> Ring is not upgraded from any previous version.
>            Reporter: Jason Harvey
>            Priority: Major
>
> I'm on cassandra 3.11.2. On a number of CFs I'm observing that multiget_slice 
> sometimes returns inconsistent, partially-empty results for the exact same 
> request, despite the underlying data not changing. This behaviour is only 
> observed when I perform the multiget with a CL higher than `ONE` - all `ONE` 
> requests work as expected.
> I was able to create a test table in a lab environment and after fiddling 
> with the data enough was able to repro. I was unable to perform a very basic 
> repro with only a few rows present. To repro, I inserted a couple million 
> rows, deleted a subset of those rows, and the performed a multiget slice on a 
> list of partitions which included living and deleted partitions. The result 
> is that sometimes, when performing a multiget on this data, I get a thrift 
> struct back with partition info, but no column names or values - the thrift 
> LIST that is generated contains 0 elements. If I issue this exact same 
> request 5 times I might get the appropriate data back once or twice. I have 
> verified on the wire that the request being made is identical - only the 
> results are different.
> The repro case described above is rather meandering so I'm working to break 
> it down into a simple of a case as I can. It is unclear if deletions need to 
> occur to reproduce this or not.
> Edit: Just confirmed I'm observing this behaviour on multiple distinct 3.11.2 
> rings.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to