temporalio/temporal · error · Unavailable
failed to get last enqueued message id from DLQ: %v
Error message
failed to get last enqueued message id from DLQ: %v
What it means
Error "failed to get last enqueued message id from DLQ: %v" thrown in temporalio/temporal.
Source
Thrown at common/persistence/sql/queue.go:183
blob *commonpb.DataBlob,
) (int64, error) {
var lastMessageID int64
err := q.txExecute(ctx, "EnqueueMessageToDLQ", func(tx sqlplugin.Tx) error {
var err error
lastMessageID, err = tx.GetLastEnqueuedMessageIDForUpdate(ctx, q.getDLQTypeFromQueueType())
switch err {
case nil:
_, err = tx.InsertIntoMessages(ctx, []sqlplugin.QueueMessageRow{
newQueueRow(q.getDLQTypeFromQueueType(), lastMessageID+1, blob),
})
return err
case sql.ErrNoRows:
_, err = tx.InsertIntoMessages(ctx, []sqlplugin.QueueMessageRow{
newQueueRow(q.getDLQTypeFromQueueType(), persistence.EmptyQueueMessageID+1, blob),
})
return err
default:
return fmt.Errorf("failed to get last enqueued message id from DLQ: %v", err)
}
})
if err != nil {
return persistence.EmptyQueueMessageID, serviceerror.NewUnavailable(err.Error())
}
return lastMessageID + 1, nil
}
func (q *sqlQueue) ReadMessagesFromDLQ(
ctx context.Context,
firstMessageID int64,
lastMessageID int64,
pageSize int,
pageToken []byte,
) ([]*persistence.QueueMessage, []byte, error) {
if len(pageToken) != 0 {
lastReadMessageID, err := deserializePageToken(pageToken)
if err != nil {View on GitHub (pinned to bde624efd1)
When it happens
Trigger: Thrown at common/persistence/sql/queue.go:183 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of temporalio/temporal@bde624efd1 (2026-09-01).
Data as JSON: /api/errors/d4a19d2bcb3adab8.
Report an issue: GitHub.