Skip to content

Commit f926d65

Browse files
antiguruclaude
andcommitted
compute: name the persist issue the caught panic waits on
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1 parent cfbf6bc commit f926d65

1 file changed

Lines changed: 8 additions & 8 deletions

File tree

src/compute/src/compute_state/peek_stash.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -288,9 +288,9 @@ impl StashUpload {
288288
/// walk's permit is released when the walk returns rather than when this finishes, so nothing
289289
/// bounds how many abandoned uploads carry a part at once.
290290
///
291-
/// TODO: persist could offer a builder teardown that surrenders the parts already written
292-
/// without flushing the buffered one, which would make this cost a delete and nothing else,
293-
/// and would remove the reason the finish below has to be caught.
291+
/// TODO(PER-70): persist could offer a builder teardown that surrenders the parts already
292+
/// written without flushing the buffered one, which would make this cost a delete and nothing
293+
/// else, and would remove the reason the finish below has to be caught.
294294
fn abandon(&mut self) {
295295
let Some(batch_builder) = self.batch_builder.take() else {
296296
return;
@@ -314,11 +314,11 @@ impl StashUpload {
314314
.spawn_named(|| format!("peek_stash::discard({shard_id})"), async move {
315315
// A builder whose write was in flight when its walk was aborted holds a part
316316
// that persist has already marked as being waited on, and finishing it panics
317-
// rather than returning. The panic has to be caught here: this replica installs
318-
// a handler that aborts the process for any panic outside a catch, so
319-
// reclaiming one query's blob storage would otherwise cost the whole replica.
320-
// Failing to reclaim is what this path already tolerates elsewhere, which makes
321-
// the leak the right outcome and the abort the wrong one.
317+
// rather than returning, which PER-70 tracks. The panic has to be caught here:
318+
// this replica installs a handler that aborts the process for any panic outside
319+
// a catch, so reclaiming one query's blob storage would otherwise cost the
320+
// whole replica. Failing to reclaim is what this path already tolerates
321+
// elsewhere, which makes the leak the right outcome and the abort the wrong one.
322322
let finished = std::panic::AssertUnwindSafe(batch_builder.finish(upper))
323323
.ore_catch_unwind()
324324
.await;

0 commit comments

Comments
 (0)