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

Pavel Tupitsyn commented on IGNITE-18716:
-----------------------------------------

Merged to main: 98bac9aac6d60a2c999efc487c4230c277c8e4a2

> Replace withTimeout and readOnly in IgniteTransactions with TransactionOptions
> ------------------------------------------------------------------------------
>
>                 Key: IGNITE-18716
>                 URL: https://issues.apache.org/jira/browse/IGNITE-18716
>             Project: Ignite
>          Issue Type: Improvement
>    Affects Versions: 3.0.0-beta1
>            Reporter: Pavel Tupitsyn
>            Assignee: Pavel Tupitsyn
>            Priority: Major
>              Labels: ignite-3
>             Fix For: 3.0.0-beta2
>
>          Time Spent: 2h
>  Remaining Estimate: 0h
>
> *IgniteTransactions* interface has *withTimeout* and *readOnly* methods, 
> which return a new instance of the interface that behaves differently. This 
> approach proved to be not very good in Ignite 2.x (withKeepBinary etc):
> * Not clear if a given instance has some of those things enabled.
> * Not possible to go back from readOnly to normal mode.
> * Allocates one or more objects on heap (if we need to set multiple things, 
> some of those objects go straight to garbage).
> Introduce *TransactionOptions* class instead, and pass it to *begin*, 
> *beginAsync*, *runInTransaction*, etc.
> * *Timeout* does not make sense for *readOnly* transactions. Throw an 
> exception when both of those properties are set.



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

Reply via email to