[
https://issues.apache.org/jira/browse/IGNITE-19916?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alexander Lapin updated IGNITE-19916:
-------------------------------------
Component/s: sql
> TX SQL tests refactoring with the help of @TestOnly IgniteImpl#txManager and
> TxManager#pending
> -----------------------------------------------------------------------------------------------
>
> Key: IGNITE-19916
> URL: https://issues.apache.org/jira/browse/IGNITE-19916
> Project: Ignite
> Issue Type: Improvement
> Components: sql
> Reporter: Alexander Lapin
> Priority: Major
> Labels: ignite-3
>
> h3. Motivation
> Rather often it's required to check whether all transactions that were
> started by SQL are properly finished. Currently, reflection along with crappy
> txnState checks are used:
> {code:java}
> TxManager txManagerInternal = (TxManager)
> IgniteTestUtils.getFieldValue(CLUSTER_NODES.get(0), IgniteImpl.class,
> "txManager");
> var states = (Map<UUID, TxState>)
> IgniteTestUtils.getFieldValue(txManagerInternal, TxManagerImpl.class,
> "states");
> assertEquals(txManagerInternal.finished(), states.size());{code}
> After implementing https://issues.apache.org/jira/browse/IGNITE-19663 it
> should be possible to rewrite code above with
> {code:java}
> assertEquals(0, ((IgniteImpl) CLUSTER_NODES.get(0)).txManager().pending());
> {code}
> or similar.
> h3. Definition of Done
> All required sql tx tests are simplified through TxManager#pending()
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)