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
7.08k stars 585 forks source link

Integrate standalone into risedev #16601

Open kwannoel opened 6 months ago

kwannoel commented 6 months ago

Unify it, so we can use risedev profile to configure and use it.

github-actions[bot] commented 4 months ago

This issue has been open for 60 days with no activity.

If you think it is still relevant today, and needs to be done in the near future, you can comment to update the status, or just manually remove the no-issue-activity label.

You can also confidently close this issue as not planned to keep our backlog clean. Don't worry if you think the issue is still valuable to continue in the future. It's searchable and can be reopened when it's time. 😄

fuyufjh commented 4 months ago

Shall we close this?

BugenZhao commented 4 months ago

Is this for testing purposes?

kwannoel commented 4 months ago

It's not really necessary, but I think it's a good improvement. Currently the way the cluster is started is rather manual for standalone mode. Still need to pass in the parameters. We should just use risedev to manage it instead.

BugenZhao commented 4 months ago

In my opinion, I think it'll be nice if we can simply add a flag to use standalone mode to start multiple services in the same process for existing profiles, achieving the goal of enhancing the coverage of the standalone mode without introduction of new services or profiles. However, this might require some refactoring in RiseDev, given that all services are independently started in its own tmux panel in current implementation.

kwannoel commented 1 month ago

In my opinion, I think it'll be nice if we can simply add a flag to use standalone mode to start multiple services in the same process for existing profiles, achieving the goal of enhancing the coverage of the standalone mode without introduction of new services or profiles. However, this might require some refactoring in RiseDev, given that all services are independently started in its own tmux panel in current implementation.

You can take a try using this approach @wcy-fdu

BugenZhao commented 1 month ago

May I know the updates on the motivation of this task?

kwannoel commented 1 month ago

May I know the updates on the motivation of this task?

Currently the way the standalone service is managed in ci is rather adhoc: https://github.com/risingwavelabs/risingwave/blob/e99ad679863f4c5c6fbcb605739b8a9fe1e3a02c/ci/scripts/run-e2e-test.sh#L34-L42

It can lead to breakage in ci (see: https://github.com/risingwavelabs/risingwave/pull/19067). If we support standalone in risedev, we can properly sequence the startup of its services.