[OSM-talk] The Century Edition - JOSM 1.3 released

Immanuel Scholz immanuel.scholz at gmx.de
Sat Apr 29 09:27:33 BST 2006


> Looking good Imi - though I'm having issues uploading data. It gets
> about a third of the way through and then stops telling me the
> connection has timed out ("Error while parsing: An error occured: :
> connect timed out"). Instead of stopping all uploads when that
> happens, would it be possible to try again,

I am sorry, but this is problematic for two reasons.

First, I would need to implement a dependency analysis on the data and
skip those, which depend on the failed object too. Imagine you add two
nodes and a segment between them. If you skip one node, then the segment
cannot be uploaded, since it would reference a node unknown to the
server. Doing such an analysis is possible, but could prove a bit tricky.

And second, if errors in http happen, it makes usually no sense to just
try again. The timeout typically is because too heavy server load, and
in such a case hammering the server further will decrease the overall
responsiveness of the system.

> Are nodes flagged when uploaded to tell JOSM not to reupload
> them again the next time you try to upload after a failed attempt?

Yes. If you do an upload after a broken one, you will only upload those
objects, that hasn't made it the last time. This is very important,
since elsewhere it would create much doubled objects on the server ;).

I'd like to give a warning along: SAVE AFTER EACH UPLOAD! Since an
upload changes the data (If an object is new, it's ID is retrieved from
the server. Also the modified flag gets cleared) you have to save your
data if you have any version of this on disk. (You will get a warning
when try to quit JOSM without saving after an upload, telling you this ;)

The following scenario is unfortunately unavoidable by JOSM and somewhat
fatal to the data on the server:

- enter data
- save the data local to disk
- upload
- quit JOSM, ignore the warning
- open JOSM and reload the save
- upload again
--> All objects will be uploaded as new again to the server.

Note, that you also should do a download prior to each upload. If you
would have done this, the doubles in the scenario would have been
recognized ;-)

Ciao, Imi.

More information about the talk mailing list