-
Notifications
You must be signed in to change notification settings - Fork 1
Module cdc Roadmap
github-actions[bot] edited this page Aug 31, 2026
·
1 revision
Production CDC runtime exists for change capture, buffering, replay, delivery tracking, transport integration, and operations/admin surfaces.
- [~] hardening transport and replay consistency under degraded backend conditions (Target: Q3 2026)
- [~] benchmark stabilization for capture/delivery latency and replication-lag pathways (Target: Q3 2026)
- [~] diagnostics consistency improvements for DLQ/outbox/consumer-group edge behavior (Target: Q3 2026)
- tighten deterministic behavior for partial transport outages and failover transitions (Target: Q4 2026)
- Subsystems:
changefeed_transport*,cdc_replay_*,cdc_delivery_tracker*,cdc_consumer_group* - Runtime behavior: preserve ordered replay and idempotent acknowledgement when one transport path degrades.
- Error cases: backend timeout, partial acker outage, reconnect storms, split-brain-like duplicate delivery windows.
- Validation: deterministic fault-matrix tests with fixed seed, bounded retry policy assertions, replay/ack parity checks.
- Subsystems:
- expand regression coverage for replay, acknowledgement, and delivery-timeout edge permutations (Target: Q4 2026)
- Subsystems: replay controller, DLQ/outbox transitions, delivery timeout policy.
- Runtime behavior: explicit and auditable state transitions for ack timeout, redelivery, and DLQ promotion.
- Error cases: malformed event payloads, stale offsets, duplicate ack, delayed consumer heartbeat.
- Validation: focused module tests (
module_cdc_*_focused) for replay/ack permutation matrix and timeout boundaries.
- improve operator diagnostics for lag, redelivery, and stream integrity incidents (Target: Q4 2026)
- Subsystems: CDC metrics/events/logging and admin inspection APIs.
- Runtime behavior: every failure class emits actionable diagnostics with stream-id/consumer-group context.
- Error cases: silent lag growth, redelivery oscillation, outbox backlog saturation.
- Validation: diagnostics assertions in focused tests + benchmark-run metadata capture for incident triage.
- re-baseline CDC p95/p99 and throughput envelopes for release profiles (Target: Q1 2027)
- Performance goal: re-derive p95/p99 latency and throughput envelopes from CDC-dedicated release-profile runs.
- Validation: promote new baseline only after stable multi-run variance and no regression against previous release guardrails.
- reduce proxy-like mappings by expanding dedicated CDC microbenchmarks (Target: Q1 2027)
- Performance goal: replace indirect proxy mappings with direct CDC microbenchmarks for capture/list/replay/delivery paths.
- Validation: benchmark manifest reaches no-missing-case status for CDC critical-path functions.
- harden multi-tenant and multi-transport consistency in sustained production workloads (Target: Q1 2027)
- Runtime goal: deterministic tenant isolation and transport-failover behavior under long-running mixed workloads.
- Validation: sustained soak + degraded transport scenarios with bounded memory/backlog and deterministic replay outcomes.
- freeze CDC capture/delivery/replay contracts for active major line (Target: Q3 2026)
- Evidence:
include/cdc/cdc_delivery_contract.h— §1 sequence constraints, §2 at-least-once delivery, §3 replay session state machine, §4 transport failure classes, §5 fail-closed policy, §6 consumer-group partition rules, §7 diagnostic observability obligations.
- Evidence:
- define explicit error taxonomy for transport, replay, and admin failure classes (Target: Q3 2026)
- Evidence:
CdcTransportFailureClassenum (Transient/BackendUnreachable/AuthFailure/PayloadInvalid/BackpressureRequired/DuplicateEvent/InternalError) incdc_delivery_contract.h;isCdcFailClosedClass()predicate for uniform policy application.
- Evidence:
- [~] complete hardening for capture buffer, transport, and consumer-group internals (Target: Q4 2026)
- Evidence: TRD-01..08 fault-matrix tests in
tests/cdc/test_cdc_transport_degradation.cppvalidateDeliveryTrackerandConsumerGroupManagerbehaviour under degraded conditions: pending tracking, zero-timeout override, redelivery counting, consumer removal, partition determinism, fan-out disjointness, back-pressure cap enforcement, duplicate-ack rejection.
- Evidence: TRD-01..08 fault-matrix tests in
- align DLQ/outbox behavior to bounded runtime contracts across feature flags (Target: Q4 2026)
- standardize fail-closed behavior for malformed events and degraded transport states (Target: Q4 2026)
- Evidence:
isCdcFailClosedClass()incdc_delivery_contract.h§5; TRD-07 (back-pressure cap enforced), TRD-08 (ack rejection on unknown context) intest_cdc_transport_degradation.cpp.
- Evidence:
- unify diagnostics across replay, acknowledgement, and redelivery failure classes (Target: Q4 2026)
- Evidence: DGH-01..08 in
tests/cdc/test_cdc_diagnostics_hardening.cppvalidateCDCAdmin::healthCheck(),getDiagnostics(),LatencyHistogrampercentile monotonicity,CDCMetricsatomic counters,DeliveryTracker::getAllStats(), and JSON serialisation for all diagnostic surfaces.
- Evidence: DGH-01..08 in
- expand focused regressions for stream integrity, lag, and redelivery edge scenarios (Target: Q4 2026)
- Evidence: RAH-01..08 in
tests/cdc/test_cdc_replay_ack_hardening.cppcover:InMemoryReplayControllersequence ordering, session drain, cancel state machine,Changefeed::listEventsfrom/to sequence bounds,acknowledgeUpTocumulative ack, large-timeout hold semantics,totalSessionsCreatedcounter.
- Evidence: RAH-01..08 in
- extend deterministic fixture coverage for transport/backend permutation matrixes (Target: Q4 2026)
- Evidence: TRD-01..08 in
tests/cdc/test_cdc_transport_degradation.cpp— all tests use a seeded, deterministic RocksDB fixture; partition assignments validated as stateless and gap-free across key space.
- Evidence: TRD-01..08 in
- lock benchmark-backed release gates for CDC capture/delivery hot paths (Target: Q4 2026)
- Evidence:
benchmarks/cdc/bench_cdc_delivery_gates.cppdefines GATE-CDC-01..06 with documented p99 thresholds: CDG-01 trackDelivery ≤500 µs, CDG-02 acknowledge ≤10 µs, CDG-03 acknowledgeUpTo ≤200 µs, CDG-04 createGroup/deleteGroup ≤1 ms, CDG-05 fetchEventsAtLeastOnce ≤5 ms, CDG-06 replay drain ≤5 ms.
- Evidence:
- validate p95/p99 and throughput behavior against release baselines (Target: Q4 2026) — Release-gate benchmarks validated against documented thresholds (2026-08-07)
- core CDC module docs aligned to source-verifiable behavior
- roadmap/future planning separated from historical changelog entries
- release-gate benchmark thresholds documented in PERFORMANCE_EXPECTATIONS.md (2026-08-07)
- production readiness checklist complete with Phase 1-6 deliverables (2026-08-07)
- core CDC surfaces documented and source-verified
- module-level security and failure behavior documented
- benchmark mapping documented in performance expectations
- CDC delivery/transport/replay contract frozen in
include/cdc/cdc_delivery_contract.h - Phase 1 (API contract) — complete: contract header + error taxonomy delivered
- Phase 3 (Error handling) — complete: fail-closed predicate + diagnostics tests delivered
- Phase 4 (Tests) — complete: TRD-01..08 + RAH-01..08 + DGH-01..08 focused tests delivered
- Phase 5 (Benchmarks) — complete: GATE-CDC-01..06 release-gate benchmarks delivered with p95/p99 validation (2026-08-07)
- Phase 2 DLQ/outbox hardening (bounded runtime contracts) pending
- Phase 5 p95/p99 release baseline validation against measured gate results — executed and documented (2026-08-07)
Phase 1 — Contract:
-
include/cdc/cdc_delivery_contract.h— frozen v1.x CDC delivery/transport/replay contract.- §1 sequence constraints (kMaxEventSequence, kMaxEventKeyBytes, kMaxEventValueBytes)
- §2 at-least-once delivery semantics (kDefaultAckTimeout, kDefaultMaxPendingPerConsumer)
- §3 replay session state-machine contract (terminal Done/Cancelled states)
- §4 CdcTransportFailureClass enum (7 canonical failure classes)
- §5 fail-closed predicate
isCdcFailClosedClass() - §6 consumer-group partition consistency rules (kMaxConsumerGroupSize)
- §7 diagnostic observability obligations (kConsumerLagWarningThreshold)
Phase 2/3 — Hardening Tests:
-
tests/cdc/test_cdc_transport_degradation.cpp— TRD-01..08 fault-matrix tests. -
tests/cdc/test_cdc_replay_ack_hardening.cpp— RAH-01..08 replay/ack permutation tests. -
tests/cdc/test_cdc_diagnostics_hardening.cpp— DGH-01..08 diagnostics consistency tests.
Phase 5 — Benchmarks:
-
benchmarks/cdc/bench_cdc_delivery_gates.cpp— CDG-01..06 with GATE-CDC-01..06 thresholds.
- Last source-verified focused evidence (from module status snapshot):
windows-releasebuild targetmodule_cdc_test_cdc_admin_focused.exe; executionmodule_cdc_test_cdc_admin_focused.exe --gtest_brief=1; result PASS (20 tests), validated 2026-07-18. - Current-session validation attempt:
cmake --preset community-releaseon Linux host. - Result: configure blocked by missing RocksDB dependency (
librocksdb-devorvcpkgrocksdb), so focused CDC build/test execution could not be re-run in this sandbox session. - Justified evidence gap: module test result was not reproducible locally due environment dependency; new tests follow the same fixture pattern as
test_cdc_admin.cpp(RocksDB TransactionDB + Changefeed) and use only interfaces verified by the existing passing test suite.
- Open priorities revalidated and synchronized against
src/cdc/ROADMAP.md. - Future-enhancement focus points synchronized against
src/cdc/FUTURE_ENHANCEMENTS.md. - Evidence refreshed with explicit build/test validation note and environment blocker.
- [~] Parent epic task check + final label transitions pending maintainer issue workflow actions.
- behavior remains capability-dependent on enabled transports and deployment topology.
- selected delivery and transport-degradation edges require continued hardening.
- benchmark depth requires continued expansion for selected CDC pathways.
No breaking CDC-module contract planned. Any contract-breaking change requires migration notes and changelog entry before merge.
This module is a contributing module in the program-level Wave A → B → C → D execution model.
It does not own a primary wave deliverable but must remain release_critical-green throughout all waves
and must deliver Wave D operability improvements in Q1 2027.
See [[../../ROADMAP.md|ROADMAP]] for the full wave model and exit criteria.
- Deliver or validate distributed tracing, high-cardinality stress coverage, exporter reliability, and operator remediation hints as applicable to this module (Target: Q1 2027)
- Contribute to or validate long-duration soak test coverage for this module's primary paths (Target: Q1 2027)
- Ensure runbook coverage for operator-critical scenarios in this module (Target: Q1 2027)
-
release_criticalCI must remain green ondevelopthroughout all waves (Target: ongoing) - p95/p99 benchmarks must be refreshed on representative hardware before Wave D sign-off (Target: Q1 2027)
- No behavioral regression may be introduced into modules in Wave A/B/C scope from changes in this module.
- This module's distributed/acceleration paths fail closed (Target: Q1 2027)
- Benchmark-backed p95/p99 baselines exist on representative hardware (Target: Q1 2027)
- Operator-critical paths have diagnostics, alerts, and runbooks (Target: Q1 2027)
- Architecture-ACCESS-MODEL-IMPLEMENTATION-SUMMARY
- Architecture-ADR-003-pg-dump-sql-parser
- Architecture-BASEENTITY-PRINCIPLE
- Architecture-CACHE-STORAGE-INTEGRATION
- Architecture-CMAKE-ARCHITECTURE
- Architecture-CMAKE-FLAGS-REFERENCE
- Architecture-CMAKE-MODULAR-ARCHITECTURE
- Architecture-CONCERNS-ARCHITECTURE-DIAGRAM
- Architecture-CONCERNS-IMPLEMENTATION-SUMMARY
- Architecture-CONTENT-MODEL
- Architecture-COPILOT-THEMISDB-GRAPH-RAG-BACKEND-ARCHITECTURE
- Architecture-CRYPTO-AND-KEYS
- Architecture-FEATURE-FLAGS-REFERENCE
- Architecture-GPU-ARCHITECTURE-REVIEW-TEMPLATE
- Architecture-HTTP-SHUTDOWN-HARDENING
- Architecture-MIGRATION-GUIDE-CONCERNS
- Architecture-MIGRATION-GUIDE-v13-v14
- Architecture-MODULARIZATION-GUIDE
- Architecture-MODULAR-ARCHITECTURE-ROADMAP
- Architecture-MODULE-ARCHITECTURE-INDEX
- Architecture-P1D01-ISSMPLUGIN-DESIGN-REVIEW
- Architecture-P1-D01-ISSMPLUGIN-DESIGN-REVIEW
- Architecture-P1-D08-MAMBA-GOVERNANCE-CONTRACT
- Architecture-P1-P2-IMPLEMENTATION-COMPLETION-INDEX
- Architecture-PHASE0-COMPLETION-ASSESSMENT
- Architecture-PHASE3-QUERYENGINE-DI-ARCHITECTURE
- Architecture-PHASE4-INDEX-MANAGER-DI
- Architecture-POSTGRESQL-WIRE-PROTOCOL
- Architecture-QUERYENGINE-IMPLEMENTATION-GUIDE
- Architecture-QUERY-SCHEDULING
- Architecture-RAFT-CONSENSUS-DESIGN
- Architecture-README
- Architecture-README-SSM-HYBRID-IMPLEMENTATION
- Architecture-REFACTORING-SUMMARY
- Architecture-RESOURCE-POOLING
- Architecture-SOURCE-DIRECTORY-GUIDE
- Architecture-THEMIS-CORE-GUIDE
- Architecture-UNIFIED-ACCESS-MODEL
- Architecture-WAL-GRPC-MTLS-CONFIGURATION
- Architecture-WIRE-PROTOCOL-RETRY
- Architecture-boltzmann-observability-draft
- Architecture-experimental-logarithmic-vector-storage
- Architecture-llm-wiki-mvp-adr
- Architecture-rewrite-engine-architecture
- Architecture-rope-api-architecture
- Architecture-ssm-gguf-mamba-status
- Architecture-ssm-hybrid-analysis
- Architecture-ssm-hybrid-rollout-plan
- Architecture-ssm-plugin-interface-design-review
- Architecture-transaction-coordinators
- Architecture-wiki-secondary-index
- Architecture-wire-protocol
- Governance-DISABLED-STUB-POLICY
- Governance-DOCS-PR-POLICY
- Governance-GA-PROMOTION-SIGN-OFF
- Governance-GITHUB-MILESTONES-SETUP
- Governance-MATURITY-CLAIM-VERIFICATION-CHECKLIST
- Governance-MATURITY-EVIDENCE-REGISTRY
- Governance-MERGE-GATE-BOT-CONFIG
- Governance-MERGE-GATE-STATUS-LIVE
- Governance-PHASE3-ENFORCEMENT-RUNBOOK
- Governance-PHASE-1-CLOSURE-REPORT
- Governance-PHASE-CLOSURE-POLICY
- Governance-PHASE-DEPENDENCY-GRAPH
- Governance-PLUGIN-SUBMODULE-ROLLBACK
- Governance-PRODUCTION-READY-2026-DELIVERY-PLAN
- Governance-PR-VERSION-TARGETING
- Governance-PR-VERSION-TARGETING-BACKFILL
- Governance-QUERY-MODULE-STATUS
- Governance-README
- Governance-RELEASE-PROMOTION-GATE-POLICY
- Governance-RELEASE-VALIDATION-CHECKLIST
- Governance-SECURITY-MODULE-5671-EVIDENCE-SUMMARY
- Governance-SHARDING-P6-RESIDUAL-RISK-ACCEPTANCE
- Governance-SOURCECODE-COMPLIANCE-GOVERNANCE
- Governance-UPDATES-DEVELOPMENT-STATUS-SIGN-OFF
- Governance-WAVE-C-IMPLEMENTATION-COMPLETE
- Module-acceleration-Roadmap
- Module-access-model-Roadmap
- Module-ai-Roadmap
- Module-analytics-Roadmap
- Module-api-Roadmap
- Module-aql-Roadmap
- Module-auth-Roadmap
- Module-base-Roadmap
- Module-cache-Roadmap
- Module-cdc-Roadmap
- Module-chaos-Roadmap
- Module-chimera-Roadmap
- Module-config-Roadmap
- Module-content-Roadmap
- Module-core-Roadmap
- Module-distributed-knowledge-Roadmap
- Module-distributed-tensor-Roadmap
- Module-document-Roadmap
- Module-ethics-ai-Roadmap
- Module-evaluation-Roadmap
- Module-execution-Roadmap
- Module-exporters-Roadmap
- Module-failover-Roadmap
- Module-geo-Roadmap
- Module-governance-Roadmap
- Module-gpu-Roadmap
- Module-graph-Roadmap
- Module-image-analysis-Roadmap
- Module-importers-Roadmap
- Module-index-Roadmap
- Module-ingestion-Roadmap
- Module-llama-cpp-Roadmap
- Module-llm-Roadmap
- Module-llm-streaming-Roadmap
- Module-llm-wiki-Roadmap
- Module-maintenance-Roadmap
- Module-metadata-Roadmap
- Module-network-Roadmap
- Module-observability-Roadmap
- Module-onnx-clip-Roadmap
- Module-performance-Roadmap
- Module-plugins-Roadmap
- Module-process-Roadmap
- Module-projects-Roadmap
- Module-prompt-engineering-Roadmap
- Module-query-Roadmap
- Module-rag-Roadmap
- Module-replication-Roadmap
- Module-retrieval-Roadmap
- Module-rpc-grpc-Roadmap
- Module-scheduler-Roadmap
- Module-scraper-Roadmap
- Module-search-Roadmap
- Module-security-Roadmap
- Module-server-Roadmap
- Module-sharding-Roadmap
- Module-stable-diffusion-Roadmap
- Module-storage-Roadmap
- Module-temporal-Roadmap
- Module-tensor-Roadmap
- Module-themis-Roadmap
- Module-timeseries-Roadmap
- Module-toolbox-Roadmap
- Module-training-Roadmap
- Module-transaction-Roadmap
- Module-updates-Roadmap
- Module-user-storage-encrypted-Roadmap
- Module-utils-Roadmap
- Module-vector-search-Roadmap
- Module-voice-Roadmap
- Module-whisper-Roadmap