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

Ekaterina Dimitrova commented on CASSANDRA-19167:
-------------------------------------------------

We were corrupting the buffer 
[here|https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/cql3/functions/types/VectorCodec.java#L140]
 when running the first 
[selection,|https://github.com/apache/cassandra/blob/trunk/test/unit/org/apache/cassandra/cql3/validation/operations/CQLVectorTest.java#L416]
 as the initial buffer position is not always 0. Rule of thumb - don't consume 
a buffer you don't own. 

[Patch|https://github.com/apache/cassandra/pull/3065]

CI with _memtable_allocation_type: heap_buffers -_ 
[https://app.circleci.com/pipelines/github/ekaterinadimitrova2/cassandra?branch=19167-5.0]
 #2629
- bootstrap_test tests - CASSANDRA-19097
- org.apache.cassandra.index.sai.cql.VectorUpdateDeleteTest.updateTest - 
CASSANDRA-19168
- sandwichBetweenUDTs - CASSANDRA-19095 and CASSANDRA-19185
- 
org.apache.cassandra.index.sai.cql.RandomIntersectionTest.randomIntersectionTest[Small
 partition restricted high high]-system_keyspace_directory_jdk17 - 
CASSANDRA-19327
- testSparseMode-trie_jdk17 - CASSANDRA-13169

CI with _memtable_allocation_type: offheap_objects -_ 
[https://app.circleci.com/pipelines/github/ekaterinadimitrova2/cassandra?branch=19167-5.0]
 #2627
- bootstrap_test tests - CASSANDRA-19097
- sandwichBetweenUDTs - CASSANDRA-19095 and CASSANDRA-19185



[~adelapena], do you mind to review? It is literally a few lines of code. 

I also opened a ticket to fix the test config in 3.11+ - CASSANDRA-19326.

> Test failure: CQLVectorTest fails with heap_buffers
> ---------------------------------------------------
>
>                 Key: CASSANDRA-19167
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-19167
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Feature/Vector Search
>            Reporter: Branimir Lambov
>            Assignee: Ekaterina Dimitrova
>            Priority: Normal
>             Fix For: 5.0-rc, 5.x
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> When {{memtable_allocation_type}} is set to {{heap_buffers}}, the {{udf}} 
> test fails with
> {code}
> org.apache.cassandra.cql3.functions.types.exceptions.InvalidTypeException: 
> Invalid 32-bits integer value, expecting 4 bytes but got 6
>       at 
> org.apache.cassandra.cql3.functions.types.TypeCodec$IntCodec.deserializeNoBoxing(TypeCodec.java:1695)
>       at 
> org.apache.cassandra.cql3.functions.types.TypeCodec$PrimitiveIntCodec.deserialize(TypeCodec.java:842)
>       at 
> org.apache.cassandra.cql3.functions.types.TypeCodec$PrimitiveIntCodec.deserialize(TypeCodec.java:819)
>       at 
> org.apache.cassandra.cql3.functions.types.VectorCodec$FixedLength.deserialize(VectorCodec.java:135)
>       at 
> org.apache.cassandra.cql3.functions.types.VectorCodec$FixedLength.deserialize(VectorCodec.java:83)
>       at 
> org.apache.cassandra.cql3.functions.types.TypeCodec$AbstractCollectionCodec.deserialize(TypeCodec.java:2141)
>       at 
> org.apache.cassandra.cql3.functions.types.TypeCodec$AbstractCollectionCodec.deserialize(TypeCodec.java:2082)
>       at 
> org.apache.cassandra.cql3.functions.UDFDataType.compose(UDFDataType.java:180)
>       at 
> org.apache.cassandra.cql3.functions.FunctionArguments.set(FunctionArguments.java:142)
>       at 
> org.apache.cassandra.cql3.selection.AbstractFunctionSelector.setArg(AbstractFunctionSelector.java:277)
>       at 
> org.apache.cassandra.cql3.selection.ScalarFunctionSelector.getOutput(ScalarFunctionSelector.java:58)
>       at 
> org.apache.cassandra.cql3.selection.Selection$SelectionWithProcessing$1.getOutputRow(Selection.java:605)
>       at 
> org.apache.cassandra.cql3.selection.ResultSetBuilder.getOutputRow(ResultSetBuilder.java:175)
>       at 
> org.apache.cassandra.cql3.selection.ResultSetBuilder.build(ResultSetBuilder.java:162)
>       at 
> org.apache.cassandra.cql3.statements.SelectStatement.process(SelectStatement.java:999)
>       at 
> org.apache.cassandra.cql3.statements.SelectStatement.processResults(SelectStatement.java:564)
>       at 
> org.apache.cassandra.cql3.statements.SelectStatement.executeInternal(SelectStatement.java:600)
>       at 
> org.apache.cassandra.cql3.statements.SelectStatement.executeLocally(SelectStatement.java:570)
>       at 
> org.apache.cassandra.cql3.statements.SelectStatement.executeLocally(SelectStatement.java:108)
>       at 
> org.apache.cassandra.cql3.QueryProcessor.executeInternal(QueryProcessor.java:445)
>       at 
> org.apache.cassandra.cql3.CQLTester.executeFormattedQuery(CQLTester.java:1597)
>       at org.apache.cassandra.cql3.CQLTester.execute(CQLTester.java:1576)
>       at 
> org.apache.cassandra.cql3.validation.operations.CQLVectorTest.udf(CQLVectorTest.java:427)
> {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]

Reply via email to