[
https://issues.apache.org/jira/browse/JCLOUDS-181?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13705103#comment-13705103
]
Andrew Gaul commented on JCLOUDS-181:
-------------------------------------
Different providers/endpoints for the same API need configurable behavior. For
example, Amazon S3 correctly implements HTTP 100-Continue while Google Cloud
Storage via the S3 API does not.
> Blobstores that lack proper support for 100-Continue don't work with JDK7
> -------------------------------------------------------------------------
>
> Key: JCLOUDS-181
> URL: https://issues.apache.org/jira/browse/JCLOUDS-181
> Project: jclouds
> Issue Type: Bug
> Components: jclouds-blobstore
> Affects Versions: 1.6.1
> Reporter: Diwaker Gupta
>
> jclouds added the "Expect: 100-Continue" to the putBlob API for most
> blobstores sometime back. Handling of 100-continue differs between JDK6 and
> JDK7 in that unlike JDK6, JDK7 will expect a response from the server and
> will only time out IF a read timeout has been set on the underlying HTTP
> connection [1].
> As a result, if applications set Constants.PROPERTY_SO_TIMEOUT and use a
> blobstore that doesn't properly support the Expect header (i.e., doesn't
> respond with 100-Continue) on JDK7, the putBlob operation will essentially
> hang forever.
> Specifically, both HPCS and Google Cloud Storage are impacted by this.
> [1]
> http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/7-b147/sun/net/www/protocol/http/HttpURLConnection.java?av=f#1008
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira