Neu erstellen der bandwidth.db schlägt fehlt

Moin,

ich habe die db “gelöscht” um zu testen, ob es ein geschwindigkeitsproblem mit der api löst.
Ein neu erstellen der DB schlägt allerdings fehl. Ist ein einfachs löschen nicht möglich?

2022-07-12T12:00:13.735+0200    INFO    db.migration    Database Version        {"Process": "storagenode", "version": 53}
Error: Error during preflight check for storagenode databases: preflight: database "bandwidth": expected schema does not match actual:   &dbschema.Schema{
-       Tables: []*dbschema.Table{
-               (
-                       s"""
-                       Name: bandwidth_usage
-                       Columns:
-                               Name: action
-                               Type: INTEGER
-                               Nullable: false
-                               Default: ""
-                               Reference: nil
-                               Name: amount
-                               Type: BIGINT
-                               Nullable: false
-                               Default: ""
-                               Reference: nil
-                               Name: created_at
-                               Type: TIMESTAMP
-                               Nullable: false
-                       ... // 12 elided lines
-                       s"""
-               ),
-               (
-                       s"""
-                       Name: bandwidth_usage_rollups
-                       Columns:
-                               Name: action
-                               Type: INTEGER
-                               Nullable: false
-                               Default: ""
-                               Reference: nil
-                               Name: amount
-                               Type: BIGINT
-                               Nullable: false
-                               Default: ""
-                               Reference: nil
-                               Name: interval_start
-                               Type: TIMESTAMP
-                               Nullable: false
-                       ... // 12 elided lines
-                       s"""
-               ),
-       },
+       Tables: nil,
-       Indexes: []*dbschema.Index{
-               s`Index<Table: bandwidth_usage, Name: idx_bandwidth_usage_created, Columns: created_at, Unique: false, Partial: "">`,
-               s`Index<Table: bandwidth_usage, Name: idx_bandwidth_usage_satellite, Columns: satellite_id, Unique: false, Partial: "">`,
-       },
+       Indexes:   nil,
        Sequences: nil,
  }

        storj.io/storj/storagenode/storagenodedb.(*DB).preflight:406
        storj.io/storj/storagenode/storagenodedb.(*DB).Preflight:353
        main.cmdRun:241
        storj.io/private/process.cleanup.func1.4:372
        storj.io/private/process.cleanup.func1:390
        github.com/spf13/cobra.(*Command).execute:852
        github.com/spf13/cobra.(*Command).ExecuteC:960
        github.com/spf13/cobra.(*Command).Execute:897
        storj.io/private/process.ExecWithCustomConfigAndLogger:93
        main.main:479
        runtime.main:255
2022-07-12 12:00:13,754 INFO exited: storagenode (exit status 1; not expected

Meinst du die recovations.db? Und wenn ja, die aus der Identity oder aus den Daten neben der config.yaml?

It is not recommended to delete the .db files as they are not individually created on node restart.

You could use this method - https://support.storj.io/hc/en-us/articles/4403032417044-How-to-fix-database-file-is-not-a-database-error - to create all new blank databases and then copy the one you need.

It is unlikely a database would be slowing down your node api.

1 Like

Zur Antwort von @Stob kann ich nur hinzufügen, dass Sie nach dem Wiederaufbau historische Bandbreitennutzungsstatistiken verlieren werden.

1 Like

Irgendwas stimmt mit der DB aber nicht. Die DB liegt auf einer SSD und ist trotzdem total langsam.
Außerdem gibt es immer wieder den Error “db is locked”.
Ich habe zwei weitere Nodes die keine Probleme haben.

von 0 zu starten ist eigentlich nicht mein wunsch, aber ich habe keine andere Lösung gefunden bisher.

Es ist nicht notwendig, bei Null anzufangen. Wenn einige Datenbanken immer noch beschädigt sind, müssen sie auch gemäß der Anleitung repariert werden: https://support.storj.io/hc/en-us/articles/360029309111-How-to-fix-a-database-disk-image-is-malformed- oder gemäß dieser Anleitung neu erstellt werden: https://support.storj.io/hc/en-us/articles/4403032417044-How-to-fix-database-file-is-not-a-database-error

Es ist natürlich seltsam, den Fehler „Datenbank ist gesperrt“ zu sehen, wenn sich Ihre Datenbanken wirklich auf der SSD befinden. Ein solcher Fehler behebt sich entweder von selbst oder es reicht ein Neustart des Knotens.

Ich werde versuchen die DB zu reparieren. Der Fehler ist schon seit einigen Neustarts vorhanden.
Die DB ist 3,6 Gb groß, der Knoten ca. 16 monate alt. Mal sehen ob ich damit weiter komme :slight_smile:

Leider hat das reparieren nichts gebracht.
Ich habe jetzt alle DB’s gelöscht und nun läuft es ohne Probleme.
Falls gewünscht, ich habe noch eine Sicherungskopie, die ich zur Verfügung stellen kann.