Opened 13 years ago
Closed 13 years ago
#7194 closed defect (fixed)
Fail to update a way loaded from osmChange that have been deleted after
Reported by: | Don-vip | Owned by: | Don-vip |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | Core | Version: | latest |
Keywords: | osmChange | Cc: |
Description
When loading this changeset (via Ctrl-L):
http://api.openstreetmap.org/api/0.6/changeset/482681/download
This error occurs: "Deleted node referenced: {way...}".
I managed to avoid this error, but I'm not sure at all it's the best way to handle this, and I'm afraid of potential side effects, can someone take a look at my patch, please ?
Attachments (1)
Change History (7)
by , 13 years ago
Attachment: | 7194.patch added |
---|
follow-up: 2 comment:1 by , 13 years ago
comment:2 by , 13 years ago
Replying to stoecker:
Can you please explain what and why you do?
Yep.
This error comes from calling setDeleted(true) on a way containing deleted nodes (because the way and at least some of its nodes have been deleted after the time of the changeset). There's a data integrity check in Way.checkNodes() that forbids that:
if (n.isDeleted()) throw new DataIntegrityProblemException("Deleted node referenced: " + toString());
The question is: I'm not sure of the proper way to fix that. Is removing all the nodes safe ? Maybe just removing deleted nodes ? Maybe another obvious option I've missed ? :)
follow-up: 4 comment:3 by , 13 years ago
In DownloadOsmChangeTask, it shouldn't update the data. A changeset is the transition from one historic state to the next. Has nothing to do with the present.
Instead we should offer to load the missing data for the given date&time (load node history and use matching old version).
follow-up: 5 comment:4 by , 13 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
Replying to bastiK:
In DownloadOsmChangeTask, it shouldn't update the data. A changeset is the transition from one historic state to the next. Has nothing to do with the present.
Instead we should offer to load the missing data for the given date&time (load node history and use matching old version).
OK I'll fix that and see if the data is correctly updated with a manual update, after changeset loading.
comment:5 by , 13 years ago
Summary: | [Patch needs review] Fail to update a way loaded from osmChange that have been deleted after → Fail to update a way loaded from osmChange that have been deleted after |
---|
It works :)
Can you please explain what and why you do?