[
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)