Skip to content

fix(storage): skip empty coalesce for hot coverage buckets - #464

Merged
fewensa merged 1 commit into
mainfrom
agt/datalens-empty-coverage-write-fast
Aug 16, 2026
Merged

fix(storage): skip empty coalesce for hot coverage buckets#464
fewensa merged 1 commit into
mainfrom
agt/datalens-empty-coverage-write-fast

Conversation

@fewensa

@fewensa fewensa commented Aug 16, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • skip foreground empty-coverage coalescing when a coverage-index-v2 bucket already has more than 128 pending deltas
  • append the new empty coverage delta and enqueue the hot bucket for background compaction instead
  • keep normal empty coalescing for small buckets

Production evidence

  • content-guild-dao Arbitrum query 495015848-495015859 fetched provider rows in 36ms
  • the same request then spent the client deadline repeatedly listing hot coverage-index-v2 buckets
  • degov split chunks from 25 to 12 to 6 without checkpoint progress

Safety

  • does not change read-side max_delta_objects=128
  • does not skip coverage publication
  • does not delete S3 objects manually
  • preserves data correctness: over-budget writes still append coverage; compaction performs later coalescing

Tests

  • cargo fmt --check
  • cargo test -p datalens-storage coverage_index_v2_empty -- --nocapture
  • cargo test -p datalens-storage

@fewensa
fewensa merged commit 1cc5de4 into main Aug 16, 2026
1 check passed
@fewensa
fewensa deleted the agt/datalens-empty-coverage-write-fast branch August 16, 2026 16:13
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