Skip to content

feat: Phase 3b — ParquetMergePlanner, scheduler extension, downloader stub#6357

Open
g-talbot wants to merge 1 commit intogtt/parquet-merge-pipelinefrom
gtt/parquet-merge-pipeline-3b
Open

feat: Phase 3b — ParquetMergePlanner, scheduler extension, downloader stub#6357
g-talbot wants to merge 1 commit intogtt/parquet-merge-pipelinefrom
gtt/parquet-merge-pipeline-3b

Conversation

@g-talbot
Copy link
Copy Markdown
Contributor

Summary

Stacked on #6352 (Phase 3a).

  • ParquetMergePlanner: receives ParquetNewSplits, groups by CompactionScope, invokes ParquetMergePolicy::operations(), dispatches to scheduler. Handles startup seeding of immature splits, deduplication via known_split_ids, RunFinalizeMergePolicyAndQuit for cold-window finalization.
  • MergeSchedulerService extension: ScheduleParquetMerge handler with shared merge_semaphore for global concurrency control across Tantivy and Parquet merges. Feature-gated behind cfg(feature = "metrics").
  • ParquetMergeSplitDownloader stub: minimal Actor + Handler<ParquetMergeTask> for the scheduler and planner to reference. Full download implementation in Phase 3c.

Test plan

  • 6 planner tests (planning, dedup, seeding, maturity, scope grouping, finalize)
  • 2 existing scheduler tests pass (no regression)
  • Compiles with and without metrics feature

🤖 Generated with Claude Code

@g-talbot g-talbot force-pushed the gtt/parquet-merge-pipeline branch from e96a920 to 9926093 Compare April 29, 2026 15:29
@g-talbot g-talbot force-pushed the gtt/parquet-merge-pipeline-3b branch from 3b171a0 to 84c6dd3 Compare April 29, 2026 15:30
@g-talbot g-talbot force-pushed the gtt/parquet-merge-pipeline branch from 9926093 to abf93e1 Compare April 29, 2026 18:10
@g-talbot g-talbot force-pushed the gtt/parquet-merge-pipeline-3b branch from 84c6dd3 to a23011c Compare April 29, 2026 18:10
@g-talbot g-talbot force-pushed the gtt/parquet-merge-pipeline branch from abf93e1 to acc5099 Compare April 29, 2026 18:16
@g-talbot g-talbot force-pushed the gtt/parquet-merge-pipeline-3b branch 3 times, most recently from ef391c9 to 90c5589 Compare April 29, 2026 18:51
@g-talbot g-talbot force-pushed the gtt/parquet-merge-pipeline branch from acc5099 to 49176b0 Compare April 29, 2026 19:03
@g-talbot g-talbot force-pushed the gtt/parquet-merge-pipeline-3b branch from 90c5589 to 49c6c19 Compare April 29, 2026 19:04
@g-talbot g-talbot force-pushed the gtt/parquet-merge-pipeline branch from 49176b0 to 17135dc Compare April 29, 2026 20:54
@g-talbot g-talbot force-pushed the gtt/parquet-merge-pipeline-3b branch from 49c6c19 to 93a0a20 Compare April 29, 2026 20:54
@g-talbot g-talbot force-pushed the gtt/parquet-merge-pipeline branch from 17135dc to 5a5ee74 Compare April 30, 2026 02:30
@g-talbot g-talbot force-pushed the gtt/parquet-merge-pipeline-3b branch from 93a0a20 to 3a91a31 Compare April 30, 2026 02:30
@g-talbot g-talbot force-pushed the gtt/parquet-merge-pipeline branch from 5a5ee74 to bde30af Compare April 30, 2026 13:42
@g-talbot g-talbot force-pushed the gtt/parquet-merge-pipeline-3b branch from 3a91a31 to 956a6e5 Compare April 30, 2026 13:42
…der stub (Phase 3b)

Phase 3 pipeline integration, second PR:

- ParquetMergePlanner: receives ParquetNewSplits, groups by CompactionScope,
  invokes ParquetMergePolicy::operations(), dispatches to scheduler. Handles
  startup seeding of immature splits, deduplication via known_split_ids,
  RunFinalizeMergePolicyAndQuit for cold-window finalization. 6 tests.

- MergeSchedulerService extension: ScheduleParquetMerge message with shared
  merge_semaphore for global concurrency control across Tantivy and Parquet
  merges. Feature-gated behind cfg(feature = "metrics"). Existing scheduler
  tests unaffected.

- ParquetMergeSplitDownloader stub: minimal Actor + Handler<ParquetMergeTask>
  for the scheduler and planner to reference. Full download implementation
  comes in PR 3c.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@g-talbot g-talbot force-pushed the gtt/parquet-merge-pipeline branch from bde30af to 6e709a0 Compare April 30, 2026 13:49
@g-talbot g-talbot force-pushed the gtt/parquet-merge-pipeline-3b branch from 956a6e5 to 4bde5b8 Compare April 30, 2026 13:49
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