Modify

Opened 2 years ago

Last modified 2 years ago

#21947 new defect

JOSM : Download from Overpass request failed (server too busy)

Reported by: SiiG Owned by: team
Priority: normal Milestone:
Component: Core Version: latest
Keywords: Cc: SiiG

Description

Hi,

For several days we have encountered the following problem when downloading data from the following overpass request under JOSM (11.0.13):

[out:xml][timeout:25];
{{geocodeArea:Gaujac, Gard}}->.searchArea;
(

nodehighway(area.searchArea);
nodeaddr:housenumber(area.searchArea);
wayhighway(area.searchArea);
relation["type"="associatedStreet"](area.searchArea);

);
(._;>;);
out meta;

The following error message is returned by JOSM and we are unable to download the data:

ResponseCode=504, Error Header=<timeout. The server is probably too busy to handle your request.>, Error Body=<<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-W3CDTD XHTML 1.0 Strict EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang ="en" lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" lang="en"/> <title>OSM3S Response< /title> </head> <body> <p>The data included in this document is from www.openstreetmap.org. The data is made available under ODbL.</p> <p><strong style="color:#FF0000">Error</strong>: runtime error: open64: 0 Success /osm3s_v0.7.57_osm_base Dispatcher_Client::request_read_and_idx:: timeout. The server is probably too busy to handle your request. </p> </body> </html>>

Does anyone have a solution for us because we are stuck in our work ?

Thank you in advance

Attachments (0)

Change History (5)

comment:1 by skyper, 2 years ago

Yes, me too. On the other hand for small areas it is sometimes working for me. I guess the problem is with the overpass server and the message is true.
You can try to use a different server, though, see Help/Preferences/Connection.

comment:2 by taylor.smock, 2 years ago

Priority: majornormal

We (JOSM) don't run any public Overpass API server. See wiki:/Help/Preferences/Connection#OverpassServer for the preference location and a link to a list of public Overpass API servers. (JOSM Preferences -> OSM Server -> modify Overpass server to another overpass instance).

I guess one question is should we add more public Overpass API servers to the defaults? (see comment:18:ticket:11428, r8688 for the introduction of http://overpass.openstreetmap.ru/cgi -- the server provider had to move off of rambler, see r13682).

I'm personally disinclined to hardcode additional overpass API servers, so we'd want to have something like the background layer page for overpass API servers.

comment:3 by anonymous, 2 years ago

It is possible to get a status to check how many slots are available.
It also give the time to wait.

Read about it here
https://dev.overpass-api.de/overpass-doc/en/preface/commons.html
In section "Rate Limit"

Use http://overpass-api.de/api/status
to get a response with slots available.

Example 1, 2 slots ready, continue :
Rate limit: 2
2 slots available now.

Example 2, 1 slot ready, continue :
Rate limit: 2
1 slots available now.
Slot available after: 2022-03-18T13:55:34Z, in 9 seconds.

Example 3, no slot ready, wait:
Rate limit: 2
Slot available after: 2022-03-18T13:55:23Z, in 48 seconds.
Slot available after: 2022-03-18T13:55:34Z, in 59 seconds.

Example 4, the time can be negative, 1 slot ready, continue :
Rate limit: 2
Slot available after: 2022-03-18T13:55:34Z, in -1 seconds.
Slot available after: 2022-03-18T13:56:34Z, in 59 seconds.

comment:4 by taylor.smock, 2 years ago

I've actually written something that parses said /status page before. I don't know if I'd want to port it to JOSM as is -- I'd probably want to have some kind of timer to wait for the timeout to finish, possibly refreshing every 60s if the timeout is >2 minutes, listeners for when the timeout finishes, etc.

It looks like the /status api call was introduced in 9e60cd030f87732bfb0f9c1a9ca5279976c31bce (in v0.7.53, released on 2016-08-30).

So it should be safe to assume that all live overpass api instances have a /status endpoint.

comment:5 by anonymous, 2 years ago

It is possible to add a timeout in the request, then it is aborted by the server.

Read about it here
https://dev.overpass-api.de/overpass-doc/en/preface/commons.html
In section "Timeout and Maxsize"

As long as timeout internally in JOSM-program is longer than timeout in request then server will timeout first. Then the message from server can be displayed to the user.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as new The owner will remain team.
as The resolution will be set. Next status will be 'closed'.
to The owner will be changed from team to the specified user.
Next status will be 'needinfo'. The owner will be changed from team to SiiG.
as duplicate The resolution will be set to duplicate. Next status will be 'closed'. The specified ticket will be cross-referenced with this ticket.
The owner will be changed from team to anonymous. Next status will be 'assigned'.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.