Opened 15 years ago
Last modified 14 years ago
#6402 closed defect
No conflict resolution for deleted ways still used by relations — at Initial Version
| Reported by: | bilbo | Owned by: | team |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | Core | Version: | latest |
| Keywords: | Cc: |
Description
When uploading deletion of node that is referenced by way, conflict is detected and some ways to resolve it are available (JOSM downloads the way that references the node and you can either force node deletion (and modify the way) or keep the node not deleted or somehow solve the problem and continue uploading)
However, when uploading deletion of way still referenced by some relation, JOSM does not handle it intelligently as a conflict and fixing it so you can continue uploading is quite nontrivial. All you get is just a message box "Precondition violation".
This appears on console:
POST http://www.openstreetmap.org/api/0.6/changeset/8302198/upload... Precondition Failed
Error header: Precondition failed: Way 29209581 still used by relation 1411075.
May 31, 2011 4:44:40 PM org.openstreetmap.josm.gui.io.AbstractUploadTask handlePreconditionFailed
WARNING: Warning: error header "Precondition failed: Way 29209581 still used by relation 1411075." did not match with an expected pattern
org.openstreetmap.josm.io.OsmApiException: ResponseCode=412, Error Header=<Precondition failed: Way 29209581 still used by relation 1411075.>
at org.openstreetmap.josm.io.OsmApi.sendRequest(OsmApi.java:635)
at org.openstreetmap.josm.io.OsmApi.sendRequest(OsmApi.java:513)
at org.openstreetmap.josm.io.OsmApi.uploadDiff(OsmApi.java:463)
at org.openstreetmap.josm.io.OsmServerWriter.uploadChangesInChunks(OsmServerWriter.java:163)
at org.openstreetmap.josm.io.OsmServerWriter.uploadOsm(OsmServerWriter.java:205)
at org.openstreetmap.josm.gui.io.UploadPrimitivesTask.realRun(UploadPrimitivesTask.java:237)
at org.openstreetmap.josm.gui.PleaseWaitRunnable.doRealRun(PleaseWaitRunnable.java:83)
at org.openstreetmap.josm.gui.PleaseWaitRunnable.run(PleaseWaitRunnable.java:129)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
The case when trying to delete a way referenced by relationi should be handled better.


