David Capwell created CASSANDRA-20262:
-----------------------------------------
Summary: Accord interop token equality query fails with bound check
Key: CASSANDRA-20262
URL: https://issues.apache.org/jira/browse/CASSANDRA-20262
Project: Apache Cassandra
Issue Type: Bug
Components: Accord
Reporter: David Capwell
Assignee: Ariel Weisberg
This was found by CASSANDRA-20156
{code}
State:
Setup:
CREATE KEYSPACE IF NOT EXISTS ks1 WITH replication = {'class':
'SimpleStrategy', 'replication_factor': 1};
CREATE TABLE ks1.tbl (
pk0 tinyint,
pk1 time,
ck0 boolean,
s0 inet static,
v0 inet,
PRIMARY KEY ((pk0, pk1), ck0)
) WITH CLUSTERING ORDER BY (ck0 ASC)
AND additional_write_policy = '99p'
AND allow_auto_snapshot = true
AND bloom_filter_fp_chance = 0.01
AND caching = {'keys': 'ALL', 'rows_per_partition': 'NONE'}
AND cdc = false
AND comment = ''
AND compaction = {'class':
'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy',
'max_threshold': '32', 'min_threshold': '4'}
AND compression = {'chunk_length_in_kb': '16', 'class':
'org.apache.cassandra.io.compress.LZ4Compressor'}
AND memtable = 'default'
AND crc_check_chance = 1.0
AND fast_path = 'keyspace'
AND default_time_to_live = 0
AND extensions = {}
AND gc_grace_seconds = 864000
AND incremental_backups = true
AND max_index_interval = 2048
AND memtable_flush_period_in_ms = 0
AND min_index_interval = 128
AND read_repair = 'BLOCKING'
AND transactional_mode = 'full'
AND transactional_migration_from = 'none'
AND speculative_retry = '99p';
CREATE INDEX tbl_pk0 ON ks1.tbl(pk0) USING 'SAI';
CREATE INDEX tbl_pk1 ON ks1.tbl(pk1) USING 'SAI';
CREATE CUSTOM INDEX tbl_ck0 ON ks1.tbl(ck0) USING
'StorageAttachedIndex';
CREATE INDEX tbl_s0 ON ks1.tbl(s0) USING 'SAI';
CREATE CUSTOM INDEX tbl_v0 ON ks1.tbl(v0) USING
'StorageAttachedIndex';:
org.apache.cassandra.distributed.test.cql3.AccordInteropSingleNodeTableWalkTest.AccordInteropState
History:
1: INSERT INTO ks1.tbl (pk0, pk1, ck0, s0, v0) VALUES (101,
'14:21:13.188790094', true, '56.151.240.130', '78.156.239.106') -- on node1
2: DELETE FROM ks1.tbl WHERE pk0 = -94 AND pk1 =
'13:01:51.099235102' AND ck0 = false -- on node1
3: SELECT * FROM ks1.tbl WHERE token(pk0, pk1) = token(101,
'14:21:13.188790094') -- by token, on node1, fetch size 1
4: SELECT * FROM ks1.tbl WHERE pk1 = '14:21:13.188790094' AND
ck0 = true AND pk0 = 101 ALLOW FILTERING -- pk1 time (indexed with SAI), ck0
boolean (indexed with SAI), pk0 tinyint (indexed with SAI), on node1, fetch
size 5000
5: UPDATE ks1.tbl SET v0='129.167.56.66',
s0='c743:a2c4:9dcc:ef0c:bc6b:421c:4fd4:d506' WHERE pk0 = -24 AND pk1 =
'04:40:54.482608170' AND ck0 = true -- on node1
6: INSERT INTO ks1.tbl (pk0, pk1, ck0, s0) VALUES (-94,
'13:01:51.099235102', false, '133.161.178.231') -- on node1
7: SELECT * FROM ks1.tbl WHERE pk0 = 101 AND s0 =
'56.151.240.130' ALLOW FILTERING -- pk0 tinyint (indexed with SAI), s0 inet
(indexed with SAI), on node1, fetch size 1
8: DELETE FROM ks1.tbl WHERE pk0 = -94 AND pk1 =
'13:01:51.099235102' AND ck0 = false -- on node1
9: SELECT * FROM ks1.tbl WHERE pk0 = 101 AND pk1 =
'14:21:13.188790094' ALLOW FILTERING -- pk0 tinyint (indexed with SAI), pk1
time (indexed with SAI), on node1, fetch size 10
10: SELECT * FROM ks1.tbl WHERE token(pk0, pk1) = token(-24,
'04:40:54.482608170') -- by token, on node1, fetch size 1
11: SELECT * FROM ks1.tbl WHERE token(pk0, pk1) = token(-24,
'04:40:54.482608170') -- by token, on node1, fetch size 1
12: SELECT * FROM ks1.tbl WHERE token(pk0, pk1) = token(-94,
'13:01:51.099235102') -- by token, on node1, fetch size 1000
13: SELECT * FROM ks1.tbl WHERE s0 = '56.151.240.130' AND pk1 =
'14:21:13.188790094' ALLOW FILTERING -- s0 inet (indexed with SAI), pk1 time
(indexed with SAI), on node1, fetch size 10
14: SELECT * FROM ks1.tbl WHERE s0 =
'c743:a2c4:9dcc:ef0c:bc6b:421c:4fd4:d506' AND v0 = '78.156.239.106' AND ck0 =
true AND pk0 = -24 ALLOW FILTERING -- s0 inet (indexed with SAI), v0 inet
(indexed with SAI), ck0 boolean (indexed with SAI), pk0 tinyint (indexed with
SAI), on node1, fetch size 1
15: UPDATE ks1.tbl SET
v0='e032:ceaf:d069:bb65:45ad:297a:6bf5:7f5' WHERE pk0 = 57 AND pk1 =
'21:21:22.571524538' AND ck0 = false -- on node1
16: SELECT * FROM ks1.tbl WHERE token(pk0, pk1) = token(-94,
'13:01:51.099235102') -- by token, on node1, fetch size 1
{code}
Error
{code}
INFO [node1_Native-Transport-Requests-2] 2025-01-29 15:11:00,681
SubstituteLogger.java:169 - ERROR [node1_Native-Transport-Requests-2] node1
2025-01-29 15:11:00,681 ErrorMessage.java:457 - Unexpected exception during
request
java.lang.IllegalArgumentException:
1b255f4d-ef25-40a6-0000-000000000005:939701389380799159 >=
1b255f4d-ef25-40a6-0000-000000000005:939701389380799159
at accord.primitives.Range.<init>(Range.java:212)
at accord.primitives.Range$EndInclusive.<init>(Range.java:44)
at
org.apache.cassandra.service.accord.TokenRange.<init>(TokenRange.java:46)
at
org.apache.cassandra.service.accord.TokenRange.create(TokenRange.java:54)
at
org.apache.cassandra.service.accord.txn.TxnNamedRead.boundsAsAccordRange(TxnNamedRead.java:127)
at
org.apache.cassandra.service.accord.txn.TxnNamedRead.<init>(TxnNamedRead.java:135)
at
org.apache.cassandra.service.accord.txn.TxnRead.createRangeRead(TxnRead.java:167)
at
org.apache.cassandra.service.StorageProxy.readWithAccord(StorageProxy.java:2199)
at
org.apache.cassandra.service.reads.range.RangeCommandIterator.executeAccord(RangeCommandIterator.java:199)
at
org.apache.cassandra.service.reads.range.RangeCommandIterator.query(RangeCommandIterator.java:266)
at
org.apache.cassandra.service.reads.range.RangeCommandIterator.lambda$sendNextRequests$0(RangeCommandIterator.java:347)
at
org.apache.cassandra.service.reads.range.RangeCommandIterator$2.<init>(RangeCommandIterator.java:382)
at
org.apache.cassandra.service.reads.range.RangeCommandIterator.retryingPartitionIterator(RangeCommandIterator.java:379)
at
org.apache.cassandra.service.reads.range.RangeCommandIterator.sendNextRequests(RangeCommandIterator.java:348)
at
org.apache.cassandra.service.reads.range.RangeCommandIterator.computeNext(RangeCommandIterator.java:138)
at
org.apache.cassandra.service.reads.range.RangeCommandIterator.computeNext(RangeCommandIterator.java:73)
at
org.apache.cassandra.utils.AbstractIterator.hasNext(AbstractIterator.java:47)
at
org.apache.cassandra.db.transform.BasePartitions.hasNext(BasePartitions.java:90)
at
org.apache.cassandra.cql3.statements.SelectStatement.process(SelectStatement.java:1050)
at
org.apache.cassandra.cql3.statements.SelectStatement.processResults(SelectStatement.java:633)
at
org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:607)
at
org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:402)
at
org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:152)
at
org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:287)
at
org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:382)
at
org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:369)
at
org.apache.cassandra.transport.messages.QueryMessage.execute(QueryMessage.java:117)
{code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]