Alexander Lapin created IGNITE-19916:
----------------------------------------

             Summary: 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


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