[ 
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 (it is equal to 
ignite.transaction.timeout defaulting to 10 seconds)

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


> 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: 3h 40m
>  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 
> ignite.transaction.timeout defaulting to 10 seconds)



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

Reply via email to