Skip to content

Conversation

@lucasbru
Copy link
Member

@lucasbru lucasbru commented Dec 15, 2025

When a TimeoutException occurs while trying to put multiple active tasks
back into running, we will add the timed out task back to the state
updater, so that we retry it.

However, if we run into a Task timeout (failing to make progress for a
long time), we will rethrow a StreamsException wrapping the
TimeoutException we have drained multiple tasks from the state
updater, they will be lost, and not added back to the state updater,
and therefore not be closed correctly. The task directories remain
locked, causing issues trying to replace the stream thread.

Reviewers: Matthias J. Sax [email protected]

When a TimeoutException occurs while trying to put multiple active tasks back
into running, we will add the timed out task back to the state updater, so
that we retry it.

However, if we run into a Task timeout (failing to make progress for a long
time), we will rethrow a StreamsException wrapping the TimeoutException we
have drained multiple tasks from the state updater, they will be lost, and
not added back to the state updater, and therefore not be closed correctly.
The task directories remain locked, causing issues trying to replace the
stream thread.
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

@lucasbru lucasbru merged commit bd0c628 into trunk Dec 16, 2025
31 of 32 checks passed
@lucasbru lucasbru deleted the timeout_state_updater branch December 16, 2025 08:41
lucasbru added a commit that referenced this pull request Dec 16, 2025
…1155)

When a TimeoutException occurs while trying to put multiple active tasks
back   into running, we will add the timed out task back to the state
updater, so that   we retry it.

However, if we run into a Task timeout (failing to make progress for a
long   time), we will rethrow a StreamsException wrapping the
TimeoutException we   have drained multiple tasks from the state
updater, they will be lost, and   not added back to the state updater,
and therefore not be closed correctly.   The task directories remain
locked, causing issues trying to replace the   stream thread.

Reviewers: Matthias J. Sax <[email protected]>
lucasbru added a commit that referenced this pull request Dec 16, 2025
…1155)

When a TimeoutException occurs while trying to put multiple active tasks
back   into running, we will add the timed out task back to the state
updater, so that   we retry it.

However, if we run into a Task timeout (failing to make progress for a
long   time), we will rethrow a StreamsException wrapping the
TimeoutException we   have drained multiple tasks from the state
updater, they will be lost, and   not added back to the state updater,
and therefore not be closed correctly.   The task directories remain
locked, causing issues trying to replace the   stream thread.

Reviewers: Matthias J. Sax <[email protected]>
lucasbru added a commit that referenced this pull request Dec 16, 2025
…1155)

When a TimeoutException occurs while trying to put multiple active tasks
back   into running, we will add the timed out task back to the state
updater, so that   we retry it.

However, if we run into a Task timeout (failing to make progress for a
long   time), we will rethrow a StreamsException wrapping the
TimeoutException we   have drained multiple tasks from the state
updater, they will be lost, and   not added back to the state updater,
and therefore not be closed correctly.   The task directories remain
locked, causing issues trying to replace the   stream thread.

Reviewers: Matthias J. Sax <[email protected]>
lucasbru added a commit that referenced this pull request Dec 16, 2025
…1155)

When a TimeoutException occurs while trying to put multiple active tasks
back   into running, we will add the timed out task back to the state
updater, so that   we retry it.

However, if we run into a Task timeout (failing to make progress for a
long   time), we will rethrow a StreamsException wrapping the
TimeoutException we   have drained multiple tasks from the state
updater, they will be lost, and   not added back to the state updater,
and therefore not be closed correctly.   The task directories remain
locked, causing issues trying to replace the   stream thread.

Reviewers: Matthias J. Sax <[email protected]>
@lucasbru
Copy link
Member Author

cherry-picked to 3.9, 4.0, 4.1, 4.2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants