Bug 47445

GemStone/S 64 Bit

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.15, 3.2.14, 3.2.13, 3.2.12, 3.2.11, 3.2.10, 3.2.9, 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, 2.4.8, 2.4.7, earlier versions

3.4.2

RcQueue may rarely and incorrectly return a nil element

There is a sequence of events in which an RcQueue may return a nil rather than the next element in the queue. No data is lost in this scenario.

The sequence required to get this case is where a session is performing a cleanupQueue and encounters a concurrency conflict against another session that is performing a read.  The cleanup session aborts and retries the cleanupQueue, which succeeds.  However, the cleanup session has written the removalSequence numbers when it should not, and a read by the other session may now get a nil from the RcQueue.


Last updated: 2/22/18