You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Expected: the external dependencies (MQ, KV, ClickHouse) sit behind clean, swappable interfaces with consistent lifecycle/config/observability — and ClickHouse access uses proper connection pooling.
Actual: these concerns are wired fairly directly throughout the packages; ClickHouse access (structured-query + ingest paths) in particular would benefit from explicit pooling/limits. This is the umbrella over several smaller refactors already in flight.
Scope: define interfaces + lifecycle for MQ / KV / ClickHouse; add ClickHouse connection pooling (in-use/idle/wait visibility pairs with #94). Coordinate with the existing refactors rather than duplicating them.
#164 - refactor(ingest)!: insert-only pipeline; mutations via /v1/query [merged]
📝 Issue Planner
Check the box below or use the @coderabbitai plan command to generate an implementation plan and prompts that you can use with your favorite coding assistant.
Create Plan
🧪 Issue enrichment is currently in open beta.
You can configure auto-planning by selecting labels in the issue_enrichment configuration.
To disable automatic issue enrichment, add the following to your .coderabbit.yaml:
issue_enrichment:
auto_enrich:
enabled: false
💬 Have feedback or questions? Drop into our discord!
Closing: the goals of this umbrella have landed. MQ, coordination, cache and dedupe sit behind interfaces (mq.Broker, coord.Coordinator, cache.Cache, dedupe.Deduplicator), with each implementation chosen in one place in internal/app/wire.go (#618). ClickHouse access is pooled per connection tuple, with per-pool sizes and a clickhouse.max_total_conns ceiling (internal/chconn, #603), and the process lifecycle is owned by internal/app (#585). Pool in-use/idle/wait metrics are item 16 of #94, and the executeCHQuery and internal/api refactors continue on #171 and #146.
Activity
coderabbitai commentedon Jun 4, 2026
🔗 Related PRs
#164 - refactor(ingest)!: insert-only pipeline; mutations via /v1/query [merged]
📝 Issue Planner
Check the box below or use the
@coderabbitai plancommand to generate an implementation plan and prompts that you can use with your favorite coding assistant.🧪 Issue enrichment is currently in open beta.
You can configure auto-planning by selecting labels in the issue_enrichment configuration.
To disable automatic issue enrichment, add the following to your
.coderabbit.yaml:💬 Have feedback or questions? Drop into our discord!
EricAndrechek commentedon Oct 8, 2026
Closing: the goals of this umbrella have landed. MQ, coordination, cache and dedupe sit behind interfaces (
mq.Broker,coord.Coordinator,cache.Cache,dedupe.Deduplicator), with each implementation chosen in one place ininternal/app/wire.go(#618). ClickHouse access is pooled per connection tuple, with per-pool sizes and aclickhouse.max_total_connsceiling (internal/chconn, #603), and the process lifecycle is owned byinternal/app(#585). Pool in-use/idle/wait metrics are item 16 of #94, and theexecuteCHQueryandinternal/apirefactors continue on #171 and #146.