drolbr / Overpass-API

A database engine to query the OpenStreetMap data.
http://overpass-api.de
GNU Affero General Public License v3.0
693 stars 90 forks source link

Dispatcher_Client::request_read_and_idx::timeout #587

Closed ghowen closed 3 years ago

ghowen commented 3 years ago

For some weeks now I cannot get Overpass-API from the Docker image at https://github.com/wiktorn/Overpass-API to work. I have googled all over the place but I am definitely stuck. The creation of the overpass instance seems to go through fine, nginx is responding to queries, but all queries time out and in the end nginx returns a 504.

The response from nginx is always

<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.55_osm_base Dispatcher_Client::request_read_and_idx::timeout. The server is probably too busy to handle your request. </p>

"Too busy" cannot be the real reason though as I am the only user running simple queries to test.

http://myhost.com:12345/api/status returns

Connected as: 1559890362
Current time: 2020-07-16T15:51:08Z
Rate limit: 0
Currently running queries (pid, space limit, time limit, start time):

so all good here.

changes.log looks OK. Updates are being made. transactions.log looks a bit suspicious, but I don't really understand it:

2020-07-16 15:17:20 [16] Dispatcher version 0.7.56.3 eb200aebdae27bd8635c5829a2bdfcdb06d0ab5c just started.
2020-07-16 15:17:20 [15] Dispatcher version 0.7.56.3 eb200aebdae27bd8635c5829a2bdfcdb06d0ab5c just started.
2020-07-16 15:17:20 [33] request_read_and_idx() start
2020-07-16 15:17:21 [16] hangup of process 27.
2020-07-16 15:17:21 [16] waited idle for 8 cycles.
2020-07-16 15:17:21 [16] waited idle for 8 cycles.
[...]
2020-07-16 15:17:56 [16] waited idle for 8 cycles.
2020-07-16 15:17:57 [33] Dispatcher_Client::request_read_and_idx::timeout /osm3s_v0.7.55_osm_base 0 Success 
2020-07-16 15:17:57 [16] waited idle for 8 cycles.
2020-07-16 15:17:57 [16] hangup of process 33.
2020-07-16 15:18:14 [818] write_start() start version='2020-07-16T06:23:01Z'
2020-07-16 15:18:14 [16] waited idle for 173 cycles.
2020-07-16 15:18:14 [16] write_start of process 818. Considered as reading:.
2020-07-16 15:18:14 [818] write_start() end
2020-07-16 15:34:20 [819] request_read_and_idx() start
2020-07-16 15:34:20 [16] waited idle for 9625 cycles.
[...]
2020-07-16 15:34:56 [16] waited idle for 8 cycles.
2020-07-16 15:34:56 [819] Dispatcher_Client::request_read_and_idx::timeout /osm3s_v0.7.55_osm_base 0 Success 92.250.9.186
2020-07-16 15:34:56 [16] waited idle for 8 cycles.
2020-07-16 15:34:56 [16] hangup of process 819.
2020-07-16 15:40:34 [832] request_read_and_idx() start
2020-07-16 15:40:34 [16] waited idle for 3365 cycles.
[...]
2020-07-16 15:48:28 [16] waited idle for 8 cycles.
2020-07-16 15:48:28 [833] Dispatcher_Client::request_read_and_idx::timeout /osm3s_v0.7.55_osm_base 0 Success 92.250.9.186
2020-07-16 15:48:28 [16] waited idle for 8 cycles.
2020-07-16 15:48:28 [16] hangup of process 833.
2020-07-16 15:50:14 [16] waited idle for 1057 cycles.
2020-07-16 15:50:14 [16] query_my_status by process 836.
2020-07-16 15:50:14 [16] waited idle for 1 cycles.
2020-07-16 15:50:14 [16] hangup of process 836.
2020-07-16 15:51:08 [16] waited idle for 546 cycles.
2020-07-16 15:51:08 [16] query_my_status by process 839.
2020-07-16 15:51:08 [16] waited idle for 1 cycles.
2020-07-16 15:51:08 [16] hangup of process 839.
2020-07-16 15:51:44 [818] write_commit() start 149937 1838062 420189 1134147 270038
2020-07-16 15:51:44 [16] waited idle for 357 cycles.
2020-07-16 15:51:44 [16] write_commit of process 818.
2020-07-16 15:51:44 [818] write_commit() end
2020-07-16 15:51:44 [16] hangup of process 818.
2020-07-16 15:52:22 [1267] write_start() start version='2020-07-16T09:50:01Z'
2020-07-16 15:52:22 [16] waited idle for 388 cycles.
2020-07-16 15:52:22 [16] write_start of process 1267. Considered as reading:.
2020-07-16 15:52:22 [1267] write_start() end

The Overpass instance is created using this Docker command:

docker run \
  -e OVERPASS_META=yes \
  -e OVERPASS_MODE=clone \
  -e OVERPASS_DIFF_URL=https://planet.openstreetmap.org/replication/minute/ \
  -e OVERPASS_MAX_TIMEOUT=14400s \
  -e OVERPASS_SPACE=16777216 \
  -p 12345:80 \
  -d \
  --mount source=overpass,target=/db \
  --restart unless-stopped \
  --name overpass \
  wiktorn/overpass-api

Any pointers are greatly appreciated!

I googled all over the place but cannot find a clue.

Thanks for any pointers!

mmd-osm commented 3 years ago

Please open up an issue on the https://github.com/wiktorn/Overpass-API repository. We don't have any capacity to handle unofficial Docker images.

ghowen commented 3 years ago

@mmd-osm Thanks for the reply! I did open an issue there 12 days ago (https://github.com/wiktorn/Overpass-API/issues/48) but there has been no response yet. So I thought I'd try my luck at the source :)

Is there an official Docker image available? I would love to try that one instead then. Thanks!

mmd-osm commented 3 years ago

Unfortunately, there's no official Dockerfile available either. Please follow the install instructions on overpass-api.de, in a non-containerized environment. We had previous cases where the Docker repo you've tried didn't work, while an installation from scratch following the official instructions worked out of the box. We don't have any capacity to troubleshoot why that Docker repo isn't working.

ghowen commented 3 years ago

Will do, thanks.