adsabs / object_service

ADS micro service for processing object and positional ("cone") searches (specifically SIMBAD and NED)
MIT License
5 stars 4 forks source link

positional ("cone") search - backend #56

Closed ehenneken closed 6 years ago

ehenneken commented 6 years ago
ehenneken commented 6 years ago

According to Alberto, the query

http://adsabs.harvard.edu/cgi-bin/abs_connect?data_type=VOTABLE&DEC=60&RA=16&SR=.1

should return 1 (A&A?) document. This is correct: it should return 1995A&AS..114..269D

ehenneken commented 6 years ago

This works:

This does not work:

The object-service micro service in dev fails with an internal server error and the logs say:

     Traceback (most recent call last):
       File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1612, in full_dispatch_request
         rv = self.dispatch_request()
       File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1598, in dispatch_request
         return self.view_functions[rule.endpoint](**req.view_args)
       File "/usr/local/lib/python2.7/dist-packages/flask_restful/__init__.py", line 477, in wrapper
         resp = resource(*args, **kwargs)
       File "/usr/local/lib/python2.7/dist-packages/flask/views.py", line 84, in view
         return self.dispatch_request(*args, **kwargs)
       File "/usr/local/lib/python2.7/dist-packages/flask_restful/__init__.py", line 587, in dispatch_request
         resp = meth(*args, **kwargs)
       File "/app/object_service/views.py", line 169, in post
         vq = verify_query(nids, 'nedid')
       File "/app/object_service/utils.py", line 207, in verify_query
         current_app.config.get('OBJECTS_SOLRQUERY_URL'), params=params)
       File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 501, in get
         return self.request('GET', url, **kwargs)
       File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 488, in request
         resp = self.send(prep, **send_kwargs)
       File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 609, in send
         r = adapter.send(request, **kwargs)
       File "/usr/local/lib/python2.7/dist-packages/requests/adapters.py", line 423, in send
         timeout=timeout
       File "/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/connectionpool.py", line 588, in urlopen
         conn = self._get_conn(timeout=pool_timeout)
       File "/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/connectionpool.py", line 241, in _get_conn
         if conn and is_connection_dropped(conn):
       File "/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/connection.py", line 27, in is_connection_dropped
         return bool(wait_for_read(sock, timeout=0.0))
       File "/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/wait.py", line 33, in wait_for_read
         return _wait_for_io_events(socks, EVENT_READ, timeout)
       File "/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/wait.py", line 22, in _wait_for_io_events
         with DefaultSelector() as selector:
       File "/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/selectors.py", line 364, in __init__
         self._epoll = select.epoll()
     AttributeError: 'module' object has no attribute 'epoll'

There seems to be a problem with verify_query in utils.py. However, it only occurs when deployed in AWS.