[
https://issues.apache.org/jira/browse/IGNITE-19916?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alexander Lapin updated IGNITE-19916:
-------------------------------------
Description:
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()
was:
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()
> 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
> 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)