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