[
https://issues.apache.org/jira/browse/IGNITE-23747?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17912771#comment-17912771
]
Roman Puchkovskiy edited comment on IGNITE-23747 at 1/14/25 7:43 AM:
---------------------------------------------------------------------
The PR is revived after being on hold for some time
was (Author: rpuch):
The PR is revived
> Support timeouts for RO transactions
> ------------------------------------
>
> Key: IGNITE-23747
> URL: https://issues.apache.org/jira/browse/IGNITE-23747
> Project: Ignite
> Issue Type: Improvement
> Reporter: Roman Puchkovskiy
> Assignee: Roman Puchkovskiy
> Priority: Major
> Labels: ignite-3, important
> Fix For: 3.0
>
> Time Spent: 1h 10m
> Remaining Estimate: 0h
>
> TransactionOptions allows to specify a transaction timeout, but the timeout
> is not handled; even more, if it's set, an attempt to start a transaction
> fails because timeouts are not supported yet.
> We should support timeouts for RO transactions.
> For an RO transaction, a timeout defines maximum amount of time the
> transaction can hold LWMs on nodes participating in the transaction. That is,
> on any such node its local LWM can be held/locked only until txBeginTime +
> txTimeout (txBeginTime can be extracted from transactionId).
> If the user did not specify a timeout in TransactionOptions or did not
> provide TransactionOptions when creating an RO transaction, a default timeout
> is used (which is proposed to be equal to dataAvailabilityTime).
> Definition of done:
> # It's possible to start an RO transaction with a timeout
> # When registering an RO transaction with a local LWM, its timeout defines
> the moment when the registration will automatically be cancelled (allowing
> the LWM to proceed and making the transaction expired on this node)
> # A default timeout is used if not provided by the user (it is equal to
> dataAvailabilityTime)
--
This message was sent by Atlassian Jira
(v8.20.10#820010)