[
https://issues.apache.org/jira/browse/IGNITE-23747?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Roman Puchkovskiy updated IGNITE-23747:
---------------------------------------
Description:
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
was:
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;
it is to be defined, but cannot be infinite.
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
> 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
>
> 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
--
This message was sent by Atlassian Jira
(v8.20.10#820010)