Bug 40394


GemStone/S 64 Bit

2.4.1, 2.4,, 2.3.1, 2.3,,,,, 2.2.5, 2.2.x, 2.2, 2.1.4, 2.1.x, 2.1, 2.0.5, 2.0.4, 2.0.x, 2.0



continueTransaction can result in stone crash

Transactions with many indexing updates that execute continueTransaction
could potentially encounter a stone crash during the subsequent commit.

Updates to indexes are written to a buffer. The internal record keeping
regarding the transaction status did not correctly handle the case where
this buffer was filled up before a continueTransaction was executed.  This
situation resulted in a missing "begin" record. Later, when this transaction
is committing, the stone discovered the missing "begin". To avoid risk
of corruption, the stone crashed, with error messages in the stone log
error including:

In cancelBeginRecord: no outstanding begin for session NN


Avoid use of continueTransaction, particularly with large transactions
involving indexing updates.

Last updated: 1/19/10