Skip to content

Remove DelayType::Stratum and DelayType::MonotoneAccum from operator input_delaytype_fn#2850

Draft
MingweiSamuel wants to merge 2 commits intomingwei/dfir-mapped-singletonsfrom
mingwei/delete-delaytype2
Draft

Remove DelayType::Stratum and DelayType::MonotoneAccum from operator input_delaytype_fn#2850
MingweiSamuel wants to merge 2 commits intomingwei/dfir-mapped-singletonsfrom
mingwei/delete-delaytype2

Conversation

@MingweiSamuel
Copy link
Copy Markdown
Member

All operator files that returned Some(DelayType::Stratum) or
Some(DelayType::MonotoneAccum) from their input_delaytype_fn now return None.
This includes fold, reduce, sort, join, anti_join, difference, cross_singleton,
and all other operators that previously used these variants.

Also cleaned up unused imports (DelayType, PortIndexValue, ToTokens) from
the affected operator files.

The dfir_lang crate compiles cleanly with no warnings.

Co-authored-by: Infinity 🤖 infinity@hydro.run
PR: #2841

MingweiSamuel added a commit that referenced this pull request May 6, 2026
With the inline DAG codegen, each subgraph runs exactly once per tick in
topological order. The within-tick stratum barriers (Stratum and MonotoneAccum)
are no longer needed — they were only required when subgraphs could be
re-triggered with partial data.

Changes:
- Removed `Stratum` and `MonotoneAccum` variants from `DelayType` enum
- Changed all `input_delaytype_fn` that returned `Some(DelayType::Stratum)` or
  `Some(DelayType::MonotoneAccum)` to return `None`
- Updated `flat_to_partitioned.rs` to remove `DelayType` from the
  `iter_node_pairs` return type (only used for subgraph boundary detection)
- Updated `graph_write.rs` to remove the `--x` and `#60` mermaid styling
  for the removed variants
- Updated `meta_graph.rs` to not assign a delay type to singleton reference
  edges in graph visualization
- Removed unused `DelayType` imports from all operator files
- Updated stale comments referencing the removed variants

Only `DelayType::Tick` and `DelayType::TickLazy` remain — these represent
actual cross-tick boundaries (defer_tick / defer_tick_lazy).

Note: Snapshot tests will need regeneration (`INSTA_UPDATE=1`) since subgraph
partitioning will change — edges that previously forced boundaries no longer do.

Co-authored-by: Infinity 🤖 <infinity@hydro.run>
PR: #2850
MingweiSamuel added a commit that referenced this pull request May 6, 2026
…input_delaytype_fn

All operator files that returned Some(DelayType::Stratum) or
Some(DelayType::MonotoneAccum) from their input_delaytype_fn now return None.
This includes fold, reduce, sort, join, anti_join, difference, cross_singleton,
and all other operators that previously used these variants.

Also cleaned up unused imports (DelayType, PortIndexValue, ToTokens) from
the affected operator files.

The dfir_lang crate compiles cleanly with no warnings.

Co-authored-by: Infinity 🤖 <infinity@hydro.run>
PR: #2850
@MingweiSamuel MingweiSamuel force-pushed the mingwei/delete-delaytype2 branch from 006273d to e6168f8 Compare May 6, 2026 22:03
@cloudflare-workers-and-pages
Copy link
Copy Markdown

cloudflare-workers-and-pages Bot commented May 6, 2026

Deploying hydro with  Cloudflare Pages  Cloudflare Pages

Latest commit: f7e4592
Status: ✅  Deploy successful!
Preview URL: https://111e9675.hydroflow.pages.dev
Branch Preview URL: https://mingwei-delete-delaytype2.hydroflow.pages.dev

View logs

MingweiSamuel added a commit that referenced this pull request May 6, 2026
With the inline DAG codegen, each subgraph runs exactly once per tick in
topological order. The within-tick stratum barriers (Stratum and MonotoneAccum)
are no longer needed — they were only required when subgraphs could be
re-triggered with partial data.

