Bug 40178

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.x, 2.2, 2.1.5, 2.1.4, 2.1.x, 1.2.6, 1.2.5, 1.2.x

Linux

2.4

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.

Workaround

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

System transactionMode: #manualBegin


Last updated: 10/16/09