sql: make txn ID resolution work with ephemeral SQL Pod #75998
Labels
A-sql-observability
Related to observability of the SQL layer
C-enhancement
Solution expected to add code/behavior + preserve backward-compat (pg compat issues are exception)
no-issue-activity
X-stale
The Contention Event Store RFC described a mechanism to resolve a transaction ID (uniquely identifies a transaction execution) into transaction fingerprint ID (identifies historical transaction statistics). Namely, transaction ID resolution protocol.
This protocol depends on two piece of infrastructure
However, the ephemeral nature of SQL Pod introduces problems for this protocol (as it stands today) to function properly.
SQLInstanceID
in this case) stored in theTxnIntent
is no longer valid. Hence, contention event registry will not be able to route RPC request to correct node to request for transaction ID resolution.There exists other projects in CRDB today that cope with this ephemeral nature of SQL Pods. Namely, Session migrations, where a SQL connection (along with its sessions) can be seamlessly transferred from one SQL Pod to another SQL Pod. This suggests that making TxnID resolution functional in serverless is possible.
As a strawman solution, that tackles the two problem listed above:
Jira issue: CRDB-12911
The text was updated successfully, but these errors were encountered: