Skip to content

[Jetty] Merged Brook #209, which drops the cache-off eviction reason. - #210

Open
moetemp wants to merge 8 commits into
moe/jetty/v2/c9-no-worker-extensionfrom
moe/jetty/v3/c10-no-eviction-reason
Open

moetemp wants to merge 8 commits into
moe/jetty/v2/c9-no-worker-extensionfrom
moe/jetty/v3/c10-no-eviction-reason

Conversation

@moetemp

@moetemp moetemp commented Oct 24, 2026 •

Copy link
Copy Markdown
Owner

This PR merges Brook #209 into the Jetty Core, so Jetty also drops the cache-off eviction reason and gets the new workflow_task tests.

Jetty's sdk-rust is Brook's Core layers plus Connection::raw_unary, which the native Stream backend uses to call the server's Stream service. On native, the server closes a Workflow's Streams at the Run Chain end, so no SDK close needs the eviction reason.

What changed?

  • The merge adds [Brook] Dropped the cache-off eviction reason, since no Stream closes at a run end. #209. With the Workflow cache off, a completed run's eviction has the reason CACHE_FULL again, as upstream. Field 20, ActivityTask.Start.workflow_task, stays, and its CHANGELOG.md entry names all of its fields. New mock-poller tests cover the task that a Local Activity gets after a backoff timer and over History pages.
  • The Jetty comments use literal wording. The raw_unary docs and the CHANGELOG.md entry say that the call uses the connection's TLS, API key, headers, interceptors, metrics and retry policy. The test helper docs name GetSystemInfo.

Why?

An independent review of Brook and Jetty found the gap in the CHANGELOG.md entry, which #209 fixes. Jetty's Core is Brook's Core plus Jetty commits, so each Brook Core layer is merged into it.

How did you test it?

cargo test -p temporalio-client --lib and cargo test -p temporalio-sdk-core --lib pass. A port race failed get_free_port_can_bind_immediately once while other builds ran, and it passed on a rerun. cargo fmt --all --check passes, and clippy shows only two upstream warnings in temporalio-client. The crate at moetemp/sdk-streams#42 and sdk-python at moetemp/sdk-python#366 build on 2de24aef, and their suites pass. On the fork CI, every job passes except the ubuntu-arm jobs and Heavy Tests, which need runners that the fork doesn't have.

The crate at moetemp/sdk-streams#42 and the superproject branch temporalio/internal-ai-prototypes 2026/10/ai198-streams pin 2de24aef, the tested commit. The merge and the commit after it change only comments and docs, so the pins don't change.

  • Unit Tests
  • Staging
  • End to End Tests

…n end.

Brook used it to close a run's Streams at the eviction after an accepted completion. A run end now closes nothing on Redis, so Core keeps upstream behavior.
Covers a reschedule after a backoff timer, failed tasks on more than one history page, and two Local Activities of one activation.
@moetemp moetemp changed the title [Jetty] Merged Brook c8, which drops the cache-off eviction reason. [Jetty] Merged Brook #209, which drops the cache-off eviction reason. Oct 30, 2026
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