Maintenance Mode

The BPC is automatically put into maintenance mode when disk space becomes low. When maintenance mode is active, replication is stopped, among other things. Everything else continues to run normally. The limit is checked every 30 seconds, and only the free disk space on the machines where OpenSearch is installed is checked. More specifically: The partitions where OpenSearch stores its data are checked.

Maintenance mode must be disabled manually.

What happens when maintenance mode is enabled?

  • Replication is stopped

  • No backups of the OpenSearch indices are performed

  • The Log Service endpoints cannot be used

Status Query

There are several ways to check the status:

  • via the BPC web interface on the status page

  • via the Karaf console command: bpc:maintenance-mode status

  • via the JSON status page (http://localhost:8181/cxf/bpc-core/status). There, the value of maintenanceModeEnabled is either true or false.

  • via the status code page (http://localhost:8181/cxf/bpc-core/status/maintenance). This returns either the HTTP status code 200 (disabled) or 503 (enabled).

  • the Prometheus interface provides an bpc_maintenance_mode_enabled metric (1=enabled; 0=disabled)

Manual activation/deactivation

Maintenance mode can be enabled or disabled via the status page.

maintenance mode1

Alternatively, maintenance mode can also be enabled/disabled via the Karaf console:

Enable maintenance mode
virtimo@virtimo()> bpc:maintenance-mode on
Disable maintenance mode
virtimo@virtimo()> bpc:maintenance-mode off

Configuration Options

Disk Space Limit

The unit is MB, and the default value is 10240. If less disk space is available, maintenance mode is activated and replication is stopped. You can adjust this setting via the Karaf console. The steps below set the limit to 4096 MB.

Disk limit set to 4096 MB
virtimo@virtimo()> config:edit de.virtimo.bpc.core
virtimo@virtimo()> config:property-set de.virtimo.bpc.core.maintenancemode.fileSystemLimitInMB 4096
virtimo@virtimo()> config:update

It has been determined that de.virtimo.bpc.core.maintenancemode.fileSystemLimitInMB should be set to the same value as the OpenSearch option cluster.routing.allocation.disk.watermark.low in the <OPENSEARCH-CONFIG-DIR>/opensearch.yml.

Message

Optionally, a maintenance mode message can be set to be displayed to the user upon login.

If OIDC or Keycloak is used as the identity provider, the message will not be displayed.

Set the message
virtimo@virtimo()> config:edit de.virtimo.bpc.core
virtimo@virtimo()> config:property-set de.virtimo.bpc.core.maintenancemode.message "Achtung, noch bis 14:30 Uhr werden Wartungsarbeiten durchgeführt."
virtimo@virtimo()> config:update

Or when activating maintenance mode via a Karaf console command.

Activate maintenance mode and set the message
virtimo@virtimo()> bpc:maintenance-mode -m "Achtung, noch bis 14:30 Uhr werden Wartungsarbeiten durchgeführt." on

Interval

The interval is set to 30 seconds by default and can be adjusted as needed. After that, Karaf must currently be restarted. The adjustment can be made via the Karaf console. The steps below set the interval to 60 seconds.

Set the interval to 60 seconds
virtimo@virtimo()> config:edit de.virtimo.bpc.core
virtimo@virtimo()> config:property-set de.virtimo.bpc.core.systemchecker.interval 60
virtimo@virtimo()> config:update

Check settings

virtimo@virtimo()> config:edit de.virtimo.bpc.core
virtimo@virtimo()> config:property-list
  ...
   de.virtimo.bpc.core.maintenancemode = false
   de.virtimo.bpc.core.maintenancemode.fileSystemLimitInMB = 10240
   de.virtimo.bpc.core.maintenancemode.message =
  ...
virtimo@virtimo()> config:cancel

Keywords: