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

← cluster authz objects active_teams_memberships_mv explain
Overview Objects Graph History
materialized view · authz.active_teams_memberships_mv profiled over 5s
seconds (1–30)

Job is idle — throughput ~0; structure shown.

6 operators
Materialize · authz.active_teams_memberships_mv
0% idle 2 actors
Project · teams_memberships_dm
2 actors
Filter · teams_memberships_dm
0% idle 2 actors
StreamScan · teams_memberships_dm
0% 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_teams_memberships_mv Materialize authz.active_teams_memb… idle · 2 actors Project · teams_memberships_dm Project teams_memberships_dm — · 2 actors Filter · teams_memberships_dm Filter teams_memberships_dm idle · 2 actors StreamScan · teams_memberships_dm StreamScan teams_memberships_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 51638 (Actor 736319,736320)
StreamMaterialize { columns: [team_id, user_id, access_type], stream_key: [team_id, user_id], pk_columns: [team_id, user_id], pk_conflict: NoCheck }
├── output: [ teams_memberships_dm.team_id, teams_memberships_dm.user_id, teams_memberships_dm.access_type ]
├── stream key: [ teams_memberships_dm.team_id, teams_memberships_dm.user_id ]
└── StreamProject { exprs: [teams_memberships_dm.team_id, teams_memberships_dm.user_id, teams_memberships_dm.access_type] }
    ├── output: [ teams_memberships_dm.team_id, teams_memberships_dm.user_id, teams_memberships_dm.access_type ]
    ├── stream key: [ teams_memberships_dm.team_id, teams_memberships_dm.user_id ]
    └── StreamFilter { predicate: IsNull(teams_memberships_dm.disabled_at) AND Not(IsTrue(teams_memberships_dm.temporary)) }
        ├── output:
        │   ┌── teams_memberships_dm.team_id
        │   ├── teams_memberships_dm.user_id
        │   ├── teams_memberships_dm.access_type
        │   ├── teams_memberships_dm.disabled_at
        │   └── teams_memberships_dm.temporary
        ├── stream key: [ teams_memberships_dm.team_id, teams_memberships_dm.user_id ]
        └── StreamTableScan { table: teams_memberships_dm, columns: [team_id, user_id, access_type, disabled_at, temporary] }
            ├── output:
            │   ┌── teams_memberships_dm.team_id
            │   ├── teams_memberships_dm.user_id
            │   ├── teams_memberships_dm.access_type
            │   ├── teams_memberships_dm.disabled_at
            │   └── teams_memberships_dm.temporary
            ├── stream key: [ teams_memberships_dm.team_id, teams_memberships_dm.user_id ]
            ├── Upstream { output: [ team_id, user_id, access_type, disabled_at, temporary ], stream key: [] }
            └── BatchPlanNode { output: [ team_id, user_id, access_type, disabled_at, temporary ], stream key: [] }