Skip to content

feat: add engine key ring with lazy tenant keys, deadlines and reconnect - #138

Merged
hamzakargin merged 1 commit into
mainfrom
feat/key-ring
Nov 3, 2026
Merged

hamzakargin merged 1 commit into
mainfrom
feat/key-ring

Conversation

@hamzakargin

Copy link
Copy Markdown
Member
  • keys::Ring per core: lazy single-flight Open, bounded clock cache of working keys, call deadlines (short for open and unwrap, long for vault writes), reconnect with backoff, Hello on every connect; a changed naming key fails the ring and clears its cache.
  • A timed-out call drops the connection only when a Hello probe also fails.
  • Client::close shuts the stream down; a dropped client closes its connection.
  • sched::Keyring adapts the ring to KeySource.
  • KeyError::Failed: a failed ring or vault fails start instead of waiting.
  • Queue load skips records whose header does not match their tenant or shard before asking for keys.
  • Queue naming reports key failures as Refusal::Keys and counts them apart.

Part of #129

@hamzakargin
hamzakargin enabled auto-merge (squash) November 3, 2026 08:53
@hamzakargin
hamzakargin merged commit 8ff9983 into main Nov 3, 2026
7 checks passed
@hamzakargin
hamzakargin deleted the feat/key-ring branch November 3, 2026 09:04
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