SQLStreams

the messaging platform that is just Postgres

You last visited on 9999-99-99 Show what's new since then

stream config replaced [SQL0061]

Edit this page
code SQL0061 · log event at warn — the newest declaration wins; if this is unexpected or repeats on every restart, two services declare this stream with different configs and overwrite each other
the log line · Report this thread
SQL0061 Log event at warn

As 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 SQL0061
brandon Site Admin brandon profile Posts: 677

Helpful info.

  1. 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;
Nothing pasted yet — the queries above show their blanks.

Looking for a different code? Search every thread.