Skip to content

fix(epoxy): use vbare#4616

Merged
MasterPtato merged 1 commit intomainfrom
04-12-fix_epoxy_use_vbare
Apr 13, 2026
Merged

fix(epoxy): use vbare#4616
MasterPtato merged 1 commit intomainfrom
04-12-fix_epoxy_use_vbare

Conversation

@MasterPtato
Copy link
Copy Markdown
Contributor

@MasterPtato MasterPtato commented Apr 12, 2026

Fixes RVT-6176

Copy link
Copy Markdown
Contributor Author

MasterPtato commented Apr 12, 2026

@claude
Copy link
Copy Markdown

claude bot commented Apr 12, 2026

PR Review: fix(epoxy): use vbare

Bug: Double-deserialize in get_local.rs

In get_local.rs, after let cache_value = cache_key.deserialize(&value)? returns a CachedValue, the code then calls cache_key.deserialize(&value) a second time on the inner cache_value.value bytes (raw KV payload). Those bytes are not versioned-CachedValue-encoded, so this will fail at runtime.

Fix: return the already-deserialized value directly:

cache_value: cache_value.value.is_some().then_some(cache_value)

Issue: Modifying envoy-protocol/v1.bare

Per CLAUDE.md: Never modify an existing published .bare protocol version. Removing serverlessDrainGracePeriod from ProtocolMetadata shifts the field layout (BARE is position-dependent), breaking any older envoy build. Move to v2.bare or document v1 was never deployed.

Positives

  1. CachedValue with value=None replaces the empty-Vec sentinel hack correctly
  2. vbare versioned headers are the right architectural direction
  3. CommittedValue in epoxy-protocol is a clean type consolidation
  4. matches!() for is_serverless is cleaner
  5. Test imports updated correctly

The double-deserialize bug and v1.bare modification are the two items to address before merging.

@linear
Copy link
Copy Markdown

linear bot commented Apr 12, 2026

@MasterPtato MasterPtato force-pushed the 04-12-fix_dont_upsert_for_ensure_if_missing branch from f94f435 to 896a1bb Compare April 13, 2026 00:20
@MasterPtato MasterPtato force-pushed the 04-12-fix_epoxy_use_vbare branch from 9a8e0a8 to 143127a Compare April 13, 2026 00:20
Copy link
Copy Markdown
Contributor Author

MasterPtato commented Apr 13, 2026

Merge activity

  • Apr 13, 12:21 AM UTC: A user started a stack merge that includes this pull request via Graphite.
  • Apr 13, 12:44 AM UTC: Graphite rebased this pull request as part of a merge.
  • Apr 13, 12:44 AM UTC: @MasterPtato merged this pull request with Graphite.

@MasterPtato MasterPtato changed the base branch from 04-12-fix_dont_upsert_for_ensure_if_missing to graphite-base/4616 April 13, 2026 00:41
@MasterPtato MasterPtato changed the base branch from graphite-base/4616 to main April 13, 2026 00:42
@MasterPtato MasterPtato force-pushed the 04-12-fix_epoxy_use_vbare branch from 143127a to e2fb502 Compare April 13, 2026 00:43
@MasterPtato MasterPtato merged commit be09242 into main Apr 13, 2026
5 of 12 checks passed
@MasterPtato MasterPtato deleted the 04-12-fix_epoxy_use_vbare branch April 13, 2026 00:44
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.

2 participants