What version of MarkLogic are you using? MarkLogic 7.0-3 is much better 
at planning SPARQL queries so that they don't use more than the 
available memory.

John

On 25/06/2014 09:51, Jakob Fix wrote:
> Hi, we have a cronjob (a scheduled Windows task, actually) that calls an
> API endpoint which in turn executes a SPARQL query.
>
> Last night we've got the following error message in the logs of this task:
>
> XDMP-MEMCANCELED: {
> SELECT ?w ?e { ?e <http://www.example.org/schema/language> ?glanguage .
> ?e <http://www.example.org/schema/realizationOf> ?w .
> ?indw <http://www.example.org/schema/code> ?memberIndicator .
> ?indw <http://www.example.org/schema/objectType>
> <http://www.example.org/lambda/objectType/300> .
> ?w <http://www.example.org/schema/objectType>
> <http://www.example.org/lambda/objectType/301> .
> ?indw <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
> <http://www.example.org/schema/work> .
> ?inde <http://www.example.org/schema/doiSuffix> ?doiVal .
> ?w <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
> <http://www.example.org/schema/work> .
> ?w <http://www.example.org/schema/memberIndicator> ?memberIndicator .
> ?indm <http://www.example.org/schema/embodimentOf> ?inde .
> OPTIONAL  {
> ?eec <http://www.example.org/schema/isBlocked> ?eecIsBlocked .
> ?e <http://www.example.org/schema/exportChannel> ?eec .
> ?eec <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> "4" .
> }
> ?inde <http://www.example.org/schema/realizationOf> ?indw .
> ?inde <http://www.example.org/schema/language> ?glanguage .
> ?indm <http://www.example.org/schema/availability>
> <http://www.example.org/lambda/availability/100> .
>
> BIND (if (fn:exists($eecIsBlocked) and $eecIsBlocked eq "true") then
> "true" else "false" AS ?isExpressionBlocked) FILTER
> ($isExpressionBlocked eq "false")
> }
> } -- Canceled because of memory usage
>
> There is not actually a lot of content in this database so far, a
> count(collection("triples")//sem:subject) returns just 323 243 items.
> The machine has 8GB of memory and is only hosting this MarkLogic server
> instance.
>
>
> https://docs.marklogic.com/guide/messages/XDMP-en#XDMP-MEMCANCELED has
> this to say:
>
> Message Text:Canceled because of memory usage
> Cause: The transaction was cancelled because MarkLogic's total memory
> usage was too high.
> Response: Retry the operation.
>
> As you can imagine, it being a non-interactive task, retrying is not
> really an option.
>
> Thanks for any pointers.
>
> cheers,
> Jakob.
>
>
> _______________________________________________
> General mailing list
> [email protected]
> http://developer.marklogic.com/mailman/listinfo/general
>
_______________________________________________
General mailing list
[email protected]
http://developer.marklogic.com/mailman/listinfo/general

Reply via email to