Hi,
RTO_SERVER_RESTART was build to configure the server for optimized recovery after a (non-graceful) shutdown event.
At recovery time, the server will roll forward the stored transactions in the logs (starting from last full checkpoint),
so the number of unflushed buffers after last checkpoint are relevant for this.
This functionality was of course designed for transactional load (I personally have always had logged databases with
transactional applications during the whole time I have been working with Informix (started with Informix 5.0 back in 1993).
This parameter was a very good idea to get away from regular checkpoints at fix intervals to more load dependent behaviour.
The parameter defines the goal for maximum recovery time after an unclean shutdown.
(a clean shutdown would include a checkpoint (onmode -ukcy).
There are a number of parameters influencing the behaviour, most of them related to transactional databases
with logging (aiming to do a full restore up to the moment of shutdown, optimally losing only open transactions).
So yes, this parameter could of course influence the behaviour of checkpoints in a non-logging system in a weird way.
The comment in recent onconfig files for the CKPINTVL parameter is the following (cannot tell for 11.70, but this is from 14.10):
# CKPINTVL - Specifies how often, in seconds, Informix checks
# if a checkpoint is needed. 0 indicates that
# Informix does not check for checkpoints. Ignored
# if RTO_SERVER_RESTART is set.
There you can see that setting RTO_SERVER_RESTART really makes CKPINTVL obsolete.
Since you do not have any logs resulting from transactions, RTO_SERVER_RESTART does not make sense in your environment.
So it is not really a defect that no checkpoints are occurring, but a simple (documented) feature.
The RTO_SERVER_RESTART simply has not found enough transactions to trigger the checkpoint.
Best,
Original Message:
Sent: 11/7/2025 4:16:00 PM
From: Joel Schumacher
Subject: RE: Checkpoints rarely occurring
Thank you. We're working on the 14.10 upgrade, but we're have FourJs issues that prevented upgrading. We're progressing though. But now we're stuck on 11.70. I'd have to look at what 12.10 can be installed on. And, whether it works with that version of FourJs.
I did copy all of the onconfig files for our clients so I could do comparisons and grep certain paramaters. As well as do an onstat -g ckp on each client and see which ones were doing checkpoints and which weren't.
Turns out, ALL of the clients with RTO_SERVER_RESTART set to a value other than 0 were the ones not doing regular checkpoints. Apparently this overrides the checkpoint interval to do it's own thing. Only it wasn't doing it's own thing regularly enough. We're talking several hours of usage.
I don't know why this was set at one place vs another. The only thing we ever do to the onconfig file after installation is change TAPEDEV to NUL. Recovery Time Objective sounds like something related to applying log files during recovery. That's something I'm unfamiliar with. The code I've inherited does not use transaction logging. The databases are created without LOG. It's possible in some of the installs, "Transaction logging supported by applications(s)" on the Database Server Usage screen was checked "Yes". Maybe that caused the installation to set the RTO_SERVER_RESTART to 60 at these sites?
Apparently 0 means disabled and a value (60 or probably even 1 or 2) means enabled.
I was able to stop the service, set this value to 0, then restart the service and checkpoints started happening.
I did notice that there was sometimes more than 5 minutes. This was like 2am and the database wasn't active. I'm assuming if nothing is "dirty" and has nothing to do, that the every 5 minute checkpoint won't register on the onstat -b ckp? That it's not going to show up if it did nothing, only when it needs to flush cache to disk.
Last night, after changing the RTO_SERVER_RESTART to 0, it was showing checkpoints, not at every 5 minutes. It was 10 minutes or more. But now, during the day, with users on the system, it's every 5 minutes, just like the configuration says.
------------------------------
Joel Schumacher
------------------------------