Hi,
a little test with mediawiki showed that if two users are editing the same page in parallel, the changes of the user who saves last overwrites (removes) all changes the other user saved.
Is it possible to enable database locking (either optimistic or pessimistic) to prevent this?
Ciao, Steffen
On Sat, 02 Oct 2004 00:47:32 +0200, Steffen Siebert steffen.siebert@logware.de wrote:
Hi,
a little test with mediawiki showed that if two users are editing the same page in parallel, the changes of the user who saves last overwrites (removes) all changes the other user saved.
This shouldn't be the case: the second user should either: have their edits automatically merged with those of the first user; or, receive an "Edit conflict" screen, showing them the difference between the conflicting versions, and asking them to manually resolve the issue.
On Sat, 02 Oct 2004 00:47:32 +0200, Steffen Siebert steffen.siebert@logware.de wrote:
a little test with mediawiki showed that if two users are editing the same page in parallel, the changes of the user who saves last overwrites (removes) all changes the other user saved.
Are you, by any chance, running the web server/PHP on a Solaris platform? I'm noticing the same behaviour, but only on Solaris: Linux-based installs do the right thing. I just submitted a bug report yesterday (#619). Seems odd that it would be OS-based, but unless I've missed something blindingly obvious...
Later, Steve
On Sat, 2 Oct 2004 08:55:01 -0400, Steve Elgersma elgersma@gmail.com wrote:
Are you, by any chance, running the web server/PHP on a Solaris platform? I'm noticing the same behaviour, but only on Solaris: Linux-based installs do the right thing. I just submitted a bug report yesterday (#619). Seems odd that it would be OS-based, but unless I've missed something blindingly obvious...
Well, since the code merging uses an external facility (diff3) this could easily vary between OSes. My suspicion is that the command-line arguments aren't the same. I've added a comment to http://bugzilla.wikipedia.org/619
On Sat, 2 Oct 2004 08:55:01 -0400, Steve Elgersma elgersma@gmail.com wrote:
On Sat, 02 Oct 2004 00:47:32 +0200, Steffen Siebert steffen.siebert@logware.de wrote:
a little test with mediawiki showed that if two users are editing the same page in parallel, the changes of the user who saves last overwrites (removes) all changes the other user saved.
Are you, by any chance, running the web server/PHP on a Solaris platform? I'm noticing the same behaviour, but only on Solaris:
Rowan called it (thanks, Rowan). Turns out it's using an external program (diff3) as part of the conflict resolution, and it's expecting the GNU version of diff3. In my case, it was picking up the Solaris diff3, which has different command-line options. The solution is to edit your LocalSettings.php, and add the line: $wgDiff3='';
Note that I had the GNU version of diff3 as well, and setting the variable to the path to it seemed to produce the same result as the null setting. YMMV.
The above solution can also be found on the bug page, which I've left open in hopes that the install can be modified to test for the GNU version of diff3.
Later, Steve
mediawiki-l@lists.wikimedia.org