On 16/03/14 21:02, Adam Retter wrote:
Thanks for the quick reply Andy -

On 16 March 2014 20:48, Andy Seaborne <a...@apache.org> wrote:
Hi Adam,


On 16/03/14 18:58, Adam Retter wrote:

Hi there,

Firstly I would just like to say that whilst we have only been using
Elda and Fuseki for about a year, we have until now been really very
happy with them. Excellent stuff :-)


Which versions?

Fuseki 0.2.6, I did check the release notes and commit history for
newer versions, but did not see any detail of bug fixes that might
address this. Is it possible that it has been fixed and I just missed
it?

It's nothing to do with Fuseki, which is just the protocol handling. The stacktrace is in algebra generation because

{P1} UNION {P2} UNION {P3}
is

(union
  {P1}
  (union
    {P2}
    (union
      {P3}
 ...

It hasn't even got to the optimizer.

But then sending and parsing 1.4M queries is never going to be fast.

I will have to check the version of Elda tomorrow when I am in the
office and get back to you.

And is this using sub-SELECTs enabled in Elda?

IIRC that will replace the nearly 10,000 cases of UNION with the SELECT that
generated it in the first place, which is much (much) shorter.

I will check tomorrow and get back to you. If we are not doing that,
then that sounds very promising.



Unfortunately, today, we have a query that is generated by Elda and
POST'ed to Fuseki (https://github.com/epimorphics/elda). The query is
about 1.4MB!

Unfortunately this query causes Fuseki to throw a
java.lang.StackOverflowError. The only other post I found on the
mailing list which looks similar was from 2011
http://markmail.org/message/pwzdrcn7lnkqra35 but there was no follow
up to it.


Have you tried increasing the stack?  What happens?

I can certainly give that a try tomorrow as well. However, I normally
try to avoid doing this, and prefer to fix the problem at it's source,
otherwise I may just delays the inevitable to sometime in the future
when I run with a larger query ;-)

It is more information with which to debug.



Unfortunately, we really need to solve this issue quickly. I am not
opposed to getting my hands dirty in the Jena code base if someone can
tell me what needs to be done, and support me when I have questions.
But hopefully there is some sort of quick workaround? So then, what
are my options chaps?

You may access the stack trace here:
https://dl.dropboxusercontent.com/u/35135948/StackOverflowError.txt
and the query that caused the exception here:
https://dl.dropboxusercontent.com/u/35135948/fuseki-query.txt
Sorry for the use of DropBox, book the Apache mailing list manager
kept rejecting my post as it was too large otherwise.

Thanks Adam.


         Andy




Reply via email to