Skip to content

Concurrent bootstrapping demo (conventional vs concurrent, side by side) - #8

Open
ryzhyk wants to merge 1 commit into
mainfrom
concurrent-bootstrapping-demo
Open

Concurrent bootstrapping demo (conventional vs concurrent, side by side)#8
ryzhyk wants to merge 1 commit into
mainfrom
concurrent-bootstrapping-demo

Conversation

@ryzhyk

@ryzhyk ryzhyk commented Jul 30, 2026

Copy link
Copy Markdown

Concurrent Bootstrapping demo

A self-contained demo of Feldera concurrent bootstrapping, shown side by side against
conventional (stop-the-world) bootstrapping.

Two identical pipelines (bootstrap-conventional, bootstrap-concurrent) are backfilled with a
datagen clickstream and checkpointed, then given the same new analytical views and restarted with
concurrent_bootstrap=false vs true. A live datagen stream flows into both throughout, and a light
Feldera-brand dashboard makes the contrast obvious:

  • Conventional — stop-the-world: ingest drops to 0 and every view freezes until the new views
    finish building, then resumes at once.
  • Concurrent — the pipeline keeps ingesting; existing views stay live while the new views backfill
    in the background, then atomically switch in.

What's in it

  • run.py — SDK driver: setup (datagen backfill + checkpoint) · serve · bootstrap · reset ·
    status · teardown. All Feldera interaction goes through the Python SDK.
  • dashboard_server.py — SDK-backed poller + static server for the dashboard.
  • dashboard/index.html — self-contained light Feldera-brand dashboard: fixed equal columns, live
    chart panels (orders / revenue / clicks), phase coach-mark callouts, "all views are live" banner.
  • record.py — reproduce the run as a video, headless (Playwright); wide or narrow-column.
  • README.md — prerequisites (enterprise Feldera + a reliable uv runner), run it, drive a single
    pipeline by hand (SDK and curl), tuning, recording.
  • Registered as /run_bootstrap_demo (CLAUDE.md, .claude/commands, agentic runbook).

Run it

See concurrent-bootstrapping/README.md: start an enterprise Feldera on :8080, then
setupservebootstrap → watch → reset.

Concurrent bootstrapping is an enterprise feature, so the demo needs an enterprise Feldera build.

🤖 Generated with Claude Code

…tstrap demo

A self-contained demo of Feldera concurrent bootstrapping. Two identical pipelines
(bootstrap-conventional, bootstrap-concurrent) are backfilled with a datagen clickstream
and checkpointed, then given the same new analytical views and restarted with
concurrent_bootstrap=false vs true. A live datagen stream flows into both throughout, and
a Feldera-brand web dashboard makes the contrast obvious: the conventional side freezes
(stop-the-world) while the concurrent side keeps ingesting and its existing views stay
live, until the new views atomically switch in.

- run.py: SDK driver (setup / serve / bootstrap / reset / status / teardown); datagen
  backfill + checkpoint, then fires both bootstrap modes. Never calls the REST API directly.
- dashboard_server.py: SDK-backed poller + static server for the dashboard.
- dashboard/index.html: self-contained light Feldera-brand dashboard -- fixed equal columns,
  live chart panels (orders/revenue/clicks), phase coach-mark callouts, completion banner.
- record.py: reproduce the run as a video, headless (Playwright).
- README: prerequisites (enterprise Feldera + reliable uv runner), run it, drive a single
  pipeline by hand (SDK and curl), tune --size, record.
- Registered as /run_bootstrap_demo (CLAUDE.md, .claude/commands, agentic runbook).
@ryzhyk
ryzhyk force-pushed the concurrent-bootstrapping-demo branch from a10f682 to 9e5c3f6 Compare July 30, 2026 23:55
@ryzhyk
ryzhyk requested a review from gz July 31, 2026 03:35
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