Remove continual tasks (CT) feature#35967
Conversation
|
Thanks for opening this PR! Here are a few tips to help make the review process smooth for everyone. PR title guidelines
Pre-merge checklist
|
e9990a5 to
9187f22
Compare
|
I'd like to see a platform check that creates a CT if the version is old enough to allow it and then checks that we handle the migration properly, could be done with the existing tests in misc/python/materialize/checks/all_checks/continual_task.py |
4a2664a to
b36e831
Compare
teskje
left a comment
There was a problem hiding this comment.
Got halfway through, but need to get lunch now!
3a75b2c to
8e95b61
Compare
8e95b61 to
e80bd1d
Compare
teskje
left a comment
There was a problem hiding this comment.
Looks good, except for the merge skew!
def-
left a comment
There was a problem hiding this comment.
How do we know that no one is using continual tasks in self-managed btw? I'm wondering if the panic is the best approach here.
e80bd1d to
b6d075c
Compare
|
This should be good for another look. |
b6d075c to
22e7cc4
Compare
22e7cc4 to
ea9254a
Compare
We provide no guarantees for such highly experimental features, so I'd say it's fine. But there might be a higher chance of some staging env or prod canary having CTs. Anyhow, if an env has CTs, this would come out during the Friday upgrade-check (or when bringing up the read-only env during a 0dt upgrade), at which point one can still manually drop the CT in the old env, so we wouldn't get into an unrecoverable situation, right? |
ggevay
left a comment
There was a problem hiding this comment.
Thank you! This will alleviate some complications in the catalog implications work!
One more minor thing: Can we also remove force_source_non_monotonic?
| Connection | ||
| Connections | ||
| Constraint | ||
| Continual |
There was a problem hiding this comment.
can we not nuke Task here too? Did a quick grep through parser.rs and not sure we use it anywhere else.
Remove the continual tasks feature from Materialize. CTs were an experimental feature that is no longer needed. Changes: * Remove CT SQL syntax from parser * Remove CT catalog items, builtins, and system tables * Remove CT rendering in compute * Add catalog migration v81→v82 that panics if CTs are found * Remove BuiltinsConfig (empty after CT removal) * Add platform check for CT migration verification * Clean up related comments and dead code Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
321c1b2 to
b49dd7c
Compare
Removes the materialized-view optimizer's force_source_non_monotonic field, which was only used by continual tasks. Also removes the Continual, Task, and Tasks SQL keywords (no longer referenced) and a stale TODO(ct) comment in CatalogCollectionEntry. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
b49dd7c to
f8f440f
Compare
Summary
ObjectType::ContinualTaskfor backward compatibility with persisted entriesDetails
Catalog migration (v81→v82):
create_sqlstarts withCREATE CONTINUAL TASKBUILTINS_STATIC)What was removed (~4,600 lines deleted across 99 files):
CREATE/DROP/SHOW/ALTER/COMMENT ON CONTINUAL TASKsyntax,ContinualTaskStmt,CreateContinualTaskSugar(TRANSFORM/RETAIN)CreateContinualTaskPlan, feature flags (enable_continual_task_create/transform/retain),max_continual_taskssession var,CatalogItemType::ContinualTask,ObjectType::ContinualTask,CommentObjectId::ContinualTasksequence_create_continual_task, CT bootstrap/dataflow logic, CT quota checks,ExecuteResponse::CreatedContinualTaskContinualTaskCtx,ContinualTaskConnection, CT sink rendering,render/continual_task.rsBuiltinContinualTask, 3 system CTs (mz_cluster_replica_metrics_history_ct,mz_cluster_replica_status_history_ct,mz_wallclock_lag_history_ct),mz_continual_taskstable/view/indexesBuiltinsConfigemptied (was only used forinclude_continual_tasks);BUILTINS::iter()no longer takes a config parameterWhat was preserved:
mz_audit_log::ObjectType::ContinualTask— audit log entries are immutableaudit_log_event_v1::ObjectType::ContinualTaskin catalog protos — same reasonhttps://claude.ai/code/session_01Rx3uSReMsvp3zDTxnXuNUd