Skip to content

*: Phase 1 of FrostDB removal — ClickHouse-only cmd path#6353

Open
thorfour wants to merge 2 commits into
mainfrom
remove-frostdb
Open

*: Phase 1 of FrostDB removal — ClickHouse-only cmd path#6353
thorfour wants to merge 2 commits into
mainfrom
remove-frostdb

Conversation

@thorfour
Copy link
Copy Markdown
Contributor

@thorfour thorfour commented May 8, 2026

Summary

Phase 1 of removing FrostDB from Parca (tracking issue / Discord thread). Collapses the dual-path init in pkg/parca/parca.go to ClickHouse-only and promotes the ClickHouse flags out of FlagsHidden so they're visible in --help.

  • Removed FrostDB-only flags: --storage-active-memory, --storage-enable-wal, --storage-snapshot-trigger-size, --storage-row-group-size, --storage-index-on-disk, the experimental --iceberg-storage hidden flag, and --clickhouse-enabled (the toggle is gone since ClickHouse is now the only backend).
  • --enable-persistence survives but now controls only the local badger metastore — profile data lives in ClickHouse.
  • pkg/ingester/ and pkg/parcacol/querier.go are dead from the cmd path but kept in tree because the existing test suite still exercises them; they get removed when those tests are reworked against testcontainers (Phase 3).
  • dynparquet/pqarrow imports are still load-bearing on the ClickHouse path (schema definition, normalizer, profilestore) — those are untangled in Phase 2.
  • Benchmark_WriteRaw is now b.Skip'd since it drove Run() which now requires ClickHouse. Restored via testcontainers in Phase 3.
  • snap/parca-wrapper no longer plumbs --storage-active-memory. Wiring full ClickHouse config (address/credentials) into the snap is a separate follow-up.
  • README.md regenerated via make README.md.

Follow-ups

  • Phase 2 — untangle dynparquet + pqarrow from pkg/normalizer/, pkg/profile/schema.go, pkg/profilestore/profilecolumnstore.go, pkg/query/{flamegraph_arrow,table,columnquery}.go.
  • Phase 3 — rework the FrostDB-backed tests in pkg/parca/parca_test.go, pkg/profilestore/profilestore_test.go, pkg/ingester/ingester_test.go, pkg/query/{query,columnquery}_test.go against testcontainers ClickHouse; delete pkg/ingester/ and pkg/parcacol/querier.go.
  • Phase 4go mod tidy; drop frostdb and iceberg-go from go.mod.
  • Snap follow-up — add clickhouse-* snap config keys + hooks so the snap can boot a usable parca without command-line overrides.

Test plan

  • go build ./...
  • go vet ./...
  • go test -short ./...
  • CI green
  • Manual smoke: parca boots against a local ClickHouse and ingests a profile
  • Confirm parca --help reads cleanly (regenerated README)

🤖 Generated with Claude Code

Phase 1 of removing FrostDB. Collapses the dual-path init in
pkg/parca/parca.go to ClickHouse-only and promotes the ClickHouse flags
out of FlagsHidden so they're visible in --help.

Removed flags: --storage-active-memory, --storage-enable-wal,
--storage-snapshot-trigger-size, --storage-row-group-size,
--storage-index-on-disk (FrostDB-only), the experimental
--iceberg-storage hidden flag, and --clickhouse-enabled (the toggle is
gone since ClickHouse is now the only backend). --enable-persistence
survives but now controls only the local badger metastore — profile
data lives in ClickHouse.

The dynparquet/pqarrow imports are still load-bearing on the ClickHouse
path (schema definition, normalizer, profilestore) — those go in a
follow-up. pkg/ingester and pkg/parcacol/querier.go are dead from the
cmd path now but tests still use them; they're removed when those tests
get reworked against testcontainers.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@alwaysmeticulous
Copy link
Copy Markdown

alwaysmeticulous Bot commented May 8, 2026

✅ Meticulous spotted 0 visual differences across 288 screens tested: view results.

Meticulous evaluated ~4 hours of user flows against your PR.

Expected differences? Click here. Last updated for commit 0e2d797 [pre-commit.ci lite] apply automatic fixes. This comment will update as new commits are pushed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant