aboutsummaryrefslogtreecommitdiff
path: root/roomserver/storage
diff options
context:
space:
mode:
authorTill <2353100+S7evinK@users.noreply.github.com>2022-09-13 08:07:43 +0200
committerGitHub <noreply@github.com>2022-09-13 08:07:43 +0200
commit100fa9b2354efa05b4fbff3a3cb745ea7783d41c (patch)
tree0cd221d7d313a1f000637f981b1c0397f3f856cf /roomserver/storage
parent62afb936a5d282d0f500645c3442c1c294d37bdb (diff)
Check unique constraint errors when manually inserting migrations (#2712)
This should avoid unnecessary logging on startup if the migration (were we need `InsertMigration`) was already executed. This now checks for "unique constraint errors" for SQLite and Postgres and fails the startup process if the migration couldn't be manually inserted for some other reason.
Diffstat (limited to 'roomserver/storage')
-rw-r--r--roomserver/storage/postgres/storage.go5
-rw-r--r--roomserver/storage/sqlite3/storage.go4
2 files changed, 2 insertions, 7 deletions
diff --git a/roomserver/storage/postgres/storage.go b/roomserver/storage/postgres/storage.go
index 26178df8..23a5f79e 100644
--- a/roomserver/storage/postgres/storage.go
+++ b/roomserver/storage/postgres/storage.go
@@ -21,8 +21,6 @@ import (
"errors"
"fmt"
- "github.com/sirupsen/logrus"
-
// Import the postgres database driver.
_ "github.com/lib/pq"
@@ -79,8 +77,7 @@ func executeMigration(ctx context.Context, db *sql.DB) error {
if err != nil {
if errors.Is(err, sql.ErrNoRows) { // migration was already executed, as the column was removed
if err = sqlutil.InsertMigration(ctx, db, migrationName); err != nil {
- // not a fatal error, log and continue
- logrus.WithError(err).Warnf("unable to manually insert migration '%s'", migrationName)
+ return fmt.Errorf("unable to manually insert migration '%s': %w", migrationName, err)
}
return nil
}
diff --git a/roomserver/storage/sqlite3/storage.go b/roomserver/storage/sqlite3/storage.go
index c7bc0039..01c3f879 100644
--- a/roomserver/storage/sqlite3/storage.go
+++ b/roomserver/storage/sqlite3/storage.go
@@ -22,7 +22,6 @@ import (
"fmt"
"github.com/matrix-org/gomatrixserverlib"
- "github.com/sirupsen/logrus"
"github.com/matrix-org/dendrite/internal/caching"
"github.com/matrix-org/dendrite/internal/sqlutil"
@@ -87,8 +86,7 @@ func executeMigration(ctx context.Context, db *sql.DB) error {
if err != nil {
if errors.Is(err, sql.ErrNoRows) { // migration was already executed, as the column was removed
if err = sqlutil.InsertMigration(ctx, db, migrationName); err != nil {
- // not a fatal error, log and continue
- logrus.WithError(err).Warnf("unable to manually insert migration '%s'", migrationName)
+ return fmt.Errorf("unable to manually insert migration '%s': %w", migrationName, err)
}
return nil
}