[
https://issues.apache.org/jira/browse/CASSANDRA-20108?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17909425#comment-17909425
]
David Capwell commented on CASSANDRA-20108:
-------------------------------------------
||Repo||Branch||Parent Branch||SHA||Status||
|https://github.com/sunil9977/cassandra.git|CASSANDRA-20108|trunk|27c9a81b8848c7cc69180c7730ebaa775274480d|Unstable
Failed Builds:
||Build||Result||Reason||
| dependency_check | fail | Found 3 vulnerable dependencies
|
| jvm11-dtests | fail | Test
org.apache.cassandra.distributed.test.ReadSpeculationTest::speculateTest-_jdk11
failed |
| python-dtests | fail | Test
replication_test.TestSnitchConfigurationUpdate::replication_test.py::TestSnitchConfigurationUpd
|
> IndexOutOfBoundsException when accessing partition where the column was
> deleted
> -------------------------------------------------------------------------------
>
> Key: CASSANDRA-20108
> URL: https://issues.apache.org/jira/browse/CASSANDRA-20108
> Project: Apache Cassandra
> Issue Type: Bug
> Components: Legacy/CQL
> Reporter: David Capwell
> Assignee: Sunil Ramchandra Pawar
> Priority: Normal
> Fix For: 5.x
>
> Attachments:
> ci_summary-trunk-27c9a81b8848c7cc69180c7730ebaa775274480d.html,
> result_details-trunk-27c9a81b8848c7cc69180c7730ebaa775274480d.tar.gz
>
>
> {code}
> Caused by: java.lang.IndexOutOfBoundsException
> at java.base/java.nio.Buffer.checkIndex(Buffer.java:687)
> at java.base/java.nio.HeapByteBuffer.get(HeapByteBuffer.java:169)
> at
> org.apache.cassandra.db.marshal.ByteBufferAccessor.getByte(ByteBufferAccessor.java:184)
> at
> org.apache.cassandra.db.marshal.ByteBufferAccessor.getByte(ByteBufferAccessor.java:42)
> at
> org.apache.cassandra.db.marshal.ByteType.compareCustom(ByteType.java:51)
> at
> org.apache.cassandra.db.marshal.AbstractType.compare(AbstractType.java:216)
> at
> org.apache.cassandra.db.marshal.AbstractType.compare(AbstractType.java:211)
> at
> org.apache.cassandra.db.marshal.AbstractType.compareForCQL(AbstractType.java:269)
> at org.apache.cassandra.cql3.Operator$1.isSatisfiedBy(Operator.java:73)
> at
> org.apache.cassandra.db.filter.RowFilter$SimpleExpression.isSatisfiedBy(RowFilter.java:725)
> at
> org.apache.cassandra.db.filter.RowFilter$1.applyToPartition(RowFilter.java:227)
> at
> org.apache.cassandra.db.transform.BasePartitions.hasNext(BasePartitions.java:94)
> at
> org.apache.cassandra.cql3.statements.SelectStatement.process(SelectStatement.java:1045)
> at
> org.apache.cassandra.cql3.statements.SelectStatement.processResults(SelectStatement.java:629)
> at
> org.apache.cassandra.cql3.statements.SelectStatement.executeInternal(SelectStatement.java:665)
> at
> org.apache.cassandra.cql3.statements.SelectStatement.executeLocally(SelectStatement.java:635)
> at
> org.apache.cassandra.cql3.statements.SelectStatement.executeLocally(SelectStatement.java:151)
> {code}
> Table
> {code}
> CREATE TABLE keyspace_test_00."3W56TBuMmC11vPVxalpse84eS" (
> pk0 date,
> pk1 double,
> ck0 int,
> ck1 inet,
> s0 tinyint static,
> v0 int,
> v1 varint,
> v2 varint,
> v3 timestamp,
> PRIMARY KEY ((pk0, pk1), ck0, ck1)
> ) WITH CLUSTERING ORDER BY (ck0 DESC, ck1 ASC)
> {code}
> The query
> {code}
> SELECT *
> FROM keyspace_test_00."3W56TBuMmC11vPVxalpse84eS"
> WHERE s0 = ? —- value is "(byte) -113"
> ALLOW FILTERING
> {code}
> The issue is that we see the delete, but don’t properly handle null data
> {code}
> ByteBuffer foundValue = getValue(metadata, partitionKey, row);
> // value is java.nio.HeapByteBuffer[pos=0 lim=0 cap=0]; aka null (empty)
> {code}
> History of operations on this partition
> {code}
> History:
> 1: UPDATE pd0
> 2: Select Whole Partition pd0
> 4: Select Whole Partition pd0
> 6: Delete COLUMN [s0, v0, v1, v2, v3] pd0
> 7: Select Whole Partition pd0
> 10: Select Whole Partition pd0
> 12: Select Row pd0
> 17: Delete COLUMN [s0, v0, v1, v2, v3] pd0
> 20: INSERT pd0
> 27: UPDATE pd0
> 38: INSERT pd0
> 41: Select Row pd0
> 56: Select Row pd0
> 66: Delete COLUMN [s0, v0, v1, v2, v3] pd0
> 67: Search on column s0
> {code}
> Here we see an insert was done so liveness info is generated, but we do
> delete on all columns leaving only the partition/clustering keys around...
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]