When collections are modified in GemStone, only the changes are logged to the transaction logs; this incremental logging avoids transaction log bloat. In the case of modifications to certain kinds of collections (subclasses of IdentityBag), when the modification is done within a nested transaction, the incremental logging was not correct.
If these tranlogs were replayed, either after restore from backup, or in a warm or hot standby system, the restored collection may contain nils rather than valid results. Object audit did not detect this, since the elements were nil.
This bug only occurs when the modifications are from within nested transactions, e.g., after invoking beginNestedTransaction; and only for modifications to instances of subclasses of IdentityBag. The affected collections are:
IdentityBag
BucketValueBag
IdentitySet
AbstractUserProfileSet
UserProfileSet
ClassSet
GsObjectSecurityPolicySet
RcIdentitySet
StringPairSet
SymbolSet
UserProfileGroup ( groupName)
RcIdentityBag ( components)
RcLowMaintenanceIdentityBag
Upgrade to a version with the fix; due to related bugs, you should upgrade to v3.6.2 or later, or v3.5.8 or later.
Contact GemTalk Technical Support for a limited distribution 3.4.x release providing a workaround.
Last updated: 4/11/22