PostHog / PostHog/chschema

test: real multi-node docker topology — per-node execution, drift, and plan never live-tested across nodes

Open
#98 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Go
Stars
15
Forks
2
Avg merge
1h 1m
Merged PRs (30d)
27

Description

Symptom

docker-compose runs a single ClickHouse node + one Keeper. The three clusters defined in docker/clickhouse/config.d/default.xml (posthog, posthog_single_shard, posthog_migrations) are each one shard / one replica pointing at the same host.

Impact

The per-node execution model (each statement run on every node individually) is never exercised live against an actual multi-node topology: Replicated table behavior across replicas, per-shard macros, drift detection between real nodes, and plan's cross-role ordering (docs/plans/2026-06-25-multi-node-cross-role-plan.md Mode B) all lack live coverage.

Fix direction

Add a 2-node compose profile (2 replicas, or 2 shards x 1 replica) with distinct macros; gate a small live suite on it (e.g. -clickhouse -cluster) covering: per-node DDL execution reaching both nodes, dump-cluster across both, drift between them, and a plan run against the dumped topology.

Found in the 2026-07-02 deep-dive audit (docs/plans/2026-07-02-deep-dive-improvement-areas.md, E1).

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with docker/clickhouse/config.d/default.xml and the existing Docker Compose setup, then read docs/plans/2026-06-25-multi-node-cross-role-plan.md for the required topology. Locate the live suite entry point and its -clickhouse -cluster gating. Done means a two-node profile runs coverage for per-node DDL, dump-cluster, drift, and plan against the dumped topology.

Written by the indexing model from the issue text.

Assessment

Tech stack
clickhouse, docker-compose, go
Domain
databases, devops, distributed-systems, testing-qa
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.