Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tried to allocate 278 TB, ... #1309

Open
WolfgangFahl opened this issue Mar 21, 2024 · 4 comments
Open

Tried to allocate 278 TB, ... #1309

WolfgangFahl opened this issue Mar 21, 2024 · 4 comments

Comments

@WolfgangFahl
Copy link

WolfgangFahl commented Mar 21, 2024

Tried to allocate 278 TB, but only 28.9 GB were available. Clear the cache or allow more memory for QLever during startup

http://qlever.wikidata.dbis.rwth-aachen.de/wikidata/C50ESd

The error message seems misleading i doubt that 278 TB of memory need to be allocated for this query.

https://qlever.cs.uni-freiburg.de/wikidata/yAMX5c

runs fine

@tuukka
Copy link

tuukka commented Mar 21, 2024

Tried to allocate 278 TB, but only 28.9 GB were available. Clear the cache or allow more memory for QLever during startup

http://qlever.wikidata.dbis.rwth-aachen.de/wikidata/C50ESd

Just an observation that you had a typo in the filter, and the query works with the typo fixed: http://qlever.wikidata.dbis.rwth-aachen.de/wikidata/vKWePT

@WolfgangFahl
Copy link
Author

@tuukka - this is about the error message not the cause of the error

@hannahbast
Copy link
Member

@WolfgangFahl Again, I get a 404 for your links. But from the discussion (thanks, @tuukka), I can guess what the problem is.

Technically, the error message is correct. Consider the following simple example. Processing this query correctly requires computing a huge cross-product. I agree that would be nice to warn the user that maybe they made a mistake when formulating the query. But it's not the primary task of a SPARQL endpoint and it can be quite hard, depending on the mistakes.

SELECT * WHERE {
  ?person wdt:P31 wd:Q5 .
  ?pesron wdt:P106 ?occupation .
}

Try it on QLever

@hannahbast
Copy link
Member

hannahbast commented Apr 2, 2024

The above being said, a solution for this particular case might be to find out whether the query involves a cross-product (easy) and in that case add to the technically correct error message the following in parentheses:

(the processing of this query involves a cross-product, check if this is intentional or if you have mistyped a variable name)

hannahbast pushed a commit that referenced this issue May 6, 2024
Mistyping a variable can easily lead to a Cartesian-product join with a very large result, for example: https://qlever.cs.uni-freiburg.de/wikidata/h6p82D . This change provides a more helpful error message in case that happens, as suggested in #1309.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants