Requirement makes database unavailable: Database available — INITIALIZED diagnostics START —

When running neo4j-admin backup, the debug.log shows a message that appears to indicate that the database restarted; however, this is not the case.

2019-05-01 03:14:15.230+0000 INFO [o.n.k.AvailabilityGuard] Requirement makes database unavailable: Database available 
2019-05-01 03:14:15.250+0000 INFO [o.n.k.i.DiagnosticsManager] --- INITIALIZED diagnostics START ---

Let’s explain why this message is showing up and what it means.

When an online backup starts, a separate new instance of the database engine is used to access the data and allow the tool to perform an online backup. The database must be placed into an unavailable state when running a backup to avoid changes (writes) to the data. This separate instance writes its logging to the same debug.log of the main database engine. Hence the incorrect impression that the database restarted, when instead the log is really showing a separate engine which was started by the backup process, placed into an unavailable state, and then shut down once the backup process completed.

In Release 3.5.3 the messaging noted above has been changed for full backups as follows:

2019-01-04 16:11:59.715+0000 INFO [o.n.b.i.BackupImpl] BackupServer:6362-1: Full backup started...
2019-01-04 16:11:59.717+0000 INFO [o.n.k.i.t.l.c.CheckPointerImpl] Checkpoint triggered by full backup @ txId: 28 checkpoint started...
2019-01-04 16:11:59.768+0000 INFO [o.n.k.i.t.l.c.CheckPointerImpl] Checkpoint triggered by full backup @ txId: 28 checkpoint completed in 47ms
2019-01-04 16:11:59.769+0000 INFO [o.n.k.i.t.l.p.LogPruningImpl] No log version pruned, last checkpoint was made in version 0
2019-01-04 16:11:59.847+0000 INFO [o.n.b.i.BackupImpl] BackupServer:6362-1: Full backup finished.

  • Last Modified: 2020-10-22 22:13:22 UTC by Daniel Terlizzi.
  • Relevant for Neo4j Versions: 3.4, 3.5.
  • Relevant keywords backup.