Evgeny Stanilovsky created IGNITE-19663:
-------------------------------------------
Summary: Add possibility to check transaction state for test only
purpose.
Key: IGNITE-19663
URL: https://issues.apache.org/jira/browse/IGNITE-19663
Project: Ignite
Issue Type: Wish
Components: general
Affects Versions: 3.0.0-beta1
Reporter: Evgeny Stanilovsky
For now there huge number of tests (for example
ItSqlAsynchronousApiTest#implicitTransactionsStates) that use reflection for
detection transaction completeness. This is erroneous way. So required *test
only* functionality that can shows call number difference between
TxManager.begin(*boolean*) and Transaction.(commit|rollback).
Another words: required functionality that detects that no transactions without
*Transaction.(commit|rollback)* call are present in appropriate TxManager.
Pseudo code, as i can see it
{noformat}
TxManager txManagerInstance = ... (so this is a questionable how can we get it
without reflection)
tx = txManagerInstance.begin(RW or RO);
...
some code, probably sql corner cases...
call_sql_operation_with_OUTER_tx(tx, ...);
tx.commit();
call_sql_operation_with_INNER_tx(null, ...); (tx will burn and finalize
internally)
....
assertTrue(txManagerInstance.no_transactions_without_commit_or_rollback_call())
{noformat}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)