[
https://issues.apache.org/jira/browse/IGNITE-20894?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17813313#comment-17813313
]
Alexander Lapin commented on IGNITE-20894:
------------------------------------------
[~Denis Chudov] Generally LGTM, few minors.
> Add tests for ensuring transactional guarantees
> -----------------------------------------------
>
> Key: IGNITE-20894
> URL: https://issues.apache.org/jira/browse/IGNITE-20894
> Project: Ignite
> Issue Type: Bug
> Affects Versions: 3.0
> Reporter: Alexey Scherbakov
> Assignee: Denis Chudov
> Priority: Major
> Labels: ignite-3
> Fix For: 3.0.0-beta2
>
> Time Spent: 1h 50m
> Remaining Estimate: 0h
>
> h3. Motivation
> The first purpose of the transaction flow tests is to preserve consistency in
> storage. The reason for this might be partial commits due to executing
> commits and rollbacks on one transaction. The second is avoiding redundant or
> permanent locks that can originate from an asynchronous operation happening
> in parallel with commit/rollback.
> h3. Definition of done
> Here is a list of tests that should be present:
> # Multiple commits of the transaction from different threads. There should
> be also some multithreaded enlists (via get/put operations) which should fail
> if the finishing process of the transaction has already started (transition
> to FINISHING state is done). After the completion of all asynchronous
> operations there should be no locks left on server side (we should check that
> the failed enlisting operations haven't left any locks as well).
> # Same as 1, but there should be concurrent rollbacks instead of commits.
> # Same as 1, but there should be random finish operations for transaction,
> there can be commits after rollback and rollbacks after commit.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)