OK to Push!
On Tue, 2008-08-12 at 13:42 +0000, Olav Sandstaa wrote:
> #At file:///home/os136802/mysql/develop/repo/falcon-bug35932/
>
> 2775 Olav Sandstaa 2008-08-12
> Initial fix to Bug#35932 Falcon crashes in Transaction::commitNoUpdates for
> simple SELECT queries
>
> Changed the failing assert so that it handles that the transition of the
> Transaction object from Active
> to Available is not "atomic" when seen from a thread not having locked the
> transaction object.
> modified:
> storage/falcon/Transaction.cpp
>
> per-file messages:
> storage/falcon/Transaction.cpp
> Change the assert to handle that the transition of the Transaction object from
> Active
> to Available is not "atomic".
> === modified file 'storage/falcon/Transaction.cpp'
>
> === modified file 'storage/falcon/Transaction.cpp'
> --- a/storage/falcon/Transaction.cpp 2008-07-31 10:04:30 +0000
> +++ b/storage/falcon/Transaction.cpp 2008-08-12 13:42:43 +0000
> @@ -778,7 +778,8 @@
>
> if (COMPARE_EXCHANGE_POINTER(&state->transaction, transaction, NULL))
> {
> - ASSERT(transaction->transactionId == state->transactionId ||
> transaction->state == Available);
> + ASSERT(transaction->transactionId == state->transactionId ||
> transaction->transactionId == 0);
> + ASSERT(transaction->state == Active || transaction->state == Available);
> transaction->releaseDependency();
> }
> }
>
>