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

Reply via email to