Skip to main content

Journal Freeze on Error Setting is No

Journal Freeze on Error Setting is No

If you configure InterSystems IRIS not to freeze on a journal file I/O error, the journal daemon retries the failed operation periodically (typically at one second intervals) until either it succeeds or one of the following conditions is met:

  • The daemon has been retrying the operation for a predetermined time period (typically 150 seconds)

  • The system cannot buffer any further journaled updates

When one of these conditions is met, journaling is disabled and database updates are no longer journaled. As a result, the journal is no longer a reliable source from which to recover databases if the system crashes. The following conditions exist when journaling is disabled:

  • Transaction rollback fails, generating <ROLLFAIL> errors and leaving transactions partly committed.

  • Crash recovery of uncommitted data is nonexistent.

  • Full recovery no longer exists. You are able to recover only to the last backup.

  • ECP lock and transaction recoverability guarantees are compromised.

  • If the system crashes, InterSystems IRIS startup recovery does not attempt to roll back incomplete transactions started before it disabled journaling because the transactions may have been committed, but not journaled.

What to do if journaling is disabled?

To summarize, if journaling is disabled, perform the following steps:

  1. Resolve the problem — As soon as possible, resolve the problem that disabled journaling.

  2. Switch the journal file — The Journal daemon retries the failed I/O operation periodically in an attempt to preserve the journal data accumulated prior to the disabling. If necessary, you can switch the journal file to a new directory to resolve the error; however, InterSystems IRIS does not re-enable journaling automatically even if it succeeds with the failed I/O operation and switches journaling to a new file. It also does not re-enable journaling if you switch the journal file manually.

  3. Back up the databases — on the main server (the backup automatically re-enables journaling if you have not done so).

    InterSystems strongly recommends backing up your databases as soon as possible after the error to avoid potential data loss. In fact, performing an online backup when journaling is disabled due to an I/O error restarts journaling automatically, provided that the error condition that resulted in the disabling of journaling has been resolved and you have sufficient privileges to do so. You can also enable journaling by running ^JRNSTART.

    When a successful backup operation restarts journaling, InterSystems IRIS discards any pending journal I/O, since any database updates covered by the pending journal I/O are included in the backup.

    Important:

    Starting journaling requires higher privileges than running a backup.

FeedbackOpens in a new tab