Bug 40122

Critical

GemStone/S 64 Bit

2.3.1.6, 2.3.1, 2.3, 2.2.5.4, 2.2.5.3, 2.2.5.2, 2.2.5.1, 2.2.5, 2.2.4, 2.2.3, 2.2.x, 2.1.4, 2.1.x

All

2.4

MFC may ignore sigAborts during initial stage

During an initial stage of MFC, the MFC gem reads the dependency
map, which contains information on indexes.  This is normally fast,
but on large systems with many/very large indexes, it may take some
time to read this table.

During this brief initial stage of MFC, the MFC gem may ignore a
sigAbort from the Stone.  The stone, having sent the sigAbort and
not having received acknowlegement, does not send a second sigAbort,
even if the commit record backlog gets very high and the MFC gem is
holding the oldest commit record.

If the MFC gem does not get a sigAbort during the dependencyMap
state, once the MFC progressCount begins to increment, the MFC gem
will respond to sigAborts normally.

Workaround

Starting MFC during periods of no or low activity, when the commit
record backlog limit is not reached and so the stone is not sending
sigAborts, avoids the problem.

Sending a manual sigAbort to the MFC session, once it is past the dependencyMap read state, will force the session to abort and release the commit record.

System Class >> sendSigAbortToSession: (mfcSessionId negated)


Last updated: 7/14/09