Skip to content

Conversation

@drmingdrmer
Copy link
Member

@drmingdrmer drmingdrmer commented Sep 22, 2025

I hereby agree to the terms of the CLA available at: https://docs.databend.com/dev/policies/cla/

Summary

feat(meta-service): add snapshot V004 streaming protocol

Implements KV-entry streaming for snapshot transmission, replacing
V003's binary chunk approach in future. The new protocol streams
individual key-value entries in protobuf format, enabling
transfers and cross-format compatibility for rolling upgrades.

Key improvements:

  • Memory efficient: processes entries as they arrive vs buffering entire snapshot
  • Cross-format support: enables rolling upgrades between snapshot formats
  • Fallback compatibility: automatically falls back to V003 for older nodes
  • Structured data: protobuf streaming vs raw binary chunks

Tests

  • Unit Test
  • Logic Test
  • Benchmark Test
  • No Test - Explain why

Type of change

  • Other

Related Issues


This change is Reviewable

@github-actions github-actions bot added the pr-feature this PR introduces a new feature to the codebase label Sep 22, 2025
@drmingdrmer drmingdrmer marked this pull request as ready for review September 23, 2025 07:06
@drmingdrmer drmingdrmer force-pushed the 379-kv-snapshot-install branch 2 times, most recently from 4ff03ab to a6f7909 Compare September 23, 2025 10:01
Implements KV-entry streaming for snapshot transmission, replacing
V003's binary chunk approach in future. The new protocol streams
individual key-value entries in protobuf format, enabling
transfers and cross-format compatibility for rolling upgrades.

Key improvements:
- Memory efficient: processes entries as they arrive vs buffering entire snapshot
- Cross-format support: enables rolling upgrades between snapshot formats
- Fallback compatibility: automatically falls back to V003 for older nodes
- Structured data: protobuf streaming vs raw binary chunks
@drmingdrmer drmingdrmer force-pushed the 379-kv-snapshot-install branch from a6f7909 to a341320 Compare September 23, 2025 10:09
@drmingdrmer drmingdrmer merged commit b26e7bf into databendlabs:main Sep 24, 2025
107 of 111 checks passed
@drmingdrmer drmingdrmer deleted the 379-kv-snapshot-install branch September 24, 2025 02:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr-feature this PR introduces a new feature to the codebase

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant