Skip to content

Implement remote transactions in gremlin-driver#3329

Open
kenhuuu wants to merge 2 commits intomaster-tx-serverfrom
master-tx-client
Open

Implement remote transactions in gremlin-driver#3329
kenhuuu wants to merge 2 commits intomaster-tx-serverfrom
master-tx-client

Conversation

@kenhuuu
Copy link
Contributor

@kenhuuu kenhuuu commented Mar 17, 2026

Adds the initial implementation of remote transactions over HTTP.

VOTE +1

kenhuuu added 2 commits March 20, 2026 09:42
The ResultQueue class was an unnecessary indirection layer between Netty
and the ResultSet. This was probably more useful when the protocol was
WebSocket-based and there were multiple requests on the same connection
but it doesn't seem to have much of a purpose anymore.

This new setup also potentially works better for HTTP/2 if the high
level, stream-based API is used. If the frame-based API is used then
changes might be required in the future.
Introduce HttpRemoteTransaction and TransactionRemoteConnection to
manage transaction lifecycle. RequestSubmitter and RequestSubmitterAsync
interfaces were extracted out of Client to ensure transactions would
have the same submission interface. Since Clients and Transactions now have
a similar submission interface, they are both obtained from a Cluster.
Transactions are meant to be short-lived then closed and Clients remain
long-lived and preferrably re-used.
@kenhuuu kenhuuu marked this pull request as ready for review March 20, 2026 23:49
@kenhuuu kenhuuu changed the title Master tx client Implement remote transactions in gremlin-driver Mar 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant