[
https://issues.apache.org/jira/browse/IGNITE-22090?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alexey Scherbakov reassigned IGNITE-22090:
------------------------------------------
Assignee: Alexey Scherbakov
> Thin 3.0: Avoid TX_BEGIN round-trip
> -----------------------------------
>
> Key: IGNITE-22090
> URL: https://issues.apache.org/jira/browse/IGNITE-22090
> Project: Ignite
> Issue Type: Improvement
> Components: thin client
> Affects Versions: 3.0.0-beta1
> Reporter: Pavel Tupitsyn
> Assignee: Alexey Scherbakov
> Priority: Major
> Labels: ignite-3
> Fix For: 3.1
>
>
> IGNITE-19681 implements tx partition awareness, where TX_BEGIN request is
> performed together with the first enlisted operation. However, this still
> involves a separate round-trip to start the transaction.
> We can change the protocol to do two things in one go:
> * Start the transaction
> * Enlist first operation
> See the comment from [~ascherbakov]:
> https://github.com/apache/ignite-3/pull/3640#discussion_r1575943518
> {code}
> This can be optimized even further.
> Currently we still have +1RTT due to begin tx request/response here, which
> may be sensitive to small transactions.
> A transaction should be started on first map request.
> For this to work logical client tx id should be assigned on client.
> For example, id can consist of local client counter combined with client
> unique id assigned by server on handshake.
> One bit of 64 bit id is reserved for "first" flag.
> If an operation is "first", the txn is implicitly started.
> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)