You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Roman Puchkovskiy (Jira)" <ji...@apache.org> on 2024/12/26 13:47:00 UTC

[jira] [Updated] (IGNITE-24120) Sort out InternalTable#get() which does not accept transaction

     [ https://issues.apache.org/jira/browse/IGNITE-24120?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Roman Puchkovskiy updated IGNITE-24120:
---------------------------------------
    Summary: Sort out InternalTable#get() which does not accept transaction  (was: Remove InternalTable#get() which does not accept transaction)

> Sort out InternalTable#get() which does not accept transaction
> --------------------------------------------------------------
>
>                 Key: IGNITE-24120
>                 URL: https://issues.apache.org/jira/browse/IGNITE-24120
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Roman Puchkovskiy
>            Priority: Major
>              Labels: ignite-3
>
> In production code, the mentioned method is always used when there is a transaction, so it can be changed to accept transactionId (which is needed in non-direct RO replica requests to make it possible to lock LWM).
> On the other hand, in test code, this method is always used in contextx where a transaction is not started. It seems that this is because we don't have even an internal API to create an RO transaction with a given readTimestamp.
> It seems weird that an interface has a method that is only needed for tests (especially given that this method makes it more difficult to implement production code: txId is not available).
> We could do one of the following:
>  # Introduce an internal API that would allow to create a transaction with a given readTimestamp and then switch in tests to InternalTable#get() that accepts a transaction
>  # Proceed using the test-only method, but add txId as a parameter to it and always pass some fake txId from tests



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