Bug 43785

GemStone/S 64 Bit

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.1, 3.3, 3.2.16, 3.2.15, 3.2.14, 3.2.13, 3.2.12, 3.2.11, 3.2.10, 3.2.9, 3.2.8.1, 3.2.8, 3.2.7, 3.2.6, 3.2.5, 3.2.4, 3.2.3, 3.2.2, 3.2.1, 3.2, 3.1.0.6, 3.1.0.5, 3.1.0.4, 3.1.0.3, 3.1.0.2, 3.1.0.1, 3.1, 3.0.1, 3.0, 2.4.8, 2.4.7, 2.4.6, 2.4.5.1, 2.4.5, 2.4.4.8, 2.4.4.7, 2.4.4.6, 2.4.4.5, 2.4.4.4, 2.4.4.x, 2.4.x, 2.3.1, 2.3, 2.2.5.4, 2.2.5.x, 2.x, 1.x

Failed commit does not ensure stale object views are updated

A failed commit should retain all changes that were made to objects within the current transaction, and update any objects for which updates were committed in other sessions and were not changed in this session. However, there are cases when this second part of the behavior is not reliable.

If an object has been read into memory, then it is not marked invalid by the failed commit, so the old value remains visible as long as the object remains in memory. If the object happens to be removed by the in-memory GC, then when it is read in again from SPC/disk it will have the new value.

Workaround

To get the latest values of objects after a failed commit, perform a selective abort.


Last updated: 7/25/14