Database shared memory would fragment when the database was initialized
at Boot or when doing a garbage collection. This could cause a situation
where BoKS was unable to initialize the shared memory after a Boot or
garbage collection even though free shared memory was available.
This could cause a catastrophic situation where a garbage collect would
fail, causing BoKS to try to serve requests with a broken shared memory index,
making authentications fail.
In some cases BoKS did not honor the nopswupdate or noclntd host flags,
and incorrectly queued messages to a machine with one of these flags set.
Resolution / Workaround
Install hotfix HFBM-0045, available for download from the HelpSystems
The initialization routines have been rewritten so after a garbage collection
or a Boot -k; Boot, there is no fragmentation of shared memory. This should
avoid the catastrophic situation above.
Code has also been added to make audit logs to the BoKS log if:
- free shared memory falls below a certain percentage of total memory
(default 30%, can be changed with FREE_SHARED_MEMORY_LIMIT ENV var).
Log label is shm_warn.
- Shared memory is exhausted at Boot or when new data is added.
This log was already present, but was not triggered in all situations.
Log label shm_outof.
- There is already a log if the Master or a Replica does shared memory
garbage collection, log label shm_low. This will happen occasionally
during normal processing and is not a problem unless it starts to happen
often (it does affect performance).
All of the above audit logs are alarm logs by default.
It is already possible to monitor the amount of free shared memory using
the command "dumpbase -m"
Note that servc will still continue to serve requests even if shared memory
is exhausted. With the code fix done, it will act as if it has lost
contact with the Master, and it should still be possible to log in and
increase the amount of shared memory (ENV var SHM_SIZE) to fix the
The cases where BoKS did not correctly honor the nopswupdate and/or the
noclntd host flags have been fixed.
Still have questions? We can help. Submit a case to Technical Support.