[
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)