[ 
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

Reply via email to