Skip to content

[Feature Request]: Add Support for ClickHouse Cluster in ClickHouseResourceManager #36888

@BentsiLeviav

Description

@BentsiLeviav

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions