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