Skip to content

server-zd v0.1.25

Choose a tag to compare

@longquanzheng longquanzheng released this 09 Nov 21:06
4875e00

Breaking Changes

  • StepMethodFailure.backend_error now holds a Flow error category. For a failed Step attempt it is now the Flow error category name, FLOW_ERROR_TYPE_WORKER_API_FAIL or FLOW_ERROR_TYPE_INTERNAL, instead of the raw failure text (#1442).
    • The raw text has moved but is still recorded:
      • The Worker's error detail, type, gRPC status, and stack trace are in details.original_worker_error_*.
      • The server's failure detail is in details.detail.
    • The application failure text is unchanged.
    • History recorded before the upgrade keeps its stored values.
    • Code that read the failure text from backend_error should read details instead.
  • Upgrade order: stop the standby and the active process, upgrade both binaries, then start the active process before the standby. Apply results change, so a mixed-version pair diverges.

server-zd v0.1.25

Error category in Step failures (#1442)

Dex Web shows backend_error as the error type, so a failed Step used to show its message as the error type. It now shows the category. The Worker error detail and the stack trace stay in their own fields.

Faster RPC dispatch (#1445)

  • Fewer lock acquisitions: an RPC that finds an idle Worker slot at once now takes the WorkerDispatch registry lock twice instead of eight times.
  • Shorter time under the lock:
    • Streams keep precomputed queue keys.
    • The duplicate per-Flow-type idle map is gone.
    • Partition searches have their own lock.
  • Local result: plain-RPC throughput went from about 34k to 51k–68k RPCs/s on an 18-core host.
  • Sticky Workers: a sticky Worker that declined the Step type is now skipped at once instead of after the sticky wait.

Fixes #1435. Refs #1419.

Full Changelog: server-zd/v0.1.24...server-zd/v0.1.25