Open bergos opened 6 years ago
First thing I notice is that you're running a rather elderly Virtuoso 07.20.3215
(from before 2016-05-20).
Can you test this scenario with a build from the latest /stable/7
(7.2.5.1
a/k/a 7.20.3229
) or current /develop/7
(7.2.6-dev
a/k/a 7.20.3229+
) branches? Updating to one of these versions is strongly recommended in any case.
The exact same problem occurs with the 7.2.5.1 release as described in issue #764 .
So, when specifying Transfer-Encoding: chunked
, Virtuoso returns 201 Created
without adding the data.
I tried again with the 7.2.5.1 docker image and also made my own image based on commit 120e9021074b526da434b827cfab9d57189c0a64
. Same result for both cases.
I'm trying to upload N-Triples using curl and the Graph Store interface. This works for curl file uploads, but fails if stdin should be used. I think it's a problem with the chunked transfer. curl switches to chunked transfer for data from stdin, as it can't know the content size. Virtuoso closes the connection in that case. If chunked transfer is not supported, I would expect an http error. Even better would be adding support for chunked transfer. In my simplified example I'm using a file, but in the actual use case I'm getting triples from a program and I would like to avoid creating temporary files just for the upload. Maybe this issue is related to the Problem uploading gzipped RDF using curl issue.
Example chunked transfer not working:
Working example with curl file input: