Pierre,
RDFLib/SPARQLWrapper is using an HTML form upload.
The scalable way is to POST with "Content-type:
application/sparql-update" and the INSERT in the body, then it will
stream - directly reading the update from the HTTP input stream with no
HTML Form (Request.extractFormParameters) on the execution path.
Fro an HTML form, the entire requests ends up in memory - its the way
that HTML forms have to handled to see all the name=value pairs in the
form. Incidentally, the same is true in the client.
The default form size is already bumped up to 10M from the Jetty default
of 200K.
If the server is running in verbose mode, the entire SPARQL update is
read in for logging/debugging purposes.
The default jetty configuration is in code. For the form size, that is
JettyFusekiWebapp.createWebApp which is 10M - we can make that default
bigger but not 101M which is the request.
Otherwise, break the request into parts and send multiple requests.
Andy
On 07/08/2019 08:49, Pierre Grenon wrote:
Thank you, Lorenz.
I did as you suggest and made the changes indicated.
Fuseki started and seems to have accepted the jetty config. But then when trying to send
the update the same error occurs and the limit seems unmodified (I used
<Arg>200000000</Arg>).
Caused by: java.lang.IllegalStateException: Form too large: 100948991 > 10000000
at
org.eclipse.jetty.server.Request.extractFormParameters(Request.java:545)
at
org.eclipse.jetty.server.Request.extractContentParameters(Request.java:475)
at org.eclipse.jetty.server.Request.getParameters(Request.java:386)
... 50 more
Can it be that the config does not override some default set elsewhere in
Fuseki?
I’ll try to figure if I’m not doing something else wrong…
Many thanks,
Pierre
For reference:
https://www.eclipse.org/jetty/documentation/current/configuring-form-size.html