temporalio/temporal · error · Unavailable
rowsAffected returned %v DLQ metadata instead of one
Error message
rowsAffected returned %v DLQ metadata instead of one
What it means
Error "rowsAffected returned %v DLQ metadata instead of one" thrown in temporalio/temporal.
Source
Thrown at common/persistence/sql/queue.go:284
ctx context.Context,
metadata *persistence.InternalQueueMetadata,
) error {
err := q.txExecute(ctx, "UpdateDLQAckLevel", func(tx sqlplugin.Tx) error {
result, err := tx.UpdateQueueMetadata(ctx, &sqlplugin.QueueMetadataRow{
QueueType: q.getDLQTypeFromQueueType(),
Data: metadata.Blob.Data,
DataEncoding: metadata.Blob.EncodingType.String(),
})
if err != nil {
return serviceerror.NewUnavailablef("UpdateDLQAckLevel operation failed. Error %v", err)
}
rowsAffected, err := result.RowsAffected()
if err != nil {
return fmt.Errorf("rowsAffected returned error for DLQ metadata %v: %v", q.queueType, err)
}
if rowsAffected != 1 {
return fmt.Errorf("rowsAffected returned %v DLQ metadata instead of one", rowsAffected)
}
return nil
})
if err != nil {
return serviceerror.NewUnavailable(err.Error())
}
return nil
}
func (q *sqlQueue) GetDLQAckLevels(
ctx context.Context,
) (*persistence.InternalQueueMetadata, error) {
row, err := q.DB.SelectFromQueueMetadata(ctx, sqlplugin.QueueMetadataFilter{
QueueType: q.getDLQTypeFromQueueType(),
})
if err != nil {
return nil, serviceerror.NewUnavailablef("GetDLQAckLevels operation failed. Error %v", err)View on GitHub (pinned to bde624efd1)
When it happens
Trigger: Thrown at common/persistence/sql/queue.go:284 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/fec9130b34f75d73.
Report an issue: GitHub.