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

Maksim Zhuravkov edited comment on IGNITE-21662 at 3/7/24 6:13 AM:
-------------------------------------------------------------------

An issue with indexes is fixed, now it triggers ClassCastException that looks 
similar/ can be related to IGNITE-19976 Sql: ClassCastException when trying to 
select from indexed smallint column.



{code}
org.apache.ignite.internal.lang.IgniteInternalException: class 
java.lang.Integer cannot be cast to class java.lang.Short (java.lang.Integer 
and java.lang.Short are in module java.base of loader 'bootstrap')
        at 
org.apache.ignite.internal.sql.engine.exec.ExchangeServiceImpl.sendError(ExchangeServiceImpl.java:116)
 ~[main/:?]
        at 
org.apache.ignite.internal.sql.engine.exec.rel.Outbox.sendError(Outbox.java:277)
 ~[main/:?]
        at 
org.apache.ignite.internal.sql.engine.exec.rel.Outbox.onError(Outbox.java:184) 
~[main/:?]
        at 
org.apache.ignite.internal.sql.engine.exec.rel.AbstractNode.onError(AbstractNode.java:125)
 ~[main/:?]
        at 
org.apache.ignite.internal.sql.engine.exec.ExecutionContext.lambda$execute$0(ExecutionContext.java:323)
 ~[main/:?]
        at 
org.apache.ignite.internal.sql.engine.exec.QueryTaskExecutorImpl.lambda$execute$0(QueryTaskExecutorImpl.java:85)
 ~[main/:?]
        at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
 [?:?]
        at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
 [?:?]
        at java.base/java.lang.Thread.run(Thread.java:829) [?:?]
Caused by: java.lang.ClassCastException: class java.lang.Integer cannot be cast 
to class java.lang.Short (java.lang.Integer and java.lang.Short are in module 
java.base of loader 'bootstrap')
        at 
org.apache.ignite.internal.sql.engine.exec.SqlRowHandler$ObjectsArrayRowWrapper.appendValue(SqlRowHandler.java:293)
 ~[main/:?]
        at 
org.apache.ignite.internal.sql.engine.exec.SqlRowHandler$ObjectsArrayRowWrapper.toBinaryTuple(SqlRowHandler.java:259)
 ~[main/:?]
        at 
org.apache.ignite.internal.sql.engine.exec.SqlRowHandler.toBinaryTuple(SqlRowHandler.java:137)
 ~[main/:?]
        at 
org.apache.ignite.internal.sql.engine.exec.SqlRowHandler.toBinaryTuple(SqlRowHandler.java:64)
 ~[main/:?]
        at 
org.apache.ignite.internal.sql.engine.exec.ScannableTableImpl.toBinaryTuplePrefix(ScannableTableImpl.java:248)
 ~[main/:?]
        at 
org.apache.ignite.internal.sql.engine.exec.ScannableTableImpl.indexRangeScan(ScannableTableImpl.java:118)
 ~[main/:?]
        at 
org.apache.ignite.internal.sql.engine.exec.rel.IndexScanNode.partitionPublisher(IndexScanNode.java:149)
 ~[main/:?]
        at 
org.apache.ignite.internal.sql.engine.exec.rel.IndexScanNode.lambda$indexPublisher$1(IndexScanNode.java:130)
 ~[main/:?]
        at 
org.apache.ignite.internal.util.TransformingIterator.next(TransformingIterator.java:50)
 ~[main/:?]
        at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133) 
~[?:?]
        at 
org.apache.ignite.internal.util.SubscriptionUtils.orderedMerge(SubscriptionUtils.java:68)
 ~[main/:?]
        at 
org.apache.ignite.internal.sql.engine.exec.rel.IndexScanNode.indexPublisher(IndexScanNode.java:134)
 ~[main/:?]
        at 
org.apache.ignite.internal.sql.engine.exec.rel.IndexScanNode.lambda$scan$0(IndexScanNode.java:118)
 ~[main/:?]
        at 
org.apache.ignite.internal.util.TransformingIterator.next(TransformingIterator.java:50)
 ~[main/:?]
        at 
org.apache.ignite.internal.util.subscription.ConcatenatedPublisher$ConcatenatedSubscriber.drain(ConcatenatedPublisher.java:137)
 ~[main/:?]
        at 
org.apache.ignite.internal.util.subscription.ConcatenatedPublisher.subscribe(ConcatenatedPublisher.java:53)
 ~[main/:?]
        at 
org.apache.ignite.internal.sql.engine.exec.rel.StorageScanNode.requestNextBatch(StorageScanNode.java:186)
 ~[main/:?]
        at 
org.apache.ignite.internal.sql.engine.exec.rel.StorageScanNode.push(StorageScanNode.java:158)
 ~[main/:?]
        at 
org.apache.ignite.internal.sql.engine.exec.ExecutionContext.lambda$execute$0(ExecutionContext.java:320)
 ~[main/:?]
        ... 4 more
[2024-03-07T08:12:44,077][INFO 
][%idt_n_0%sql-execution-pool-0][ExchangeServiceImpl] Failed to execute query 
fragment: traceId=ac08d820-22ea-41a5-982b-d78a59ba8912, 
queryId=cd98dd99-70fa-4c85-9fa5-8e19ce9da634, fragmentId=1
org.apache.ignite.internal.lang.IgniteInternalException: class 
java.lang.Integer cannot be cast to class java.lang.Short (java.lang.Integer 
and java.lang.Short are in module java.base of loader 'bootstrap')
        at 
org.apache.ignite.internal.sql.engine.exec.ExchangeServiceImpl.sendError(ExchangeServiceImpl.java:116)
 ~[main/:?]
        at 
