Comments (6)
I went back, after filing this bug, and took a look at the delta. Indeed,
between my
pressing the save button and the appearance of the Edit conflict, a second
change
occurred on the page. Thus, it appears the file locking mechanism is not
working as
expected.
Original comment by [email protected]
on 19 Jun 2007 at 2:32
- Added labels: ****
- Removed labels: ****
from wikitcl.
Datapoint extra detail. There's a little debugging narrative created at
conflict,
which reads "error @@Conflict on Edit: '1182262419 [email protected]' ne
'1182263177 [email protected]'" in this case.
The save request contained '1182262419 [email protected]' (being the time the
version you edited was saved and person who saved it) but the value read from
the
database for the saved record (immediately prior to the attempt to save) was
'1182263177 [email protected]', which is a later time! I'm not yet sure how
those
values got to the db - unless (somehow) the request is being processed twice.
This is an intriguing possibility.
Original comment by [email protected]
on 19 Jun 2007 at 3:05
- Added labels: ****
- Removed labels: ****
from wikitcl.
I get the feeling the edit conflicts are time related - i.e. the faster I get
to the
Save button, the more likely they are. If I deliberately go away and do
something
else, then come back to press Save, I never get a conflict (except the time I
got a
real one :-) ).
Original comment by [email protected]
on 19 Jun 2007 at 8:09
- Added labels: ****
- Removed labels: ****
from wikitcl.
I've added code to detect a self-conflict, log it, and just drop the change on
the
floor (that is, refuse to add it) after logging the conflict.
This is a stop-gap aimed at minimising annoyance and flushing out two possible
causes:
1) the client or proxy is sending the POST twice
2) the server is handling the POST twice, despite only getting it once.
In case (1) the edit change will be reflected in the page.
In case (2) the edit change will not be reflected in the page.
I'm hoping, thereby, to test the hypothesis as to cause.
Original comment by [email protected]
on 20 Jun 2007 at 5:47
- Changed title: Tclers Wiki spurious self-conflict on editing
- Added labels: Priority-High
- Removed labels: Priority-Medium
from wikitcl.
Original comment by [email protected]
on 20 Jun 2007 at 8:22
- Added labels: ****
- Removed labels: ****
from wikitcl.
Found the problem: I was sending a 302 response to a POST, but should have been
sending a 303. Solution suggested by
http://osdir.com/ml/web.blogger.api/2004-04/msg00009.html
Original comment by [email protected]
on 20 Jun 2007 at 5:10
- Changed state: Fixed
- Added labels: ****
- Removed labels: ****
from wikitcl.
Related Issues (20)
- Require confirmation of linking to nonexistent pages HOT 2
- Searching for "-use" produces error message about malformed match expression HOT 2
- Previous and Next Page links should skip blanks
- Unsure what activity meter measures
- Minor table style inconsistency
- Incorrect contents of code_blocks for === sections
- Hide page contents in sidebar when <<TOC>> used in page
- Table diffs
- De-centering a paragraph shows as a delete
- 😞 not valid in page HOT 1
- https links always show in red
- Doubled bullets in line compare
- CSS horizontal line above **section**
- Nested bold tags
- Search inop HOT 1
- Invoking a search returns wrong output HOT 1
- Enter "expect" in search (in wikitcl) gives a tcl script HOT 1
- Request making ▲ link show last-day changes
- Link to http::geturl HOT 1
- &! interpreted as [[
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from wikitcl.