| Bug #22183 | Loss of data after INSERT and ALTER with two interleaving transactions | ||
|---|---|---|---|
| Submitted: | 9 Sep 2006 12:40 | Modified: | 5 Dec 2006 16:56 |
| Reporter: | Georg Richter | ||
| Status: | Closed | ||
| Category: | Server: Falcon | Severity: | S2 (Serious) |
| Version: | 5.2 | OS: | Any (all) |
| Assigned to: | Bugs System | Target Version: | |
[9 Sep 2006 12:40]
Georg Richter
[12 Sep 2006 18:40]
Jim Starkey
I don't see anyway to detect or reject an "alter table" from within a storage engine. The first hint that a table rebuild is underway is the rename call, which is both ambiguous and way too late to reject the "alter". If we had a hint that a table rebuild was underway, we could detect a concurrent transaction with uncommitted updates, but I don't see any way this can be done. This is fundamentally a server bug. The server should not attempt to rebuild a table with uncommitted updates.
[9 Nov 2006 19:46]
Jim Starkey
Falcon now gives an error when attempting an "alter table" (or variation) with outstanding transactions. A better solution is to block, but that can wait until after alpha. The message is less that ideal, but the server insists on using its own text rather than getting more explicit text from the storage engine.
[5 Dec 2006 16:56]
Hakan Kuecuekyilmaz
Adjusted falcon_bug_233.test to reflect Falcon behaviour. The test passes now on Linux 32-bit, change set 1.2387, 2006-12-04. TEST RESULT TIME (ms) ------------------------------------------------------- falcon_bug_233 [ pass ] 2096 ------------------------------------------------------- Stopping All Servers All 1 tests were successful. The servers were restarted 1 times Spent 2.096 seconds actually executing testcases Regards, Hakan
