Per #155015 (comment), the cloudstorage sink assumes that every time it's flushed, the changefeed's frontier timestamp has advanced. This isn't always true (e.g. when the feed is lagging and the lag checkpoint code path is hit:
|
checkpointSpans := (ca.frontier.InBackfill(resolved) || ca.frontier.HasLaggingSpans(sv)) && |
|
canCheckpointSpans(sv, ca.lastSpanFlush) |
|
|
|
if checkpointSpans { |
|
defer func() { |
|
ca.lastSpanFlush = timeutil.Now() |
|
}() |
|
return ca.flushFrontier(ctx) |
|
} |
) and may have ramifications for making sure that new cloudstorage sink files have names that sort lexicographically after all previously written files.
Jira issue: CRDB-55306
Per #155015 (comment), the cloudstorage sink assumes that every time it's flushed, the changefeed's frontier timestamp has advanced. This isn't always true (e.g. when the feed is lagging and the lag checkpoint code path is hit:
cockroach/pkg/ccl/changefeedccl/changefeed_processors.go
Lines 959 to 967 in 94b54b7
Jira issue: CRDB-55306