Bug 40178

GemStone/S 64 Bit, 2.3.1, 2.3,,,,, 2.2.5, 2.2.x, 2.2, 2.1.5, 2.1.4, 2.1.x, 1.2.6, 1.2.5, 1.2.x



MFC may run in transaction on Linux

When markForCollection is started, the MFC code normally takes the session out of transaction, so it can respond to sigAborts and avoid a commit record backlog.

On Linux, the code that took the session out of transaction silently failed. As a result, if the session that started an MFC is in transaction - such as one started with the default transaction mode, which is #autobegin - it performs the markForCollection in transaction, and is immune for sigAborts. If there is other activity on the repository, this may result in a large commit record backlog, repository growth and potentially repository shutdown due to running out of space.


Before running a markForCollection, manually go out of transaction. For example, execute the following:

System transactionMode: #manualBegin

Last updated: 10/16/09