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

← cluster alinma_bff objects unlinked_account_pairs_sink explain
Overview Objects Graph History
sink · alinma_bff.unlinked_account_pairs_sink profiled over 5s
seconds (1–30)

Job is idle — throughput ~0; structure shown.

8 operators
Sink · alinma_bff.unlinked_account_pairs_sink
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
Project · unlinked_account_pairs_mv_next
2 actors
MaterializedExprs · unlinked_account_pairs_mv_next
0% idle 2 actors
StreamScan · unlinked_account_pairs_mv_next
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.
Sink · alinma_bff.unlinked_account_pairs_sink Sink alinma_bff.unlinked_acc… idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors Project · unlinked_account_pairs_mv_next Project unlinked_account_pairs_… — · 2 actors MaterializedExprs · unlinked_account_pairs_mv_next MaterializedExprs unlinked_account_pairs_… idle · 2 actors StreamScan · unlinked_account_pairs_mv_next StreamScan unlinked_account_pairs_… 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 64846 (Actor 748222,748223)
StreamSink { type: upsert, columns: [id, security_account_id, security_account, cash_account_id, cash_account, registered_by], downstream_pk: [$expr1] }
├── output:
│   ┌── $expr1
│   ├── unlinked_account_pairs_mv_next.security_account_id
│   ├── unlinked_account_pairs_mv_next.security_account
│   ├── unlinked_account_pairs_mv_next.cash_account_id
│   ├── unlinked_account_pairs_mv_next.cash_account
│   └── unlinked_account_pairs_mv_next.registered_by
├── stream key: [ unlinked_account_pairs_mv_next.security_account_id, unlinked_account_pairs_mv_next.cash_account_id ]
└── MergeExecutor
    ├── output:
    │   ┌── $expr1
    │   ├── unlinked_account_pairs_mv_next.security_account_id
    │   ├── unlinked_account_pairs_mv_next.security_account
    │   ├── unlinked_account_pairs_mv_next.cash_account_id
    │   ├── unlinked_account_pairs_mv_next.cash_account
    │   └── unlinked_account_pairs_mv_next.registered_by
    └── stream key: [ unlinked_account_pairs_mv_next.security_account_id, unlinked_account_pairs_mv_next.cash_account_id ]

Fragment 64847 (Actor 746364,746363)
StreamProject { exprs: [$expr1, unlinked_account_pairs_mv_next.security_account_id, unlinked_account_pairs_mv_next.security_account, unlinked_account_pairs_mv_next.cash_account_id, unlinked_account_pairs_mv_next.cash_account, unlinked_account_pairs_mv_next.registered_by] }
├── output: [ $expr1, unlinked_account_pairs_mv_next.security_account_id, unlinked_account_pairs_mv_next.security_account, unlinked_account_pairs_mv_next.cash_account_id, unlinked_account_pairs_mv_next.cash_account, unlinked_account_pairs_mv_next.registered_by ]
├── stream key: [ unlinked_account_pairs_mv_next.security_account_id, unlinked_account_pairs_mv_next.cash_account_id ]
└── StreamMaterializedExprs { exprs: [Coalesce(unlinked_account_pairs_mv_next.id, id_from_string_with_prefix('unlinked_account_pair':Varchar, ConcatOp(ConcatOp(unlinked_account_pairs_mv_next.security_account_id, ':':Varchar), unlinked_account_pairs_mv_next.cash_account_id))) as $expr1] }
    ├── output:
    │   ┌── unlinked_account_pairs_mv_next.id
    │   ├── unlinked_account_pairs_mv_next.security_account_id
    │   ├── unlinked_account_pairs_mv_next.cash_account_id
    │   ├── unlinked_account_pairs_mv_next.registered_by
    │   ├── unlinked_account_pairs_mv_next.security_account
    │   ├── unlinked_account_pairs_mv_next.cash_account
    │   └── $expr1
    ├── stream key: [ unlinked_account_pairs_mv_next.security_account_id, unlinked_account_pairs_mv_next.cash_account_id ]
    └── StreamTableScan { table: unlinked_account_pairs_mv_next, columns: [id, security_account_id, cash_account_id, registered_by, security_account, cash_account] }
        ├── output:
        │   ┌── unlinked_account_pairs_mv_next.id
        │   ├── unlinked_account_pairs_mv_next.security_account_id
        │   ├── unlinked_account_pairs_mv_next.cash_account_id
        │   ├── unlinked_account_pairs_mv_next.registered_by
        │   ├── unlinked_account_pairs_mv_next.security_account
        │   └── unlinked_account_pairs_mv_next.cash_account
        ├── stream key: [ unlinked_account_pairs_mv_next.security_account_id, unlinked_account_pairs_mv_next.cash_account_id ]
        ├── Upstream { output: [ id, security_account_id, cash_account_id, registered_by, security_account, cash_account ], stream key: [] }
        └── BatchPlanNode { output: [ id, security_account_id, cash_account_id, registered_by, security_account, cash_account ], stream key: [] }