Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
3.0.0-beta1
Description
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
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.
Attachments
Issue Links
- is related to
-
IGNITE-19681 Thin 3.0: Tx partition awareness
- Resolved