ignite-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rajesh (Jira)" <j...@apache.org>
Subject [jira] [Commented] (IGNITE-12319) Nested Transaction support in Ignite
Date Wed, 23 Oct 2019 10:00:00 GMT

    [ https://issues.apache.org/jira/browse/IGNITE-12319?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16957716#comment-16957716

Rajesh commented on IGNITE-12319:

[~Pavlukhin], My views on this:

In [IGNITE-4188|https://issues.apache.org/jira/browse/IGNITE-4188], the user needs to be aware
of the transaction that is running currently to open a save point and then rollback to that
state but for a third party jar which gets called they might not be aware of the transaction
running in the outer code and when a new transaction is opened in the code then it would fail
with an exception _"Transaction is held by current thread"_, which will not help the purpose.
I feel save point feature, would help for users who have the current transaction instance
and are aware of outer transaction.

Also, committing the inner transaction irrespective of whether the outer transaction fails
is not possible using save point.

I feel the issue is not identical.

The use case would be something like :-

//Current code
Begin transaction 
    ....some code ( Cache A,Cache B )
    ...call third party code
    .. some code ( Cache A, Cache B )
Commit Transaction
      Rollback Transaction
     Close Transaction
//Third party code 
Begin Transaction
     .. some code ( Cache C )
Commit Transaction
      Rollback Transaction
     Close Transaction



> Nested Transaction support in Ignite
> ------------------------------------
>                 Key: IGNITE-12319
>                 URL: https://issues.apache.org/jira/browse/IGNITE-12319
>             Project: Ignite
>          Issue Type: Bug
>    Affects Versions: 2.7.6
>            Reporter: Rajesh
>            Priority: Major
> There is no support for Nested transaction. For example, if there is an outer transaction
which works on few caches and within that there is a transaction which is opened by a third
party client to update their caches then it throws exception as current thread already has
the transaction.
> This scenario is encountered multiple times where the inner transaction needs to be committed
on success of inner transaction even if the outer transaction fails.

This message was sent by Atlassian Jira

View raw message