Skip to content
Jiri Mikulasek edited this page Feb 12, 2016 · 9 revisions

DataStoreService upload limitations

GoodData WebDAV server unfortunately doesn't follow the specification - section 8.2.3. After receiving the header part of the PUT request it should send either 100 - continue or final response (i.e. 401 in case of yet unauthenticated request). Unlikely it sends nothing waiting to receive the request body. The body is sent by gooddata-java with 3s delay implemented in Http client. This has following results.

Upload fails when called first after GoodData creation

In case the PUT on WebDAV is the first request, the client is not yet authenticated. The PUT with delay causes internal error on WebDAV (status 500). Unfortunately the InputStream passed to upload method is read.

If you met this, please change your code to do some another request first in order to get authenticated properly.

DataStoreService upload waits for 3s when already authenticated

Since the GoodData WebDAV never sends 100 - continue response, every authenticated request suffers the 3s delay between sending header and body.

Clone this wiki locally