RWM Console cluster: risingwave-alinma.alinma-rw.svc.cluster.local

← cluster authz objects active_clients_portfolios_mv explain
Overview Objects Graph History
materialized view · authz.active_clients_portfolios_mv profiled over 5s
seconds (1–30)
Dynamic filter — verify it pairs with a temporal condition to clean state
11 operators
Materialize · authz.active_clients_portfolios_mv
0% idle 2 actors
Project · clients_portfolios_dm
2 actors
DynamicFilter · clients_portfolios_dm Dynamic filter — verify it pairs with a temporal condition to clean state
0% idle 2 actors
Merge
2 actors
Exchange
0% 2/s 0 actors
Now
0% 2/s 1 actor
Project · clients_portfolios_dm
2 actors
Filter · clients_portfolios_dm
2% idle 2 actors
StreamScan · clients_portfolios_dm
2% idle 2 actors
BatchPlan
2 actors
Merge
2 actors
Heat = the operator's output-buffer backpressure over the sampling window. Click a node to fold its subtree.
Materialize · authz.active_clients_portfolios_mv Materialize authz.active_clients_po… idle · 2 actors Project · clients_portfolios_dm Project clients_portfolios_dm — · 2 actors DynamicFilter · clients_portfolios_dm DynamicFilter clients_portfolios_dm idle · 2 actors Merge Merge — · 2 actors Exchange Exchange 2/s · 0 actors Now Now 2/s · 1 actor Project · clients_portfolios_dm Project clients_portfolios_dm — · 2 actors Filter · clients_portfolios_dm Filter clients_portfolios_dm idle · 2 actors StreamScan · clients_portfolios_dm StreamScan clients_portfolios_dm idle · 2 actors BatchPlan BatchPlan — · 2 actors Merge Merge — · 2 actors
Streaming operator plan from EXPLAIN ANALYZE. Node heat = backpressure. Drag to pan, scroll to zoom.
Fragments (DESCRIBE FRAGMENTS) — click to expand
Fragment 51577 (Actor 736015,736014)
StreamMaterialize { columns: [client_id, portfolio_id, clients_portfolios_dm.effective_start_date(hidden)], stream_key: [client_id, portfolio_id, clients_portfolios_dm.effective_start_date], pk_columns: [client_id, portfolio_id, clients_portfolios_dm.effective_start_date], pk_conflict: NoCheck }
├── output: [ clients_portfolios_dm.client_id, clients_portfolios_dm.portfolio_id, clients_portfolios_dm.effective_start_date ]
├── stream key: [ clients_portfolios_dm.client_id, clients_portfolios_dm.portfolio_id, clients_portfolios_dm.effective_start_date ]
└── StreamProject { exprs: [clients_portfolios_dm.client_id, clients_portfolios_dm.portfolio_id, clients_portfolios_dm.effective_start_date] }
    ├── output: [ clients_portfolios_dm.client_id, clients_portfolios_dm.portfolio_id, clients_portfolios_dm.effective_start_date ]
    ├── stream key: [ clients_portfolios_dm.client_id, clients_portfolios_dm.portfolio_id, clients_portfolios_dm.effective_start_date ]
    └── StreamDynamicFilter { predicate: ($expr1 <= now), output: [clients_portfolios_dm.client_id, clients_portfolios_dm.portfolio_id, $expr1, clients_portfolios_dm.effective_start_date], cleaned_by_watermark: true }
        ├── output: [ clients_portfolios_dm.client_id, clients_portfolios_dm.portfolio_id, $expr1, clients_portfolios_dm.effective_start_date ]
        ├── stream key: [ clients_portfolios_dm.client_id, clients_portfolios_dm.portfolio_id, clients_portfolios_dm.effective_start_date ]
        ├── StreamProject { exprs: [clients_portfolios_dm.client_id, clients_portfolios_dm.portfolio_id, AtTimeZone(clients_portfolios_dm.effective_start_date::Timestamp, 'UTC':Varchar) as $expr1, clients_portfolios_dm.effective_start_date] }
        │   ├── output: [ clients_portfolios_dm.client_id, clients_portfolios_dm.portfolio_id, $expr1, clients_portfolios_dm.effective_start_date ]
        │   ├── stream key: [ clients_portfolios_dm.client_id, clients_portfolios_dm.portfolio_id, clients_portfolios_dm.effective_start_date ]
        │   └── StreamFilter { predicate: IsNull(clients_portfolios_dm.disabled_at) AND IsNull(clients_portfolios_dm.effective_end_date) }
        │       ├── output: [ clients_portfolios_dm.client_id, clients_portfolios_dm.portfolio_id, clients_portfolios_dm.effective_start_date, clients_portfolios_dm.disabled_at, clients_portfolios_dm.effective_end_date ]
        │       ├── stream key: [ clients_portfolios_dm.client_id, clients_portfolios_dm.portfolio_id, clients_portfolios_dm.effective_start_date ]
        │       └── StreamTableScan { table: clients_portfolios_dm, columns: [client_id, portfolio_id, effective_start_date, disabled_at, effective_end_date] }
        │           ├── output: [ clients_portfolios_dm.client_id, clients_portfolios_dm.portfolio_id, clients_portfolios_dm.effective_start_date, clients_portfolios_dm.disabled_at, clients_portfolios_dm.effective_end_date ]
        │           ├── stream key: [ clients_portfolios_dm.client_id, clients_portfolios_dm.portfolio_id, clients_portfolios_dm.effective_start_date ]
        │           ├── Upstream { output: [ client_id, portfolio_id, effective_start_date, disabled_at, effective_end_date ], stream key: [] }
        │           └── BatchPlanNode { output: [ client_id, portfolio_id, effective_start_date, disabled_at, effective_end_date ], stream key: [] }
        └── MergeExecutor { output: [ now ], stream key: [] }

Fragment 51578 (Actor 736013)
StreamNow { output: [ now ], stream key: [] }