Implement remote transactions in gremlin-driver#3329
Open
kenhuuu wants to merge 2 commits intomaster-tx-serverfrom
Open
Implement remote transactions in gremlin-driver#3329kenhuuu wants to merge 2 commits intomaster-tx-serverfrom
kenhuuu wants to merge 2 commits intomaster-tx-serverfrom
Conversation
4951565 to
32b9653
Compare
bee7717 to
b521d60
Compare
32b9653 to
534465e
Compare
b521d60 to
f4d9d32
Compare
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.
f4d9d32 to
77732f4
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds the initial implementation of remote transactions over HTTP.
VOTE +1