Bug #12027 DBDICT: File has already been opened
Submitted: 19 Jul 2005 9:14 Modified: 1 Sep 2005 14:28
Reporter: Johan Andersson Email Updates:
Status: Closed Impact on me:
Category:MySQL Cluster: Cluster (NDB) storage engine Severity:S3 (Non-critical)
Version:4.1,5.0 OS:Any (*)
Assigned to: Jonas Oreland CPU Architecture:Any

[19 Jul 2005 9:14] Johan Andersson
After a restart I get these 2 different error messages from an ndb node, and the (2 ndb) cluster doesn't start ( a restart -i is necessary):
Problem data: Arbitrator decided to shutdown this node
Date/Time: Thursday 30 June 2005 - 15:52:39
Type of error: error
Message: File has already been opened
Fault ID: 2807
Problem data: open: >/user/database/ndbd/ndb_3_fs/D1/DBDICT/P0.SchemaLog< existing: >/user/database/ndbd/ndb_3_fs/D1/DBDICT/P0.SchemaLog<
Object of reference: OpenFiles::insert()
ProgramName: /usr/mysql/libexec/ndbd
ProcessID: 3675
TraceFile: /var/local/nectar/log//ndb_3_trace.log

How to repeat:
[25 Aug 2005 11:17] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

[25 Aug 2005 12:58] Jonas Oreland
Pushed into 4.1.15 and 5.0.13

A workaround:
DICT writes the schema file in 2 copies
* D1/DBDICT/P0.SchemaLog
* D2/DBDICT/P0.SchemaLog

The bug occured when the first (D1) was corrupt but the second was ok.
so a simple cp D2/DBDICT/P0.SchemaLog D1/DBDICT/P0.SchemaLog would
also solve the problem.
[1 Sep 2005 14:28] Paul DuBois
Noted in 4.1.15, 5.0.12 changelogs. (5.0 fix was
merged into 5.0.12 build clone.)