[
https://issues.apache.org/jira/browse/IGNITE-17260?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alexander Lapin updated IGNITE-17260:
-------------------------------------
Fix Version/s: 3.0.0-beta1
> Enrich IgniteTransactions and Transaction interfaces with RO related methods
> ----------------------------------------------------------------------------
>
> Key: IGNITE-17260
> URL: https://issues.apache.org/jira/browse/IGNITE-17260
> Project: Ignite
> Issue Type: Improvement
> Reporter: Alexander Lapin
> Assignee: Alexander Lapin
> Priority: Major
> Labels: ignite-3, transaction3_ro
> Fix For: 3.0.0-beta1
>
>
> It's required to explicitly register an intent of starting readOnly
> transaction, so following decorator producer is expected in IgniteTransactions
> {code:java}
> /**
> * Decorated {@code IgniteTransactions} instance that will start read-only
> transactions.
> *
> * @return Decorated {@code IgniteTransactions} instance that will start
> read-only transactions.
> */
> IgniteTransactions readOnly(); {code}
> Besides that Transaction interface should be extended with
> {code:java}
> boolean isReadOnly();{code}
> and
> {code:java}
> HybridTimestamp timestamp();{code}
> methods.
> And finally three more overloaded methods will be added to the InternalTable
> {code:java}
> CompletableFuture<BinaryRow> get(
> BinaryRowEx keyRow,
> @Nullable InternalTransaction tx,
> @NotNull ClusterNode recipientNode
> );
>
> CompletableFuture<Collection<BinaryRow>> getAll(
> Collection<BinaryRowEx> keyRows,
> @Nullable InternalTransaction tx,
> @NotNull ClusterNode recipientNode
> );
>
> Publisher<BinaryRow> scan(
> int p,
> @Nullable InternalTransaction tx,
> @NotNull ClusterNode recipientNode
> );
> {code}
> Please, pay attention, that new parameter @NotNull ClusterNode recipientNode
> is added.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)