Bug #22189 Duplicate entry '1' for key 'PRIMARY', Falcon needs serializable isolation level
Submitted: 9 Sep 2006 10:54 Modified: 26 May 2010 17:48
Reporter: Georg Richter Email Updates:
Status: Unsupported Impact on me:
None 
Category:MySQL Server: Falcon storage engine Severity:S4 (Feature request)
Version:6.0 OS:Any (all)
Assigned to: CPU Architecture:Any
Tags: F_NEW FEATURE, ISOLATION, SERIALIZABLE

[9 Sep 2006 10:54] Georg Richter
Description:
 Test case is falcon_bug_243.test. If I set storage engine to InnoDB (in .test and .result file), the test passes.

How to repeat:
./mysql-test-run.pl falcon_bug_243.test
[18 Oct 2006 19:22] Kevin Lewis
This bug is another one like Bug#22151 (falcon_bug_148) in that it shows a failure of the Falcon engine to do Serializable transactions as expected.  Serializable transactions will be done after alpha is released.
[21 Oct 2006 4:41] Calvin Sun
Change to P3. Serializable isolation level is not supported in alpha. As the matter of fact, it was not even planned for Falcon V1. But we will reconsider it.
[27 Oct 2006 18:30] Kevin Lewis
Added a warning to MySQL whenever a falcon table is accessed inside a Serializable or Read-Uncommitted transaction.  It looks like this;
mysql> show warnings;
+---------+------+---------------
| Level   | Code | Message                                           
+---------+------+---------------
| Warning | 1556 | Falcon does not support SERIALIZABLE ISOLATION,
using REPEATABLE READ instead.

and;

| Warning | 1556 | Falcon does not support READ UNCOMMITTED ISOLATION,
using REPEATABLE READ instead.
[9 May 2007 16:19] Kevin Lewis
Added "Falcon needs serializable isolation level" to synopsys and unassigned since we ar not sure who will do this.
[4 Feb 2008 21:28] Ann Harrison
This is pretty much the same test as 22151 - and even if (when) falcon
has a serializable mode, it's not clear that it will get the same 
result as InnoDB.  That depends on how we implement serializable
transactions.  Both the InnoDB result and ours will be correct -
the database will be a state that is consistent with having the
successful transactions run serially in some order.  But the order
may be different and the places where conflicts cause errors may
be different.