-
Notifications
You must be signed in to change notification settings - Fork 4.5k
Description
What would you like to happen?
Description
The existing ClickHouseResourceManager only supports managing a single-node ClickHouse instance via ClickHouseContainer. For more complete testing coverage (especially for production-aligned pipelines) we need the resource manager to support ClickHouse cluster deployments.
Adding cluster support would enable Beam integration tests to validate scenarios such as distributed tables, replication, sharding behavior, MergeTree consistency, and more.
This likely requires:
Support for spinning up a multi-node ClickHouse cluster using Testcontainers (e.g., multiple ClickHouseContainer instances with proper inter-node config), or
Alternatively, integrating an existing Docker Compose–based cluster setup into the resource manager (this is how it is being done in dbt-clickhouse https://github.com/ClickHouse/dbt-clickhouse/blob/368a8d61a695710c92a6cd2c822f7dbacad26be9/tests/integration/docker-compose.yml#L28 for reference).
The API surface of ClickHouseResourceManager should remain consistent while exposing cluster-aware capabilities (e.g., creating distributed tables, querying remote nodes, etc.).
Issue Priority
Priority: 3 (nice-to-have improvement)
Issue Components
- Component: Python SDK
- Component: Java SDK
- Component: Go SDK
- Component: Typescript SDK
- Component: IO connector
- Component: Beam YAML
- Component: Beam examples
- Component: Beam playground
- Component: Beam katas
- Component: Website
- Component: Infrastructure
- Component: Spark Runner
- Component: Flink Runner
- Component: Samza Runner
- Component: Twister2 Runner
- Component: Hazelcast Jet Runner
- Component: Google Cloud Dataflow Runner