On 06/07/2021 10:46, John Walker wrote:
Hi Andy
-----Original Message-----
From: Andy Seaborne <[email protected]>
Sent: Tuesday, July 6, 2021 11:03 AM
To: [email protected]
Subject: Re: Jena hangs while reading HTTP stream
On 06/07/2021 06:10, John Walker wrote:
Hi Andy
Rob's right - RDFParser does not close a resource that is passed into
the parser. If given a resource, the caller is responsible -
try-with-resources or similar is expected.
I was reading the javadocs and these state the InputStream will be
closed when the parser is called
https://jena.apache.org/documentation/javadoc/arq/org/apache/jena/riot
/RDFParser.html#source(java.io.InputStream)
John
So it does. Although here there is a new createHttpClient each time so there
isn't a pool running out.
The OP says the code gets passed the HttpOp.execHttpGet call so the
connection has been established.
John - what's the requestURL? The logs say the request is 3072 bytes
(including headers) which is possible but unusually large.
As it is a GET request, the query text is passed as (url encoded) query string
parameter on the url.
I cannot share the query text as it is for a customer project, but have made
similar GET request from curl and it came out at 3100 bytes.
But what is it doing? I guess it is a CONSTRUCT query.
At what point did it show as 3100 bytes? From "curl -v" or from logs
nearer the server? (Intermediates may be adding "Transfer-*" headers)
Andy
It is the unpredictability that is odd.
Could you please breakpoint the process and see what code it is in?
Will check on that.
Andy
John