Bug 51768

Critical

GemStone/S 64 Bit

3.7.4.3, 3.7.4.1, 3.7.4, 3.7.2, 3.7.1, 3.7, 3.6.8, 3.6.7, 3.6.6, 3.6.5, 3.6.4, 3.6.3, 3.6.2, 3.6.1, 3.6, older versions

Risk of corruption after restart during large commit record backlog

If the stone is stopped or shuts down while there is a commit record backlog, on restart it disposes of the commit record backlog.

If there is a low free space condition in the extent space while it is disposing of the commit record backlog that was found on restart, such that the Stone attempts to grow the extents, this can cause repository corruption. This is a risk mainly when there is a very large commit record backlog and when there are commits before the disposal process has completed.  

In particular, if DeadNotReclaimedObjs or PagesNeedReclaimSize is also large on restart, or if a markForCollection is run after restart, the reclaim gem will be commiting and the risk is higher.

This bug was found during testing and has not been known to occur in normal use of the product.

Workaround

Upgrade to a version with the fix. Contact GemTalk Technical Support for assistance.

Meanwhile, ensure there is always adequate extent free space on restart. If you add an additional extent or increase the size of an extent, ensure that pregrow is configured so the extent growth happens on stone startup.

If there is a large commit record backlog, avoid starting application activity until the commit record backlog has been disposed. If there is a large amount of pending reclaim activity, disabling reclaim may be helpful.


                

Last updated: 2/9/26