Skip to content

fix(executor): mark pool backend experimental, auto selects ephemeral - #3146

Merged
daryllimyt merged 4 commits into
mainfrom
daryl/executor-pool-experimental
Jul 28, 2026
Merged

fix(executor): mark pool backend experimental, auto selects ephemeral#3146
daryllimyt merged 4 commits into
mainfrom
daryl/executor-pool-experimental

Conversation

@daryllimyt

@daryllimyt daryllimyt commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

What

Marks the pool executor backend as experimental and not production ready, and stops auto from silently selecting it.

  • auto now resolves to ephemeral when nsjail is available (previously pool). Fallback to direct is unchanged.
  • Explicitly selecting pool logs a warning at backend resolution.
  • ExecutorBackendType, PoolBackend, and the TRACECAT__EXECUTOR_BACKEND config docstrings now carry the experimental caveat.
  • The pool and test backends are removed from the docs entirely: docs/self-hosting/security.mdx recommends ephemeral for production, and the backend table, Kubernetes guide, and env-var reference now only document direct, ephemeral, and auto. Both remain valid (undocumented) config values.

Why

Pool workers are long-lived and import from registry cache paths that in-process cache leases cannot see. Bounded cache eviction (#3139) therefore has to exempt tarball-bearing entries under the pool backend, which means the executor registry cache can grow without bound in pool mode. Until pool has worker-aware cache ownership (per-worker leases or worker draining/recycling), it should not be selected implicitly or recommended for production.

Notes

  • Behavior change: deployments running TRACECAT__EXECUTOR_BACKEND=auto with nsjail available switch from warm pool workers to cold ephemeral sandboxes (~100-200ms → ~4000ms per action) in exchange for bounded cache behavior and full per-action isolation. Explicit pool config is untouched.
  • No deployment target in this repo sets TRACECAT__EXECUTOR_BACKEND; the default remains direct.

@daryllimyt daryllimyt added self-hosted Issues related to self-hosted deployment docs Improvements or additions to documentation labels Jul 28, 2026
@zeropath-ai

zeropath-ai Bot commented Jul 28, 2026

Copy link
Copy Markdown

No security or compliance issues detected. Reviewed everything up to 8497da2.

Security Overview
Detected Code Changes
Change Type Relevant files
Enhancement ► docs/self-hosting/kubernetes.mdx
    Change wording of backend description in security note
Bug Fix ► docs/self-hosting/security.mdx
    Update backend options from pool to ephemeral in table and example text
► docs/snippets/environment-variables.mdx
    Correct description of TRACECAT__EXECUTOR_BACKEND options and available backends
Enhancement ► tracecat/config.py
    Clarify backend descriptions and update auto-backend behavior to prefer ephemeral when nsjail is available; adjust formatting and add explicit note about experimental status for pool backend
Enhancement ► tracecat/executor/backends/pool/backend.py
    Add EXPERIMENTAL note and guidance about production readiness
Enhancement ► tracecat/executor/backends/test.py
    Add note for AI agents describing non-user-facing backend and usage guidance
Enhancement ► tracecat/executor/schemas.py
    Update ExecutorBackendType docstring with experimental status; adjust AUTO backend behavior description to reflect experimental status; add warning when pool backend is selected

@mintlify

mintlify Bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
tracecat 🟢 Ready View Preview Jul 28, 2026, 4:12 PM

💡 Tip: Enable Workflows to automatically generate PRs for you.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 55629a7658

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread tracecat/executor/schemas.py
@blacksmith-sh

This comment has been minimized.

@daryllimyt
daryllimyt merged commit b8fb000 into main Jul 28, 2026
17 of 20 checks passed
@daryllimyt
daryllimyt deleted the daryl/executor-pool-experimental branch July 28, 2026 16:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs Improvements or additions to documentation self-hosted Issues related to self-hosted deployment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant