Skip to content

Conversation

@dt
Copy link
Contributor

@dt dt commented Apr 1, 2019

Backport 2/2 commits from #36192.

/cc @cockroachdb/release


This pushes the buffering and sorting of out-of-order keys down to the
BulkAdder. This pattern is common everywhere we produce out-of-order KVs
that we want to ingest in bulk -- we need to sort them, both for the
ordering property of SSTs but also for grouping.

Evidence suggests that changes in buffering and splitting could lead to
significant changes in overall ingest performance -- buffering more or
even just buffering/splitting smarter affects the spans of produced SSTs
which in turn directly affects how expensive overall ingestion is -- due
to both some cockroach-specific factors like stats recomputation as well
as other factors like compaction-derived write-amplification.

While I'm here: Embedding backfiller in the chunkbackfiller
implementations, and in turn embedding chunkbackfiller in backfiller
created a loop, whereby a stuct with no methods could implement
chunkbackfiller (leading to a NPE at runtime?).

Release note: none.

dt added 2 commits April 1, 2019 13:56
This pushes the buffering and sorting of out-of-order keys down to the
BulkAdder. This pattern is common everywhere we produce out-of-order KVs
that we want to ingest in bulk -- we need to sort them, both for the
ordering property of SSTs but also for grouping.

Evidence suggests that changes in buffering and splitting could lead to
significant changes in overall ingest performance -- buffering more or
even just buffering/splitting smarter affects the spans of produced SSTs
which in turn directly affects how expensive overall ingestion is -- due
to both some cockroach-specific factors like stats recomputation as well
as other factors like compaction-derived write-amplification.

While I'm here: Embedding `backfiller` in the `chunkbackfiller`
implementations, and in turn embedding `chunkbackfiller` in `backfiller`
created a loop, whereby a stuct with no methods could implement
`chunkbackfiller` (leading to a NPE at runtime?).

Release note: none.
Release note (sql change): add settings to control buffering in index backfiller.
@dt dt requested review from a team, thoszhang and vivekmenezes April 1, 2019 14:02
@cockroach-teamcity
Copy link
Member

This change is Reviewable

@vivekmenezes
Copy link
Contributor

LGTM

@dt dt merged commit 96fc904 into cockroachdb:release-19.1 Apr 1, 2019
@dt dt deleted the backport19.1-36192 branch April 1, 2019 15:10
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