Daniel Hsueh created JCLOUDS-793:
------------------------------------
Summary: make blobstore put operations report server errors via
HttpResponseException
Key: JCLOUDS-793
URL: https://issues.apache.org/jira/browse/JCLOUDS-793
Project: jclouds
Issue Type: Improvement
Components: jclouds-blobstore
Affects Versions: 1.8.1
Reporter: Daniel Hsueh
observed with openstack-swift 1.8.1 ObjectApi.put()
if the server responds with a 4xx/5xx response, the put() call returns null for
the etag
would it be more useful if there was an HttpResponseException were thrown, with
the actual request, response, and response code available? as of now, the null
response only indicates that an etag was not found in the response, not that
the whole request failed
I observe that a failure to communicate (e.g. BackoffLimitedRetryHandler
running through its retires) will result in an HttpResponseException
there may also be an issue with consistency -- from perusing the
AzureBlobClient and S3Client code it seems like an HttpException("did not
receive ETag") would be thrown, and not a null etag
I would also propose that PUTs report 4xx/5xx responses via
HttpResponseException as well
I realize this is a major departure from existing behavior, perhaps this
exception-reporting-on-error could be enabled via an override?
thank you
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)