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

Tracking: deterministic simulation testing #4180

Open wangrunji0408 opened 2 years ago

wangrunji0408 commented 2 years ago

We are utilizing deterministic simulation testing to find bugs efficiently and reproduce them at any time.

Status and TODO

Pull Requests

Hunted Bugs

Related Links

lmatz commented 2 years ago

Is it possible to add e2e simulation tests for the connector sink or source? e.g. https://github.com/risingwavelabs/risingwave/pull/6631

wangrunji0408 commented 2 years ago

Is it possible to add e2e simulation tests for the connector sink or source? e.g. #6631

Theoretically it's possible. But we have to build a dedicated simulator for each kind of source and sink. Each of them will take us at least 0.5 man-months in my prediction. Currently we already have a simulator for kafka. With this, the complete data flow from source to sink has been covered in the test. So any more simulator for a connector will only result in the connector code itself being tested, which I don't think the ROI is high. 🤔

By the way, I just found a new project hermit published by Meta a week ago. It is a system-level deterministic testing tool. It seems like a good solution to this case. I'm going to do some research on it soon. (UPDATE: tracking in #6665)