Changes:
- Removed `Stratum` and `MonotoneAccum` variants from `DelayType` enum
- Changed all `input_delaytype_fn` that returned `Some(DelayType::Stratum)` or
  `Some(DelayType::MonotoneAccum)` to return `None`
- Updated `flat_to_partitioned.rs` to remove `DelayType` from the
  `iter_node_pairs` return type (only used for subgraph boundary detection)
- Updated `graph_write.rs` to remove the `--x` and `#60` mermaid styling
  for the removed variants
- Updated `meta_graph.rs` to not assign a delay type to singleton reference
  edges in graph visualization
- Removed unused `DelayType` imports from all operator files
- Updated stale comments referencing the removed variants

Only `DelayType::Tick` and `DelayType::TickLazy` remain — these represent
actual cross-tick boundaries (defer_tick / defer_tick_lazy).

Note: Snapshot tests will need regeneration (`INSTA_UPDATE=1`) since subgraph
partitioning will change — edges that previously forced boundaries no longer do.

Co-authored-by: Infinity 🤖 <infinity@hydro.run>
PR: #2850
MingweiSamuel added a commit that referenced this pull request May 6, 2026
…input_delaytype_fn

All operator files that returned Some(DelayType::Stratum) or
Some(DelayType::MonotoneAccum) from their input_delaytype_fn now return None.
This includes fold, reduce, sort, join, anti_join, difference, cross_singleton,
and all other operators that previously used these variants.

Also cleaned up unused imports (DelayType, PortIndexValue, ToTokens) from
the affected operator files.

The dfir_lang crate compiles cleanly with no warnings.

Co-authored-by: Infinity 🤖 <infinity@hydro.run>
PR: #2850
@MingweiSamuel MingweiSamuel force-pushed the mingwei/delete-delaytype2 branch from e6168f8 to ea8837e Compare May 6, 2026 22:44
@MingweiSamuel MingweiSamuel force-pushed the mingwei/dfir-mapped-singletons branch from d0625d4 to c53fbe9 Compare May 6, 2026 22:44
MingweiSamuel added a commit that referenced this pull request May 6, 2026
With the inline DAG codegen, each subgraph runs exactly once per tick in
topological order. The within-tick stratum barriers (Stratum and MonotoneAccum)
are no longer needed — they were only required when subgraphs could be
re-triggered with partial data.

Changes:
- Removed `Stratum` and `MonotoneAccum` variants from `DelayType` enum
- Changed all `input_delaytype_fn` that returned `Some(DelayType::Stratum)` or
  `Some(DelayType::MonotoneAccum)` to return `None`
- Updated `flat_to_partitioned.rs` to remove `DelayType` from the
  `iter_node_pairs` return type (only used for subgraph boundary detection)
- Updated `graph_write.rs` to remove the `--x` and `#60` mermaid styling
  for the removed variants
- Updated `meta_graph.rs` to not assign a delay type to singleton reference
  edges in graph visualization
- Removed unused `DelayType` imports from all operator files
- Updated stale comments referencing the removed variants

Only `DelayType::Tick` and `DelayType::TickLazy` remain — these represent
actual cross-tick boundaries (defer_tick / defer_tick_lazy).

Note: Snapshot tests will need regeneration (`INSTA_UPDATE=1`) since subgraph
partitioning will change — edges that previously forced boundaries no longer do.

Co-authored-by: Infinity 🤖 <infinity@hydro.run>
PR: #2850

Resolve 3-way merge conflict in dfir_lang/src/graph/meta_graph.rs

The conflict was between three sides that all agreed on using `pivot_fn_ident`
(not `_pivot_fn_ident`) with `subgraph_id.data()` (not `subgraph_id.0`).
Resolved to the common intent: `let pivot_fn_ident = Ident::new(&format!("pivot_run_sg_{:?}", subgraph_id.data()), pivot_span);`

