Reconciliation timeout problem (?)

113 views
Skip to first unread message

Nicola Carboni

unread,
Nov 6, 2019, 12:46:26 PM11/6/19
to OpenRefine
I am running Openrefine on a linux server and I am having trouble with using the Geonames reconciliation extension . Openrefine run smoothly and I can reconcile easily with Wikidata or other standard service, the only problem I do have is about the reconciliation extension for Geonames. 

What I did in run the extension (without errors), add the reconciliation service, but I never get to add it and get the following error:

Error contacting recon service: timeout : timeout - http://0.0.0.0:5000/reconcile


If I try to use curl to check if the service is running I get the expected response:

curl -vs http://0.0.0.0:5000/reconcile
*   Trying 0.0.0.0...
* TCP_NODELAY set
* Connected to 0.0.0.0 (127.0.0.1) port 5000 (#0)
> GET /reconcile HTTP/1.1
> Host: 0.0.0.0:5000
> User-Agent: curl/7.58.0
> Accept: */*
>
* HTTP 1.0, assume close after body
< HTTP/1.0 200 OK
< Content-Type: application/json
< Content-Length: 539
< Server: Werkzeug/0.16.0 Python/3.6.8
< Date: Wed, 06 Nov 2019 08:36:06 GMT
<
{
  "defaultTypes": [
    {
      "id": "/geonames/name",
      "name": "Place Name"
    },
    {
      "id": "/geonames/name_startsWith",
      "name": "Place Name Starts With"
    },
    {
      "id": "/geonames/name_equals",
      "name": "Exact Place Name"
    },
    {
      "id": "/geonames/all",
      "name": "All GeoNames terms"
    }
  ],
  "identifierSpace": "http://localhost/identifier",
  "name": "GeoNames Reconciliation Service",
  "schemaSpace": "http://localhost/schema",
  "view": {
    "url": "{{id}}"
  }
}
* Closing connection 0

However, nothing works on Openrefine. I thought that was maybe some kind of port accessing problem, so I completely opened the port 5000 on the server and I tested the service form my local copy of Openrefine. In my local instance I am able to add the geonames reconciliation service running in the server using http://ip.of.the.server:5000/reconcile. I tried to do the same trick in the openrefine instance running in the server (using http://ip.of.the.server:5000/reconcile) but I still get the timeout error.

I tried with 0.0.0.0:5000/reconcile or 127.0.0.1:5000/reconcile or publicIp.of.the.server:5000/reconcile but nothing seems to work. Any advices?


Owen Stephens

unread,
Nov 8, 2019, 9:08:39 AM11/8/19
to OpenRefine
Hi Nicola,

I've been able to run that all OK on my mac, so it can definitely work.

Can you provide information on which versions of OpenRefine, what OS and what Python version you are using?

Also - once you are running the Python script, are you running that with debug enabled, and if so is there anything in the log from that python app that might help analyse the problem?

Owen

Nicola Carboni

unread,
Nov 9, 2019, 3:16:08 AM11/9/19
to OpenRefine
Hi, 

The puzzling thing is that It does work fine on my mac too, and if I use the ip address ( http://ip.of.the.server:5000/reconcile) to reconcile against geonames from my local instance, it does work perfectly! So it is something server-side I cannot pinpoint

I am running Openrefine version 3.2  on Ubuntu 18.04.3. I try to run the script using python 2 (Python 2.7.15+) or python 3 (Python 3.6.8) always in debug mode but nothing appears in the log:

python reconcile.py --debug
 
* Serving Flask app "reconcile" (lazy loading)
 
* Environment: production
   WARNING
: This is a development server. Do not use it in a production deployment.
   
Use a production WSGI server instead.
 
* Debug mode: on
 
* Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
 
* Restarting with stat
 
* Debugger is active!
 
* Debugger PIN: 629-420-116


or in the apache log:
tail -f -n100 /var/log/apache2/error.log
[Sat Nov 09 06:26:03.777351 2019] [mpm_event:notice] [pid 1669:tid 140394250525632] AH00489: Apache/2.4.41 (Ubuntu) OpenSSL/1.1.1d configured -- resuming normal operations
[Sat Nov 09 06:26:03.777377 2019] [core:notice] [pid 1669:tid 140394250525632] AH00094: Command line: '/usr/sbin/apache2'


-- nicola

Owen Stephens

unread,
Nov 11, 2019, 4:28:23 AM11/11/19
to OpenRefine
I'm afraid I'm stumped. It looks like the request never gets to your server, but I can't see any obvious reason why not.
The only other thing that occurs to me is whether your request is going via a proxy that is blocking it (I can't remember if the reconcile service automatically uses system proxy settings or not) - but to be honest the fact that your cURL works suggests that's not the problem.

Sorry not to be able to help more in this case

Owen

Nicola Carboni

unread,
Nov 13, 2019, 3:27:08 AM11/13/19
to OpenRefine
No worries, I understand, I am stumped too. Everything seems working but it doesn't and I am really unable to think about anything else to check or fix
Reply all
Reply to author
Forward
0 new messages