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

Maksim Timonin commented on IGNITE-8801:
----------------------------------------

[~scottmf] hi!

This ticket didn't remove the support, it just changed default behavior. The 
opportunity to use atomic operations within transaction can be enabled with the 
IGNITE_ALLOW_ATOMIC_OPS_IN_TX system property set to `true`. It works for 2.15.

In 2.16 version this opportunity was completely removed in the ticket 
IGNITE-20579. There was a huge refactoring of Ignite transaction protocol in 
tickets https://issues.apache.org/jira/browse/IGNITE-19844 and 
https://issues.apache.org/jira/browse/IGNITE-13871.

This behavior makes transactional code more complex and makes bugs more 
difficult to fix. In more details [~av] can help. It looks like the discussion 
of the final decision wasn't properly written down on the devlist.

While there are scenarios where this behavior might look applicable, it is not 
safe enough. This is more of an "undocumented feature" than a proper use of 
Ignite. It is better to split operations across atomic and transactional caches 
over time, or threads.

You can describe your scenario, maybe we can recommend a solution.

 

> Change default behaviour of atomic operations inside transactions
> -----------------------------------------------------------------
>
>                 Key: IGNITE-8801
>                 URL: https://issues.apache.org/jira/browse/IGNITE-8801
>             Project: Ignite
>          Issue Type: Sub-task
>            Reporter: Ryabov Dmitrii
>            Assignee: Julia Bakulina
>            Priority: Minor
>              Labels: ise
>             Fix For: 2.15
>
>          Time Spent: 5h
>  Remaining Estimate: 0h
>
> Need to change default behaviour of atomic operations to fail inside 
> transactions.
> 1) Remove IGNITE_ALLOW_ATOMIC_OPS_IN_TX system property.
> 2) Set default value to restrict atomic operations in 
> {{CacheOperationContext}} constructor without arguments and arguments for 
> calls of another constructor.
> 3) Fix javadocs.
> As per the latest round of discussion on Ignite Dev List as of 28/10/2022 we 
> agreed on the following:
> 1) Revert deprecation IGNITE-17916 - reverted
> 2) Change default value in 2.15.
> 3) Notify users in release notes, an exception message - how to change the
> behavior back.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to