Observability
Database Maintenance Is Overdue Notification due to Equal or Inconsistent Retention Values on SolarWinds Self‑Hosted Platform
This article addresses an issue where the SolarWinds Self‑Hosted Platform (for example, NPM, SAM, Wireless, UnDP, and other time‑series modules) reports the “Database Maintenance Is Overdue” notification for multiple tables, even though database maintenance (DBM) completes successfully and no obvious errors appear in the SwDebugMaintenance.log.
First published date
Last published date
Overview
In the Solarwinds web console, the notification typically appears as:
Figure 1: “Database Maintenance Is Overdue” banner showing SAM Application status and Component status daily tables as overdue.
The Database Maintenance details page may show multiple time‑series tables across different areas (Interfaces, UnDP, Wireless, etc.) as overdue, for example:
Figure 2: Database Maintenance grid listing multiple *_CS_Daily and *_CS_Hourly tables (Interfaces, Custom Poller, Wireless) marked as overdue.
At the same time, SwDebugMaintenance.log shows successful maintenance execution similar to:
2026-03-25 02:15:28,441 [1] WARN SolarWinds.Data.DatabaseMaintenance.TimeSeriesTableHandler - Hourly retention (7) is less than Detail. Adjusting.
2026-03-25 02:15:28,441 [1] WARN SolarWinds.Data.DatabaseMaintenance.TimeSeriesTableHandler - Daily retention (7) is less than Hourly. Adjusting.
2026-03-25 02:15:28,441 [1] INFO SolarWinds.Data.DatabaseMaintenance.TimeSeriesTableHandler - Retention intervals: 7, 8, 9
2026-03-25 02:15:28,457 [1] INFO SolarWinds.Data.DatabaseMaintenance.TimeSeriesTableHandler+TimeSeriesMaintenanceExecutorContext - Running maintenance for APM_ApplicationStatus_CS
2026-03-25 02:15:29,363 [1] INFO SolarWinds.Data.DatabaseMaintenance.MaintenanceEngineHelper - Action 'Finalize Maintenance [APM_ApplicationStatus_CS]' finished, time elapsed: 0.924 sec.Product section
Cause
The issue occurs when data retention values for Detail, Hourly, and Daily are configured identically or not strictly increasing by the SolarWinds platform. For example, SAM Retention settings might be configured as follows:
-
SAM Data Retention: 7 days
-
SAM RetainHourly: 7 days
-
SAM RetainDaily: 7 days
Similar patterns can exist for other modules’ retention settings.
i,e.
-
NPM Daily UDNP Statistics Retention: 7 days
-
NPM Detailed UDNP Statistics : 15 days
-
NPM Hourly UDNP Statistics : 7 days
DBM does not allow equal or inconsistent retention intervals for time‑series metrics. Specifically:
-
-
Hourly must be greater than Detail.
-
Daily must be greater than Hourly.
-
When DBM detects invalid relationships (for example, Hourly ≤ Detail or Daily ≤ Hourly), it automatically adjusts the values internally at runtime. For example:
-
-
-
If
Hourly ≤ Detail, DBM recalculates Hourly with:Hourly = Detail + 1 -
It then ensures
Daily > Hourlyand adjusts as needed.
-
-
This adjustment is visible in the SwDebugMaintenance.log, for example:
WARN ...TimeSeriesTableHandler - Hourly retention (7) is less than Detail. Adjusting.
WARN ...TimeSeriesTableHandler - Daily retention (7) is less than Hourly. Adjusting.
INFO ...TimeSeriesTableHandler - Retention intervals: 7, 8, 9
-
Here, the configured values are all
7, but DBM internally recalculates the effective retention intervals to7(Detail),8(Hourly), and9(Daily). -
The Database Maintenance Overdue checker (the logic that decides whether “Database Maintenance Is Overdue” should be raised) uses the raw configured retention values from settings, not the adjusted runtime values.
-
Because of this mismatch:
-
DBM runs successfully using the adjusted retention for time‑series tables across modules.
-
The Overdue checker still compares maintenance timestamps against the original (invalid) settings, which can cause it to incorrectly flag tables as overdue, even though maintenance actually succeeded.
-
Resolution
RESOLUTION:
-
Update retention settings for each affected product area.
-
SAM
i. Navigate to Settings > All Settings --> SAM Settings > Global SAM Settings > Data and Database Settings.
ii. Please set HOURLY STATISTICS RETENTION to be higher than DETAILED STATISTICS RETENTION and DAILY STATISTICS RETENTION to be higher than HOURLY STATISTICS RETENTION.
iii. Click Submit.
-
-
-
NPM
- Navigate to Settings > All Settings > Thresholds and Polling > Polling Settings > Database Settings.
- Please set HOURLY STATISTICS RETENTION to be higher than DETAILED STATISTICS RETENTION and DAILY STATISTICS RETENTION to be higher than HOURLY STATISTICS RETENTION.
- Click Submit.
- VMAN or VIM
- Navigate to Settings > All Settings --> Virtualization Settings > Retention Settings .
- Please set HOURLY STATISTICS RETENTION to be higher than DETAILED STATISTICS RETENTION and DAILY STATISTICS RETENTION to be higher than HOURLY STATISTICS RETENTION.
- Click Submit.
-
2. Allow DB Maintenance to run
-
-
Wait for the next scheduled DB maintenance window or run Database Maintenance manually
-
After it completes,
Confirm that Database Maintenance overdue are cleared. Database Maintenance and Overdue Checker will be in sync and notification will not appear.