Fix redaction deadlocks

This commit is contained in:
Neil Alexander 2020-08-18 17:26:59 +01:00
parent 630d6bd9c5
commit ef02d503bc
No known key found for this signature in database
GPG key ID: A02A2019A2BB0944

View file

@ -571,13 +571,11 @@ func (d *Database) handleRedactions(
return nil, "", nil
}
err = d.Writer.Do(d.DB, txn, func(txn *sql.Tx) error {
return d.RedactionsTable.InsertRedaction(ctx, txn, tables.RedactionInfo{
err = d.RedactionsTable.InsertRedaction(ctx, txn, tables.RedactionInfo{
Validated: false,
RedactionEventID: event.EventID(),
RedactsEventID: event.Redacts(),
})
})
if err != nil {
return nil, "", err
}
@ -605,9 +603,7 @@ func (d *Database) handleRedactions(
redactedEvent.Event = redactedEvent.Redact()
}
// overwrite the eventJSON table
err = d.Writer.Do(d.DB, txn, func(txn *sql.Tx) error {
return d.EventJSONTable.InsertEventJSON(ctx, txn, redactedEvent.EventNID, redactedEvent.JSON())
})
err = d.EventJSONTable.InsertEventJSON(ctx, txn, redactedEvent.EventNID, redactedEvent.JSON())
if err != nil {
return nil, "", err
}