[ https://issues.apache.org/jira/browse/IGNITE-22390?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Maksim Zhuravkov resolved IGNITE-22390. --------------------------------------- Resolution: Invalid > Sql. Cursor::requestNextAsync returns stale results > --------------------------------------------------- > > Key: IGNITE-22390 > URL: https://issues.apache.org/jira/browse/IGNITE-22390 > Project: Ignite > Issue Type: Bug > Components: sql > Affects Versions: 3.0.0-beta2 > Reporter: Maksim Zhuravkov > Priority: Critical > Labels: ignite-3 > > The following test case begun to fail after (Sql. Avoid starting transaction > for KV operation) [ https://issues.apache.org/jira/browse/IGNITE-22263 ] > > {code:java} > package org.apache.ignite.internal.sql.engine; > import static > org.apache.ignite.internal.catalog.CatalogService.DEFAULT_STORAGE_PROFILE; > import static org.apache.ignite.internal.lang.IgniteStringFormatter.format; > import static org.apache.ignite.internal.testframework.IgniteTestUtils.await; > import static org.junit.jupiter.api.Assertions.assertEquals; > import java.util.Objects; > import org.apache.ignite.internal.app.IgniteImpl; > import org.apache.ignite.internal.sql.BaseSqlIntegrationTest; > import org.apache.ignite.internal.sql.engine.property.SqlProperties; > import org.apache.ignite.internal.sql.engine.property.SqlPropertiesHelper; > import org.apache.ignite.internal.tx.HybridTimestampTracker; > import org.apache.ignite.internal.util.AsyncCursor.BatchedResult; > import org.gridgain.internal.security.context.GridGainSecurity; > import org.gridgain.internal.security.context.SecurityContext; > import org.junit.jupiter.api.Test; > public class ItCursor extends BaseSqlIntegrationTest { > @Override > protected int initialNodes() { > return 1; > } > @Test > public void testCursor() { > int rowsCount = 2000; > sql("create zone test_zone with partitions=1, replicas=1, > storage_profiles='" + DEFAULT_STORAGE_PROFILE + "'"); > sql("create table T (ID INT PRIMARY KEY, VAL INT) with > primary_zone='TEST_ZONE'"); > sql(format("insert into T select X, X from table(system_range(1, > {}))", rowsCount)); > String selectAll = "select * from T"; > AsyncSqlCursor<InternalSqlRow> cursor1 = openSqlCursor(selectAll); > await(cursor1.onFirstPageReady()); > BatchedResult<InternalSqlRow> f = > await(cursor1.requestNextAsync(1000)); > assertEquals(1000, f.items().size()); // f.items().size() is zero > } > > private AsyncSqlCursor<InternalSqlRow> openSqlCursor(String sql) { > IgniteImpl node = CLUSTER.node(0); > SqlQueryProcessor qryProc = (SqlQueryProcessor) node.queryEngine(); > SqlProperties props = SqlPropertiesHelper.emptyProperties(); > SecurityContext securityCtx = GridGainSecurity.systemContext(); > return Objects.requireNonNull(await(qryProc.queryAsync(props, new > HybridTimestampTracker(), null, sql, securityCtx))); > } > } > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)