LIMES icon indicating copy to clipboard operation
LIMES copied to clipboard

ResilentSparqlQueryModuleTest gets stuck

Open KonradHoeffner opened this issue 2 years ago • 4 comments

After several minutes, there is no progress on

[INFO] Running org.aksw.limes.core.io.query.ResilientSparqlQueryModuleTest

Tested on the current master branch with fork count 1.

KonradHoeffner avatar Mar 08 '22 08:03 KonradHoeffner

Oh my, there is a good chance that I already fixed that issue with nondeterministic hangs due to bugs in the range cache. The irony of having made the resilient module brittle. I'll check today.

Aklakan avatar Mar 08 '22 08:03 Aklakan

It seems to hang every time we tried it however, not sure if that is another issue in addition to nondeterministic problems.

KonradHoeffner avatar Mar 08 '22 14:03 KonradHoeffner

So there are multiple issues here:

  • The unit test queries a remote endpoint (dbpedia) - instead, there should be a test dataset that gets loaded into an RDF file on the test classpath
  • It seems that DBpedia was recently updated to a buggy version - I am pretty sure that this query worked last week but right now it gives Virtuoso 22023 Error SR350: TOP parameter < 0 . (Last time I checked 4000 was > 0 - but maybe I am just not up to date with the "math is racist" debate XD)
  • My slightly hasty release of the range cache doesn't have error handling completed when the backend fails - right now it causes the cache read to wait for data which due to the failing backend and the consequently exceptionally terminated worker thread never arrives.

Aklakan avatar Mar 08 '22 22:03 Aklakan

So I'll change the test case to use local data and add an version of the range cache with improved error handling (Actually maybe its not only the range cache causing the hang but the retry-system which retries too often / indefinitely) - the server returns HTTP 500 so we'd just assume some temporary server outage - without classifying the response we would not expect a problem with the query. In any case, a local dataset would make the test work again.

Aklakan avatar Mar 08 '22 22:03 Aklakan