Refactoring of transaction handling in tabletserver#6176
Refactoring of transaction handling in tabletserver#6176systay merged 33 commits intovitessio:masterfrom
Conversation
10013fe to
c7fb240
Compare
sougou
left a comment
There was a problem hiding this comment.
I now understand the reasoning behind this, and I agree with the approach. Essentially, we have the following layers:
txExecutor: per-request object. Nothing more than a parameter wrapper. It could stay the way it is, if it cannot move to txEngine.
txEngine: Deals with transaction IDs.
txPool: Adds transactional semantics to statefulPool, and deals with real connections.
statefulPool: Manages transitions between the various sub-pools.
I think even the names can remain. We've used this nomenclature in all other places:
Executor: contains per-request logic and parameters.
Engine: main entry point for everything that concerns that service.
Pool: A pool of connections: and txPool is a pool that wraps statefulPool.
There was a problem hiding this comment.
rename to statefulConnectionPool, or scp.
dc831bb to
8c1c31c
Compare
sougou
left a comment
There was a problem hiding this comment.
Things look good at a high level. So, I'm 👍 if you've reviewed each other's work.
Signed-off-by: Andres Taylor <andres@planetscale.com>
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
Signed-off-by: Andres Taylor <andres@planetscale.com>
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
Signed-off-by: Andres Taylor <andres@planetscale.com>
…nd the tx code Signed-off-by: Andres Taylor <andres@planetscale.com>
Signed-off-by: Andres Taylor <andres@planetscale.com>
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
* Renamed TxConnection to DedicatedConnection * Moved RecordQuery to TxProperties * Made made the release reasons an enum Signed-off-by: Andres Taylor <andres@planetscale.com>
Signed-off-by: Andres Taylor <andres@planetscale.com>
Signed-off-by: Andres Taylor <andres@planetscale.com>
Signed-off-by: Andres Taylor <andres@planetscale.com>
Signed-off-by: Andres Taylor <andres@planetscale.com>
…nnection Signed-off-by: Harshit Gangal <harshit@planetscale.com>
Signed-off-by: Andres Taylor <andres@planetscale.com>
Signed-off-by: Andres Taylor <andres@planetscale.com>
Signed-off-by: Andres Taylor <andres@planetscale.com>
Signed-off-by: Andres Taylor <andres@planetscale.com>
Signed-off-by: Andres Taylor <andres@planetscale.com>
Signed-off-by: Andres Taylor <andres@planetscale.com>
Signed-off-by: Andres Taylor <andres@planetscale.com>
Signed-off-by: Andres Taylor <andres@planetscale.com>
Signed-off-by: Andres Taylor <andres@planetscale.com>
Signed-off-by: Andres Taylor <andres@planetscale.com>
Signed-off-by: Andres Taylor <andres@planetscale.com>
Signed-off-by: Andres Taylor <andres@planetscale.com>
Signed-off-by: Andres Taylor <andres@planetscale.com>
Signed-off-by: Andres Taylor <andres@planetscale.com>
Signed-off-by: Andres Taylor <andres@planetscale.com>
Signed-off-by: Andres Taylor <andres@planetscale.com>
…_pool Signed-off-by: Harshit Gangal <harshit@planetscale.com>
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
go/vt/proto/query/query.pb.go
Outdated
There was a problem hiding this comment.
this file should not be changed.
There was a problem hiding this comment.
why release needs to be called after rollbackAndRelease?
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
650664a to
a446396
Compare
No description provided.