Repository navigation
Release v0.24.0: new compute engine #872
Edwardvaneechoud
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Changes since v0.23.3.
A lot changed in this release, and ideally you won't notice too of it.
Flowfile has a new compute engine underneath. Every node now runs on a compute backend, through a versioned protocol between the server that plans your flow and the worker that does the work. If everything went right, your flows open, run and preview exactly as they did before. That was the goal: change the foundation without moving the furniture.
Why
Until now, a flow could only use the machine that ran Flowfile. That's fine on a laptop, but a team or a large dataset outgrows one machine quickly. From this release on, the editor and the workers no longer have to live on the same machine, and that opens up a lot:
What changed underneath
Sturdier scheduled and CLI runs (Feature/implement details new compute setup #852, Compute/release gate #866). Scheduled runs and
flowfile run flownow run each node in its own child process. A node that runs out of memory fails on its own instead of taking the whole run down, and Cancel actually stops the node that's running. There's also a new--backend <id>option to pick where a CLI run computes. More in Where flows run.Credentials stay out of plans (Feature/implement details new compute setup #852). A cloud read now carries only a reference to its stored connection. The credentials are looked up where the plan runs, so they never travel inside the plan itself.
Other improvements
on=ff.numeric()from Python (fix: add unpivot data-type selectors and enhance unpivot functionality #864).Upgrading
Most setups need nothing. Check these:
FLOWFILE_COMPUTE_BACKEND=workerin core's environment to keep them on the worker container.polars-runtime-64at the same Polars version. If they don't match, the handshake refuses the worker and says why.FLOWFILE_WORKER_POOL_SIZE=0andFLOWFILE_WORKER_TASK_TIMEOUT=0.Falling back to the old execution model
The previous execution model is still in this release. If a flow behaves differently after upgrading, set
FLOWFILE_COMPUTE_PROTOCOL=0in the environment Flowfile starts in (Docker: your.env). Core then uses the old worker routes again.If you run into something like this, please open an issue so I can fix it. The same goes for anything else that doesn't work as expected.
Security
python-joseis replaced byPyJWT.fsspec,s3fs,gcsfs,filelock,gitpythonandaiohttpare updated.pillow(Fix backend dependency vulnerabilities #853, Drop vulnerable pillow 12.3.0 from the kernel lock #854).New contributor 🎉
A big thanks to @LynxLeuck for their first contribution! #811 fixes how the canvas shows a cancelled run, and comes with tests for cancelling while switching flows, refreshing mid-cancel and a Save As during a run.
Full Changelog: v0.23.3...v0.24.0
This discussion was created from the release Release v0.24.0: new compute engine.
All reactions