vlizBE / vocabserver-app

Linked Data VocabTerms Lookup Service & Widget - Application back-end
MIT License
0 stars 4 forks source link

Unification error after harvesting LDES feed #66

Open cedricdcc opened 1 month ago

cedricdcc commented 1 month ago

A Docker container running a unification task encountered an error while processing a task identified by the URL http://redpencil.data.gift/id/task/668BE59D8B5E665623EBAC90, specifically for the operation http://mu.semte.ch/vocabularies/ext/ContentUnificationJob. The following error was logged:

/usr/local/lib/python3.8/site-packages/SPARQLWrapper/Wrapper.py:794: RuntimeWarning: Sending Accept header '*/*' because unexpected returned format 'json' in a 'CONSTRUCT' SPARQL query form
  warnings.warn(
Traceback (most recent call last):
  File "/app/task.py", line 240, in run_tasks
    generated = runner_func(used)
  File "/usr/src/app/ext/app/web.py", line 192, in <lambda>
    lambda sources: [run_vocab_unification(sources[0])],
  File "/usr/src/app/ext/app/web.py", line 120, in run_vocab_unification
    batch_res = query_sudo(get_batch_qs)
  File "/app/sudo_query.py", line 24, in query_sudo
    return sparqlQuery.query().convert()
  File "/usr/local/lib/python3.8/site-packages/SPARQLWrapper/Wrapper.py", line 960, in query
    return QueryResult(self._query())
  File "/usr/local/lib/python3.8/site-packages/SPARQLWrapper/Wrapper.py", line 926, in _query
    response = urlopener(request)
  File "/usr/local/lib/python3.8/urllib/request.py", line 222, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/local/lib/python3.8/urllib/request.py", line 525, in open
    response = self._open(req, data)
  File "/usr/local/lib/python3.8/urllib/request.py", line 542, in _open
    result = self._call_chain(self.handle_open, protocol, protocol +
  File "/usr/local/lib/python3.8/urllib/request.py", line 502, in _call_chain
    result = func(*args)
  File "/usr/local/lib/python3.8/urllib/request.py", line 1383, in http_open
    return self.do_open(http.client.HTTPConnection, req)
  File "/usr/local/lib/python3.8/urllib/request.py", line 1358, in do_open
    r = h.getresponse()
  File "/usr/local/lib/python3.8/http/client.py", line 1348, in getresponse
    response.begin()
  File "/usr/local/lib/python3.8/http/client.py", line 316, in begin
    version, status, reason = self._read_status()
  File "/usr/local/lib/python3.8/http/client.py", line 285, in _read_status
    raise RemoteDisconnected("Remote end closed connection without response"
http.client.RemoteDisconnected: Remote end closed connection without response

Context

To reproduce this issue, the LDES feed located at https://vocab.nerc.ac.uk/ldes/P02/ was manually harvested (not via ttl config) at a rate of 60 requests per minute without dereferencing the members. Additionally I hadn't filled out the mapping for the LDES feed prior to the initial unification.

from LDES feed spawned container

2024-07-10T07:20:00.169Z [EventStream] info: done
finished processing stream
Finished processing https://vocab.nerc.ac.uk/ldes/P02/

Error analysis

The key error message is:

http.client.RemoteDisconnected: Remote end closed connection without response

This indicates that the remote server closed the connection unexpectedly while the Docker container was attempting to process a SPARQL query.

Potential issues