Bug: Topic save returns error: CI Date precedes date in revision
Hi- I'm able to predictably reproduce the error below in an unmodified installation of the December 18 Beta Release.
Basically, if I set up two users, and go back and forth between the two users, editing the same page in rapid succession, I'll get this error by the third or four repetition.
Specifically, I'll have each user edit the same page twice before switching over to the other user.
It seems to my novice eyes that, in this example, the revision control system accidentally set a previous revision to 04:16, when the current time was actually only 04:15. In fact, when I waited a minute for the current time to be 04:17, the error message went away.
Any ideas if this is a configuration problem or not? Thx !
During save of file Main.SamAbrams an error was found by the version control system. Please notify your TWiki administrator.
/usr/bin/ci -q -l -m'none' -t-none -w'SamAbrams' /home/sam/sam.dreamhost.com/twiki/data/Main/SamAbrams.txt 2>&1
ci: /home/sam/sam.dreamhost.com/twiki/data/Main/SamAbrams.txt,v: Date 2003/12/23 04:15:34 precedes 2003/12/23 04:16:00 in revision 1.7.
Go back in your browser and save your changes locally.
Test case
See above
Environment
TWiki version: |
TWikiRelease01Feb2003 |
TWiki plugins: |
N/A |
Server OS: |
N/A |
Web server: |
N/A |
Perl version: |
N/A |
Client OS: |
N/A |
Web Browser: |
N/A |
--
SamAbrams - 23 Dec 2003
Follow up
This was reported in
Support.TopicSaveErrorWhenRevisingRapidly
Fix record
This is a rare case, it happens as you note with rapid succession of topic saves. TWiki does not increase the revision if the same user saves the same topic again with a certain time period (one hour by default); in which case the timestamp of the first save is preserved, plus a two minute difference (to account for notification).
Workaround to reduce the chance of running into this: Change the time from two minutes to one minute. In
twiki/lib/TWiki/Store.pm
change
sub saveNew
: (changes indicated in red)
# Add one minute (make small difference, but not too big for notification)
my $epochSec = &TWiki::revDate2EpSecs( $date ) + 60;
$date = &TWiki::formatGmTime( $epochSec, "rcs" );
$text = _addMeta( $web, $topic, $text, $attachment, $rev,
$meta, $epochSec, $user );
Change is in
TWikiAlphaRelease and TWiki.org.
--
PeterThoeny - 26 Dec 2003
Is there any reason why this can't be set to zero, avoiding the problem altogether? Or 30 seconds? (I'm fishing for the smallest time, since I'm personally bumping into this problem a bunch. Yes, I edit excessively
--
SamAbrams - 03 Jan 2004
You can try it out. I don't see a big issue in reducing the time further, you might experience some issues in notification.
--
PeterThoeny - 03 Jan 2004