risingwavelabs / risingwave

Best-in-class stream processing, analytics, and management. Perform continuous analytics, or build event-driven applications, real-time ETL pipelines, and feature stores in minutes. Unified streaming and batch. PostgreSQL compatible.
https://go.risingwave.com/slack
Apache License 2.0
6.95k stars 574 forks source link

background mv stuck when foreground mv is creating #13368

Open kwannoel opened 11 months ago

kwannoel commented 11 months ago

Just simply creating an MV in background works for me in 1.3 However I manage to reproduce a stuck scenario, when there’s some foreground mv being created, and a background mv is created after:

  1. create a large table: create table t(v1 int); insert into t select * from generate_series(1, 1000000)
  2. create an mv in foreground in one session. create materialized view m1 as select * from t;.
  3. create an mv in background in another session. create materialized view m2 as select * from t;. It will now be stuck.
kwannoel commented 11 months ago

Workaround for this is: alter system set max_concurrent_creating_streaming_jobs=N;

BugenZhao commented 11 months ago

Stuck is not a friendly behavior to users. 😕 I suppose we should notice users about that if the upper limit of concurrent DDL is reached.

github-actions[bot] commented 4 months ago

This issue has been open for 60 days with no activity. Could you please update the status? Feel free to continue discussion or close as not planned.