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
Small defects collected during the pre-GA review; none affects data safety, batching them to avoid issue noise.
validator.zig prints user-facing status via std.debug.print instead of the stdout path used by main.zig (src/source/postgres/validator.zig:2,56,91,107,126).
Stale comment in source.zig:231: says "batch wait time (~6 sec)", actual BATCH_WAIT_MS is 100ms.
main.zig has no errdefer for source/producer between their creation and the handoff to Processor (src/main.zig:104-113) — on a wiring error the Postgres connection is not closed (the process exits anyway, so cosmetic).
getPartitionKey swallows all errors including OOM via else |_| {} (src/processor/processor.zig:185).
producer.ziggetOrCreateTopic: topic_conf leaks when rd_kafka_topic_new fails.
Observability.noop() leaves allocator undefined while respondMetrics reads it unconditionally (observability.zig, http.zig); unreachable with the current wiring since serve only starts when observability is configured, but fragile.
relation_registry.zigregister: column name strings leak when the final relations.put hits OOM (OOM-only path).
Identifiers are interpolated into SQL strings in validator.zig (checkTableExists) and replication_protocol.zig (publication/slot checks). Injection is blocked by config validation upstream, but the guard lives far from the query; escape at the call site as hardening.
Small defects collected during the pre-GA review; none affects data safety, batching them to avoid issue noise.
validator.zigprints user-facing status viastd.debug.printinstead of the stdout path used bymain.zig(src/source/postgres/validator.zig:2,56,91,107,126).source.zig:231: says "batch wait time (~6 sec)", actualBATCH_WAIT_MSis 100ms.main.zighas noerrdeferforsource/producerbetween their creation and the handoff toProcessor(src/main.zig:104-113) — on a wiring error the Postgres connection is not closed (the process exits anyway, so cosmetic).getPartitionKeyswallows all errors including OOM viaelse |_| {}(src/processor/processor.zig:185).producer.ziggetOrCreateTopic:topic_confleaks whenrd_kafka_topic_newfails.Observability.noop()leavesallocatorundefined whilerespondMetricsreads it unconditionally (observability.zig,http.zig); unreachable with the current wiring sinceserveonly starts when observability is configured, but fragile.relation_registry.zigregister: column name strings leak when the finalrelations.puthits OOM (OOM-only path).validator.zig(checkTableExists) andreplication_protocol.zig(publication/slot checks). Injection is blocked by config validation upstream, but the guard lives far from the query; escape at the call site as hardening.