Commit/rollback sync API transactions in writer

This commit is contained in:
Neil Alexander 2020-09-08 15:26:50 +01:00
parent 668a722ee0
commit 9a1491c5ed
No known key found for this signature in database
GPG key ID: A02A2019A2BB0944

View file

@ -427,7 +427,11 @@ func (d *Database) addPDUDeltaToResponse(
return nil, err
}
succeeded := false
defer sqlutil.EndTransactionWithCheck(txn, &succeeded, &err)
defer func() {
_ = d.Writer.Do(d.DB, txn, func(txn *sql.Tx) error {
return sqlutil.EndTransactionWithCheck(txn, &succeeded, &err)
})
}()
stateFilter := gomatrixserverlib.DefaultStateFilter() // TODO: use filter provided in request
@ -620,7 +624,11 @@ func (d *Database) getResponseWithPDUsForCompleteSync(
return
}
succeeded := false
defer sqlutil.EndTransactionWithCheck(txn, &succeeded, &err)
defer func() {
_ = d.Writer.Do(d.DB, txn, func(txn *sql.Tx) error {
return sqlutil.EndTransactionWithCheck(txn, &succeeded, &err)
})
}()
// Get the current sync position which we will base the sync response on.
toPos, err = d.syncPositionTx(ctx, txn)