You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@jclouds.apache.org by "Daniel Hsueh (JIRA)" <ji...@apache.org> on 2014/12/10 17:52:12 UTC

[jira] [Updated] (JCLOUDS-793) make blobstore put operations report server errors via HttpResponseException

     [ https://issues.apache.org/jira/browse/JCLOUDS-793?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Daniel Hsueh updated JCLOUDS-793:
---------------------------------
    Description: 
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 GETs 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

  was:
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


> 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
>              Labels: features
>
> 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 GETs 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)