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)

Reply via email to