SQLStreams

the messaging platform that is just Postgres

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

message dead-lettered [SQL0029]

Edit this page
code SQL0029 · log event at warn — degraded but self-healing, or a durable data consequence; an operator should learn of it eventually
the log line · Report this thread
SQL0029 Log event at warn

As it arrives in your log — example values stand where yours will:

level=WARN msg="message dead-lettered" code=SQL0029 schema=sqlstreams stream_id=1 group_id=7 message_id=214

One delivery was written terminal. The row stays in the delivery log as dead and will not be retried. The line names the group, stream, and message id; the failure that classified it is in the row’s last_error column, which the diagnose query reads. The handler’s error text is never logged, so a payload a handler formats into its error stays in the row.

brandon Site Admin brandon profile Posts: 677

Helpful info.

  1. the delivery row the dead-lettering wrote

    SELECT
    	status,
    	attempts,
    	last_error,
    	updated_at
    FROM {schema}.exception_queue_{stream_id}
    WHERE consumer_group_id = {group_id}
    	AND message_id = {message_id};
  2. every attempt it made, oldest first

    SELECT
    	attempt,
    	status,
    	error,
    	attempted_at
    FROM {schema}.delivery_log_{stream_id}
    WHERE consumer_group_id = {group_id}
    	AND message_id = {message_id}
    ORDER BY attempt;
  3. the message itself

    SELECT
    	id,
    	routing_key,
    	payload,
    	created_at
    FROM {schema}.message_log_{stream_id}
    WHERE id = {message_id};
Nothing pasted yet — the queries above show their blanks.

Looking for a different code? Search every thread.