Skip to content

Move Snake integration directly into smartconnpool waitlist 3/3 - #920

Draft
bgwines wants to merge 3 commits into
bwines/snake-22-snake-queuefrom
bwines/snake-22-smartconnpool
Draft

Move Snake integration directly into smartconnpool waitlist 3/3#920
bgwines wants to merge 3 commits into
bwines/snake-22-snake-queuefrom
bwines/snake-22-smartconnpool

Conversation

@bgwines

@bgwines bgwines commented Aug 21, 2026

Copy link
Copy Markdown

Background / Why?

Snake and smartconnpool currently maintain separate queues for the same connection wait. This replaces smartconnpool’s waitlist list with Snake’s queue so each pool has one waitlist-owned Snake and one mutex governing enqueue, dequeue, cancellation, shedding, and connection handoff. Snake no longer models connection capacity, holders, or release lifecycle; smartconnpool remains responsible for those concerns. Valve IDs and priorities flow into the waitlist only when a connection is unavailable, while unconfigured pools use an always-present disabled Snake.

Testing

go test ./go/pools/smartconnpool

go test ./go/vt/vttablet/tabletserver/loadshed

go test ./go/vt/vttablet/tabletserver -run Test(GetConnectionLogStats|PriorityFromOptions|DebugEnv)

AI assisted with development. Every line of code was either written by or carefully reviewed by me :)

@github-actions github-actions Bot added this to the v22.0.4 milestone Aug 21, 2026
@bgwines bgwines changed the title Move Snake gating into connection pools Move Snake integration directly into smartconnpool waitlist Aug 21, 2026
@bgwines
bgwines force-pushed the bwines/snake-22-smartconnpool branch 12 times, most recently from 6c08053 to 08cab3c Compare August 23, 2026 05:51
@bgwines
bgwines changed the base branch from bwines/snake-22 to bwines/snake-22-type-params August 23, 2026 05:53
Base automatically changed from bwines/snake-22-type-params to bwines/snake-22 August 23, 2026 18:48
@bgwines
bgwines force-pushed the bwines/snake-22-smartconnpool branch 2 times, most recently from 6063bdc to 2da631c Compare August 23, 2026 19:02
@bgwines
bgwines changed the base branch from bwines/snake-22 to bwines/snake-22-snake-queue August 23, 2026 19:02
@bgwines bgwines changed the title Move Snake integration directly into smartconnpool waitlist Move Snake integration directly into smartconnpool waitlist 3/3 Aug 23, 2026
@bgwines
bgwines force-pushed the bwines/snake-22-snake-queue branch from 74d6f67 to fd81e7c Compare August 23, 2026 19:45
@bgwines
bgwines force-pushed the bwines/snake-22-smartconnpool branch from 2da631c to 63d9a08 Compare August 23, 2026 19:47
@bgwines
bgwines force-pushed the bwines/snake-22-snake-queue branch 2 times, most recently from 7609baa to 484d937 Compare August 23, 2026 20:13
@bgwines
bgwines force-pushed the bwines/snake-22-smartconnpool branch 2 times, most recently from fe6be2a to 023c0dc Compare August 23, 2026 20:46
@bgwines
bgwines force-pushed the bwines/snake-22-snake-queue branch from 5901915 to aaed370 Compare August 23, 2026 21:11
@bgwines
bgwines force-pushed the bwines/snake-22-smartconnpool branch from 023c0dc to c53f6fc Compare August 23, 2026 21:11
@bgwines
bgwines force-pushed the bwines/snake-22-snake-queue branch from aaed370 to c5d8643 Compare August 23, 2026 21:21
@bgwines
bgwines force-pushed the bwines/snake-22-smartconnpool branch from c53f6fc to ac1efb2 Compare August 23, 2026 21:21
@bgwines
bgwines force-pushed the bwines/snake-22-snake-queue branch from c5d8643 to 4beb66b Compare August 24, 2026 02:03
AI assisted with development. Every line of code was either written by or carefully reviewed by me :)

Signed-off-by: Brett Wines <bwines@slack-corp.com>
AI assisted with development. Every line of code was either written by or carefully reviewed by me :)

Signed-off-by: Brett Wines <bwines@slack-corp.com>
AI assisted with development. Every line of code was either written by or carefully reviewed by me :)

Signed-off-by: Brett Wines <bwines@slack-corp.com>
@bgwines
bgwines force-pushed the bwines/snake-22-smartconnpool branch from ac1efb2 to 6235a2d Compare August 24, 2026 02:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant