You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A Graylog cluster only works correctly, if all MongoDB migrations have been executed. There are currently two options how migrations are run:
The leader node of a cluster executes migrations in a dedicated startup phase
Migrations are explicitly triggered by running the graylog migrate command prior to starting any node in the cluster
If a node is started without migrations being run, this is potentially dangerous. This applies to both a pristine Graylog setup or, more importantly after a version upgrade of a Graylog cluster.
There are a couple of scenarios how this could happen:
A non-leader node is started as the first node.
Automatic execution of migrations has been disabled (run_migrations=false) but the graylog migrate command has not been executed prior to starting a node
We should detect this situation and handle it properly, e.g. by delaying node startup until migrations have been executed by a different node or the migration command. We might also abort node startup altogether.
As a detection mechanism we could keep track of the set of migrations that have been executed in MongoDB. Alternatively we could track the software version of the cluster in MongoDB and update it only after migrations have been run successfully. There might be other options.
The text was updated successfully, but these errors were encountered:
A Graylog cluster only works correctly, if all MongoDB migrations have been executed. There are currently two options how migrations are run:
graylog migrate
command prior to starting any node in the clusterIf a node is started without migrations being run, this is potentially dangerous. This applies to both a pristine Graylog setup or, more importantly after a version upgrade of a Graylog cluster.
There are a couple of scenarios how this could happen:
run_migrations=false
) but thegraylog migrate
command has not been executed prior to starting a nodeWe should detect this situation and handle it properly, e.g. by delaying node startup until migrations have been executed by a different node or the migration command. We might also abort node startup altogether.
As a detection mechanism we could keep track of the set of migrations that have been executed in MongoDB. Alternatively we could track the software version of the cluster in MongoDB and update it only after migrations have been run successfully. There might be other options.
The text was updated successfully, but these errors were encountered: