core/txpool/blobpool: auto-start next conversion batch after completion #33301
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This change fixes a stall in the legacy blob sidecar conversion pipeline where tasks
that arrived during an active batch could remain unprocessed indefinitely after that
batch completed, unless a new external event arrived.
The root cause was that the loop did not restart processing in the case <-done:
branch even when txTasks had accumulated work, relying instead on a future event
to retrigger the scheduler. This behavior is inconsistent with the billy task pipeline,
which immediately chains to the next task via runNextBillyTask() without requiring
an external trigger.
The fix adds a symmetric restart path in case <-done: that checks len(txTasks) > 0,
clones the accumulated tasks, clears the queue, and launches a new run with a fresh
done and interrupt.
This preserves batching semantics, prevents indefinite blocking of callers of convert(),
and remains safe during shutdown since the quit path still interrupts and awaits the
active batch. No public interfaces or logging were changed.