Verified with `cargo check` — compiles cleanly.

Co-authored-by: Infinity 🤖 <infinity@hydro.run>
PR: #2850
MingweiSamuel added a commit that referenced this pull request May 6, 2026
…input_delaytype_fn

All operator files that returned Some(DelayType::Stratum) or
Some(DelayType::MonotoneAccum) from their input_delaytype_fn now return None.
This includes fold, reduce, sort, join, anti_join, difference, cross_singleton,
and all other operators that previously used these variants.

Also cleaned up unused imports (DelayType, PortIndexValue, ToTokens) from
the affected operator files.

The dfir_lang crate compiles cleanly with no warnings.

Co-authored-by: Infinity 🤖 <infinity@hydro.run>
PR: #2850
@MingweiSamuel MingweiSamuel force-pushed the mingwei/dfir-mapped-singletons branch from c53fbe9 to ef7ca08 Compare May 6, 2026 22:59
@MingweiSamuel MingweiSamuel force-pushed the mingwei/delete-delaytype2 branch from ea8837e to eb08e2b Compare May 6, 2026 22:59
MingweiSamuel and others added 2 commits May 6, 2026 23:14
With the inline DAG codegen, each subgraph runs exactly once per tick in
topological order. The within-tick stratum barriers (Stratum and MonotoneAccum)
are no longer needed — they were only required when subgraphs could be
re-triggered with partial data.

Changes:
- Removed `Stratum` and `MonotoneAccum` variants from `DelayType` enum
- Changed all `input_delaytype_fn` that returned `Some(DelayType::Stratum)` or
  `Some(DelayType::MonotoneAccum)` to return `None`
- Updated `flat_to_partitioned.rs` to remove `DelayType` from the
  `iter_node_pairs` return type (only used for subgraph boundary detection)
- Updated `graph_write.rs` to remove the `--x` and `#60` mermaid styling
  for the removed variants
- Updated `meta_graph.rs` to not assign a delay type to singleton reference
  edges in graph visualization
- Removed unused `DelayType` imports from all operator files
- Updated stale comments referencing the removed variants

Only `DelayType::Tick` and `DelayType::TickLazy` remain — these represent
actual cross-tick boundaries (defer_tick / defer_tick_lazy).

Note: Snapshot tests will need regeneration (`INSTA_UPDATE=1`) since subgraph
partitioning will change — edges that previously forced boundaries no longer do.

Co-authored-by: Infinity 🤖 <infinity@hydro.run>
PR: #2850

Resolve 3-way merge conflict in dfir_lang/src/graph/meta_graph.rs

The conflict was between three sides that all agreed on using `pivot_fn_ident`
(not `_pivot_fn_ident`) with `subgraph_id.data()` (not `subgraph_id.0`).
Resolved to the common intent: `let pivot_fn_ident = Ident::new(&format!("pivot_run_sg_{:?}", subgraph_id.data()), pivot_span);`

Verified with `cargo check` — compiles cleanly.

Co-authored-by: Infinity 🤖 <infinity@hydro.run>
PR: #2850
…input_delaytype_fn

All operator files that returned Some(DelayType::Stratum) or
Some(DelayType::MonotoneAccum) from their input_delaytype_fn now return None.
This includes fold, reduce, sort, join, anti_join, difference, cross_singleton,
and all other operators that previously used these variants.

Also cleaned up unused imports (DelayType, PortIndexValue, ToTokens) from
the affected operator files.

The dfir_lang crate compiles cleanly with no warnings.

Co-authored-by: Infinity 🤖 <infinity@hydro.run>
PR: #2850
@MingweiSamuel MingweiSamuel force-pushed the mingwei/delete-delaytype2 branch from eb08e2b to f7e4592 Compare May 6, 2026 23:14
@MingweiSamuel MingweiSamuel force-pushed the mingwei/dfir-mapped-singletons branch from ef7ca08 to 55de3bf Compare May 6, 2026 23:14
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