-
Notifications
You must be signed in to change notification settings - Fork 4.1k
sql, ccl/sqlproxyccl: connection migration tracking issue #76000
Copy link
Copy link
Closed
Labels
C-enhancementSolution expected to add code/behavior + preserve backward-compat (pg compat issues are exception)Solution expected to add code/behavior + preserve backward-compat (pg compat issues are exception)T-serverless
Description
This issue tracks the implementation of the connection migration mechanism, as described in this RFC: #75707.
- add postgres interceptor for message forwarding (ccl/sqlproxyccl: add postgres interceptors for message forwarding #76006)
- update PeekMsg to return message size instead of body size. See comment here. (ccl/sqlproxyccl: update PeekMsg to return message size instead of body size #76562)
- add
SHOW TRANSFER STATE [ WITH <transfer_key> ]observer statement (sql: add SHOW TRANSFER STATE observer statement #76127) - refactor connection establishment logic into a connector component (ccl/sqlproxyccl: add connector component and support for session revival token #76417)
- add basic forwarder component with ConnectionCopy logic (ccl/sqlproxyccl: add basic forwarder component #76167)
- update ConnectionCopy logic to use interceptors (ccl/sqlproxyccl: replace ConnectionCopy logic in forwarder with interceptors #76560)
- add token-based auth into connector component (ccl/sqlproxyccl: add connector component and support for session revival token #76417)
- add migration logic to forwarder (ccl/sqlproxyccl: complete connection migration support in the forwarder #76805)
- cleanup interceptor API (ccl/sqlproxyccl: cleanup PG interceptor APIs #76613). It was difficult to update the destination of interceptors without this.
- observability: metrics and logging (See ccl/sqlproxyccl: complete connection migration support in the forwarder #76805)
- "There should be metrics tracking the number of failed transfers and the number of connections closed mid-transfer. The metrics should be visible on the sqlproxy grafana page."
- The grafana updates will be part of CC, and will be omitted here.
- Attempt to refactor expectNextServerMessage again. The approach of us checking the message size can be confusing as-is here. (ccl/sqlproxyccl: add helpers related to connection migration #77109)
- Add metrics to measure DataRow size. This will allow us to figure out what's the right size. (ccl/sqlproxyccl: add connection migration-related metrics #77700)
- clean up interceptor benchmarks (ccl/sqlproxyccl: add benchmarks for connection copying logic #76429)
- clean up TenantResolver interface (ccl/sqlproxyccl: rename tenant.Resolver to tenant.DirectoryCache #78276)
Related Epics:
- https://cockroachlabs.atlassian.net/browse/CC-5385
- https://cockroachlabs.atlassian.net/browse/CC-5387
Jira issue: CRDB-12912
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
C-enhancementSolution expected to add code/behavior + preserve backward-compat (pg compat issues are exception)Solution expected to add code/behavior + preserve backward-compat (pg compat issues are exception)T-serverless