Corruption on mdbs with multiple clients
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
samba (Ubuntu) |
Invalid
|
Low
|
Unassigned |
Bug Description
Binary package hint: samba
Ubuntu 8.04 / Samba 3.028a
when sharing a Microsoft Access mdb file for read AND write access to at least 2 clients on different PCs your mdb may get corrupted (in my case it always does in a few days or weeks). It took me months to figure this out but now I finally have a clear test case which fails in a few seconds every time it is performed against samba/ubuntu when on the other hand it never fails on smb/windows.
My test case involves repeatedly calling a part of a complex Microsoft Access front-end application that simulates intensive user read/write activity against an mdb back-end which is placed either on an Ubuntu Server or on a Windows 2003 server (actually running on a VM within that Ubuntu Server). If it's necessary I can share that application (you'll need two windows clients to run it). Executing the application from two clients in a specific order[2] results in the two clients getting an Access error[1]. The exact same test never fails if I'm sharing the back-end mdb on a Windows 2003 server.
Haven't yet tested on newer versions of Linux.
_________________
[1] The two clients are creating records with an auto-number field which is supposed to be incrementing by one for every new record. At the point of failure the auto-number field is 100 but client A thinks it's 90 and tries to create a record with id 91 and client B thinks it's 95 and tries to create a record with id 96 (and of course both attempts produce an error).
[2] The order is this:
a) start the application on client-A (the app begins rapid and continuous reading/
b) start the same application on client-B
c) quit the application from client-B
d) restart it
Thank you for taking the time to report this bug and helping to make Ubuntu better.
Could you try the same test with an later release such as Lucid (latest LTS) and maverick?
That will in narrowing down the actual version of samba that is faulty.