Skip to content

Event Refactor#116

Open
mitsuhiko wants to merge 5 commits into
mainfrom
event-refactor
Open

Event Refactor#116
mitsuhiko wants to merge 5 commits into
mainfrom
event-refactor

Conversation

@mitsuhiko

Copy link
Copy Markdown
Member

Fixes durable await_event timeout handling across SQL and all SDKs.

  • Adds an explicit timed_out return column to absurd.await_event so timeouts are no longer inferred from payload = null.
  • Persists event timeouts as timed_out checkpoints, allowing timeout progress to replay durably instead of re-sleeping or repeating earlier work.
  • Updates the Python, TypeScript, and Go SDKs to consume the new result shape while preserving compatibility with older two-column await_event implementations.
  • Ensures cancellation is checked before replaying a persisted timeout, so cancellation is not masked by a previous timeout.

Previously, timeout detection relied on a legacy sentinel shape: should_suspend = false and payload = null. That made real JSON null event payloads ambiguous and meant timeout progress was not durably checkpointed in the same way as successful event payloads.

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.

1 participant