org.apache.ignite.internal.sql.engine.exec.rel.Outbox.sendError(Outbox.java:277)
 ~[main/:?]
        at 
org.apache.ignite.internal.sql.engine.exec.rel.Outbox.onError(Outbox.java:184) 
~[main/:?]
        at 
org.apache.ignite.internal.sql.engine.exec.rel.AbstractNode.onError(AbstractNode.java:125)
 ~[main/:?]
        at 
org.apache.ignite.internal.sql.engine.exec.ExecutionContext.lambda$execute$0(ExecutionContext.java:323)
 ~[main/:?]
        at 
org.apache.ignite.internal.sql.engine.exec.QueryTaskExecutorImpl.lambda$execute$0(QueryTaskExecutorImpl.java:85)
 ~[main/:?]
        at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
 [?:?]
        at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
 [?:?]
        at java.base/java.lang.Thread.run(Thread.java:829) [?:?]
Caused by: java.lang.ClassCastException: class java.lang.Integer cannot be cast 
to class java.lang.Short (java.lang.Integer and java.lang.Short are in module 
java.base of loader 'bootstrap')
        at 
org.apache.ignite.internal.sql.engine.exec.SqlRowHandler$ObjectsArrayRowWrapper.appendValue(SqlRowHandler.java:293)
 ~[main/:?]
        at 
org.apache.ignite.internal.sql.engine.exec.SqlRowHandler$ObjectsArrayRowWrapper.toBinaryTuple(SqlRowHandler.java:259)
 ~[main/:?]
        at 
org.apache.ignite.internal.sql.engine.exec.SqlRowHandler.toBinaryTuple(SqlRowHandler.java:137)
 ~[main/:?]
        at 
org.apache.ignite.internal.sql.engine.exec.SqlRowHandler.toBinaryTuple(SqlRowHandler.java:64)
 ~[main/:?]
        at 
org.apache.ignite.internal.sql.engine.exec.ScannableTableImpl.toBinaryTuplePrefix(ScannableTableImpl.java:248)
 ~[main/:?]
        at 
org.apache.ignite.internal.sql.engine.exec.ScannableTableImpl.indexRangeScan(ScannableTableImpl.java:118)
 ~[main/:?]
        at 
org.apache.ignite.internal.sql.engine.exec.rel.IndexScanNode.partitionPublisher(IndexScanNode.java:149)
 ~[main/:?]
        at 
org.apache.ignite.internal.sql.engine.exec.rel.IndexScanNode.lambda$indexPublisher$1(IndexScanNode.java:130)
 ~[main/:?]
        at 
org.apache.ignite.internal.util.TransformingIterator.next(TransformingIterator.java:50)
 ~[main/:?]
        at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133) 
~[?:?]
        at 
org.apache.ignite.internal.util.SubscriptionUtils.orderedMerge(SubscriptionUtils.java:68)
 ~[main/:?]
        at 
org.apache.ignite.internal.sql.engine.exec.rel.IndexScanNode.indexPublisher(IndexScanNode.java:134)
 ~[main/:?]
        at 
org.apache.ignite.internal.sql.engine.exec.rel.IndexScanNode.lambda$scan$0(IndexScanNode.java:118)
 ~[main/:?]
        at 
org.apache.ignite.internal.util.TransformingIterator.next(TransformingIterator.java:50)
 ~[main/:?]
        at 
org.apache.ignite.internal.util.subscription.ConcatenatedPublisher$ConcatenatedSubscriber.drain(ConcatenatedPublisher.java:137)
 ~[main/:?]
        at 
org.apache.ignite.internal.util.subscription.ConcatenatedPublisher.subscribe(ConcatenatedPublisher.java:53)
 ~[main/:?]
        at 
org.apache.ignite.internal.sql.engine.exec.rel.StorageScanNode.requestNextBatch(StorageScanNode.java:186)
 ~[main/:?]
        at 
org.apache.ignite.internal.sql.engine.exec.rel.StorageScanNode.push(StorageScanNode.java:158)
 ~[main/:?]
        at 
org.apache.ignite.internal.sql.engine.exec.ExecutionContext.lambda$execute$0(ExecutionContext.java:320)
 ~[main/:?]
{code}



was (Author: JIRAUSER298618):
An issue with indexes is fixed, now it triggers ClassCastException that looks 
similar to IGNITE-19976 Sql: ClassCastException when trying to select from 
indexed smallint column.


> Sql: Data may be unavailable after creation of index
> ----------------------------------------------------
>
>                 Key: IGNITE-21662
>                 URL: https://issues.apache.org/jira/browse/IGNITE-21662
>             Project: Ignite
>          Issue Type: Bug
>    Affects Versions: 3.0.0-beta2
>            Reporter: Andrey Khitrin
>            Priority: Major
>              Labels: ignite-3, sql
>
> Steps to reproduce:
> {code:sql}
> create table index_test_table_2(id INTEGER not null, field_1 TINYINT not 
> null, field_2 SMALLINT not null, field_3 INTEGER not null, field_4 FLOAT not 
> null, field_5 VARCHAR(50) not null, primary key (id));
> create index index_test_index_2_1 on index_test_table_2 using TREE (field_2, 
> field_3, field_5);
> insert into index_test_table_2(...)
> -- try to select one of inserted values
> select * from index_test_table_2 where  WHERE field_2 = .. AND field_3 = .. 
> AND field_5 = '..';
> {code}
> Expected result: a row is selected.
> Actual result: no rows are selected.
> The issue is flaky and sometimes is masked by IGNITE-19976.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to