stream config replaced [SQL0061]
Edit this pageAs it arrives in your log — example values stand where yours will:
level=WARN msg="stream config replaced" code=SQL0061 schema=sqlstreams stream_id=1
Client.Stream(name).Register found the stream already registered and the
declared config differed from the stored row. The row keeps the newest
declaration; each changed field rides the line as its own attribute
carrying old -> new (retention_ttl, allow_drop_past_committed,
idempotency_key_ttl, delivery_log_mode), and the full snapshot -
with declared_by and declared_at - lands in stream_config_log.
PartitionSize is not part of this: a differing one is refused with
SQL0004 and nothing is written.
One line is a config change landing. The same line on every deploy means two services both declare the stream with different configs and overwrite each other on restart - a stream’s config wants exactly one declaring service, and nothing in the library enforces that beyond this line. The diagnose query lists the declarations the stream has received, with who declared each:
sqlstreams explain SQL0061Helpful info.
every declaration this stream has received, newest first
SELECT name, retention_ttl_ns, allow_drop_past_committed, idempotency_key_ttl_ns, empty_compaction_head_ttl_ns, delivery_log_mode, declared_by, declared_at FROM {schema}.stream_config_log WHERE stream_id = {stream_id} ORDER BY id DESC LIMIT 10;
Looking for a different code? Search every thread.