Bug 49382

Critical

GemStone/S 64 Bit

3.6, 3.5.5, 3.5.4, 3.5.3, 3.5.1, 3.5, 3.4.5, 3.4.4, 3.4.3, 3.4.2, 3.4.1, 3.4, 3.3.9, 3.3.8, 3.3.7, 3.3.6, 3.3.5, 3.3.4, 3.3.3, 3.3.2, 3.3.1, 3.3, 3.2.1.6, 3.2.1.5, 3.2.1.4, 3.2.1.3, 3.2.x, 3.1.x, 3.1

3.6.1, 3.5.6

Nested transactions that modify kinds of IdentityBag have risk of undetected corruption in tranlogged data

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

Workaround

New versions will be released as soon as they are ready.  Contact GemTalk Techincal Support for early access or special patch releases.


Last updated: 2/16/21