You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Kill the query on the connection (kill query <thread_id>)
When a kill connection is executed, VTGate should:
interrupt any running query
rollback any open transactions
close the connection with the client
When a kill connection is executed, VTGate should:
interrupt any running query
The thread_id is currently sent in the handshake packet to the client and the client uses this thread_id to send any kill statement on the new connection.
As the kill statement is sent on a different connection there are multiple scenarios here:
Single VTGate
Multiple VTGates
Using GRPC API of VTGates.
Scenario 1: Single VTGate
This is a straightforward implementation where VTGate could look up the thread_id and take kill action on it.
Scenario 2: Multiple VTGate
This would require coordination between VTGates related to thread_id. In the current architecture, VTGates do not interact with each other.
Currently, out of scope.
Scenario 3: Grpc API VTGate
This cannot be supported as VTGate have little to no information about the client and the connection as all the information is stored with the client. Also, the grpc connections do not have a thread_id associated with it which is a MySQL protocol information. Hence, this is out of scope.
The text was updated successfully, but these errors were encountered:
harshit-gangal
changed the title
Add Support for Kill Statement
RFC: Add Support for Kill Statement
Jul 5, 2023
Kill statement provides 2 options to the clients
kill <thread_id>
)kill query <thread_id>
)When a kill connection is executed, VTGate should:
When a kill connection is executed, VTGate should:
The
thread_id
is currently sent in the handshake packet to the client and the client uses this thread_id to send any kill statement on the new connection.As the kill statement is sent on a different connection there are multiple scenarios here:
Scenario 1: Single VTGate
This is a straightforward implementation where VTGate could look up the thread_id and take kill action on it.
Scenario 2: Multiple VTGate
This would require coordination between VTGates related to thread_id. In the current architecture, VTGates do not interact with each other.
Currently, out of scope.
Scenario 3: Grpc API VTGate
This cannot be supported as VTGate have little to no information about the client and the connection as all the information is stored with the client. Also, the grpc connections do not have a
thread_id
associated with it which is a MySQL protocol information. Hence, this is out of scope.The text was updated successfully, but these errors were encountered: