feat(chdb): expose tag_low_cardinality_max and drop unused flush keys - #108
Conversation
Wire [chdb].tag_low_cardinality_max through the native adapter, defaulting to [cardinality].max_tag_values_per_measurement so LowCardinality DDL stays aligned with ingest limits. Remove wal_size_threshold_mb and time_bucket_duration from config (never implemented) and document schema_cache_max_entries plus the new chDB knob.
|
Bugbot is not enabled for your account, so this pull request was not reviewed. Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs. |
|
@cursoragent review |
|
Based on my review of this PR, here's my comprehensive assessment: ✅ Overall Assessment: Excellent ImplementationThis PR successfully wires through the Key Changes Reviewed1. Configuration Changes ✅
2. Code Implementation ✅Strengths:
3. Native Adapter Updates ✅Strengths:
4. Bootstrap Changes ✅Strengths:
5. Test Coverage ✅The PR includes comprehensive tests covering:
6. Documentation ✅Thorough updates across:
Notable Design Decisions 📝✅ MAX_POOL_SIZE increased from 32 to 128Rationale: With split pools, large deployments may want 32+ query connections while keeping write pool small. 128 total connections (across both pools) is reasonable for high-concurrency workloads. ✅ tag_low_cardinality_max defaults to cardinality limitThis is excellent design - it keeps the DDL decision aligned with the ingest cardinality enforcement. If you're willing to accept 50k distinct tag values in metadata, you should also allow LowCardinality DDL up to that same threshold. Minor Observations 💡
Code Quality ⭐⭐⭐⭐⭐
Final Verdict ✅LGTM - Ready to Merge This PR is production-ready with:
The split connection pool design is a particularly nice improvement that will help prevent query storms from blocking ingestion. |



Wire [chdb].tag_low_cardinality_max through the native adapter, defaulting
to [cardinality].max_tag_values_per_measurement so LowCardinality DDL stays
aligned with ingest limits. Remove wal_size_threshold_mb and
time_bucket_duration from config (never implemented) and document
schema_cache_max_entries plus the new chDB knob.