Skip to content

Conversation

@spilchen
Copy link
Contributor

This change continues the integration of the distributed merge pipeline into the index backfill flow. When enabled, the backfiller writes its KV output batches to SSTs (backed by ExternalStorage) via a new SST sink.

  • Processor: Updated rowexec backfiller to route KV batches through the SST sink.
  • Job progress: Persist SST manifest metadata in job progress via IndexBackfillMapProgress.

Informs: #158378
Epic: CRDB-48845
Release note: none

@spilchen spilchen self-assigned this Nov 28, 2025
@cockroach-teamcity
Copy link
Member

This change is Reviewable

@spilchen spilchen force-pushed the gh-158378/251127/1101/index-backfill-sst-writer/pr-ready branch 3 times, most recently from 1e32c62 to 82969e9 Compare November 28, 2025 14:38
@spilchen spilchen marked this pull request as ready for review November 28, 2025 15:35
@spilchen spilchen requested review from a team as code owners November 28, 2025 15:35
@spilchen spilchen requested review from DrewKimball, fqazi, jeffswenson, kev-cao and mw5h and removed request for a team November 28, 2025 15:35
Copy link
Collaborator

@fqazi fqazi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just one issue related to the error handling for progress.

@fqazi reviewed 18 of 18 files at r1, all commit messages.
Reviewable status: :shipit: complete! 0 of 0 LGTMs obtained (waiting on @DrewKimball, @jeffswenson, @kev-cao, and @mw5h)


pkg/sql/rowexec/indexbackfiller.go line 425 at r1 (raw file):

			case <-tick.C:
				if err := pushProgress(); err != nil {
					return err

Will this also terminate the ingest thread? I worry that we will just stop tracking progress.

Copy link
Collaborator

@fqazi fqazi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@spilchen Nice work!

Reviewable status: :shipit: complete! 0 of 0 LGTMs obtained (waiting on @DrewKimball, @jeffswenson, @kev-cao, @mw5h, and @spilchen)

This change continues the integration of the distributed merge
pipeline into the index backfill flow. When enabled, the backfiller
writes its KV output batches to SSTs (backed by ExternalStorage) via a
new SST sink.

- Processor: Updated rowexec backfiller to route KV batches
through the SST sink.
- Job progress: Persist SST manifest metadata in job progress via
IndexBackfillMapProgress.

Informs: cockroachdb#158378
Epic: CRDB-48845
Release note: none
@spilchen spilchen force-pushed the gh-158378/251127/1101/index-backfill-sst-writer/pr-ready branch from 82969e9 to b703953 Compare November 28, 2025 21:06
Copy link
Contributor Author

@spilchen spilchen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewable status: :shipit: complete! 0 of 0 LGTMs obtained (waiting on @DrewKimball, @fqazi, @jeffswenson, @kev-cao, and @mw5h)


pkg/sql/rowexec/indexbackfiller.go line 425 at r1 (raw file):

Previously, fqazi (Faizan Qazi) wrote…

Will this also terminate the ingest thread? I worry that we will just stop tracking progress.

Ah good point. I remember we have this pattern in other places. I'll log a warning and continue if the progress fails . Note: I don't expect this path to fail, that path only exists if we fail to marshal the SST manifests somehow.

Copy link
Collaborator

@fqazi fqazi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:lgtm:

@fqazi reviewed 1 of 1 files at r2, all commit messages.
Reviewable status: :shipit: complete! 1 of 0 LGTMs obtained (waiting on @DrewKimball, @jeffswenson, @kev-cao, and @mw5h)

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.

3 participants