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

Adrian Cole reopened WHIRR-349:
-------------------------------

      Assignee: Adrian Cole  (was: Karel Vervaeke)

this issue can be worked around, if the endpoint relevant to the s3 region 
being used in assigned via configuration.  However, current code does not allow 
properties to be passed to the BlobStore.  This is resolved in WHIRR-362.

RECOMMENDATION:

We have a reasonable workaround which is much better than saying Whirr can only 
work in EC2 us-east-1.

Apply WHIRR-362 and dependencies, then retest with the following configuration, 
which I've tested to work:

whirr.blobstore-location-id=EU
jclouds.aws-s3.endpoint=https://s3-eu-west-1.amazonaws.com

> Retry if blobstore put fails
> ----------------------------
>
>                 Key: WHIRR-349
>                 URL: https://issues.apache.org/jira/browse/WHIRR-349
>             Project: Whirr
>          Issue Type: Improvement
>          Components: core
>    Affects Versions: 0.6.0
>         Environment: Ubuntu 11.04
> java version "1.6.0_26"
> Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
> Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02, mixed mode)
> (using https://github.com/bdumon/whirr 13cd70e which uses a jclouds 
> 1.1.0-SNAPSHOT)
>            Reporter: Karel Vervaeke
>            Assignee: Adrian Cole
>            Priority: Minor
>             Fix For: 0.6.0
>
>         Attachments: WHIRR-349.patch, WHIRR-349.patch, failcase.zip
>
>   Original Estimate: 4h
>  Remaining Estimate: 4h
>
> When the blobstore fails to upload a file, it might be worth retrying a 
> couple of times rather than just aborting
> the whole process.
> OTOH, the failure would occur *before* any machines are launched, so the loss 
> is limited.
> Here's an example stacktrace of a failed upload:
> Created blob cache container 'fr6mxqa4d6aa' located in '[id=EU, scope=REGION, 
> description=EU, parent=aws-s3, iso3166Codes=[IE], metadata={}]'
> Uploading 'mydecorator-1.0-SNAPSHOT.tar.gz' to 'fr6mxqa4d6aa' blob cache.
> Jul 29, 2011 8:53:50 AM org.jclouds.logging.jdk.JDKLogger logWarn
> WARNING: Cannot retry after server error, command is not replayable: 
> [method=AWSS3AsyncClient.putObject, request=PUT 
> https://fr6mxqa4d6aa.s3.amazonaws.com/mydecorator-1.0-SNAPSHOT.tar.gz 
> HTTP/1.1]
> Exception in thread "main" org.jclouds.http.HttpResponseException: error 
> after writing 335872/637480 bytes to PUT 
> https://fr6mxqa4d6aa.s3.amazonaws.com/mydecorator-1.0-SNAPSHOT.tar.gz 
> HTTP/1.1 connecting to PUT 
> https://fr6mxqa4d6aa.s3.amazonaws.com/mydecorator-1.0-SNAPSHOT.tar.gz HTTP/1.1
>       at 
> org.jclouds.http.internal.BaseHttpCommandExecutorService$HttpResponseCallable.call(BaseHttpCommandExecutorService.java:183)
>       at 
> org.jclouds.http.internal.BaseHttpCommandExecutorService$HttpResponseCallable.call(BaseHttpCommandExecutorService.java:134)
>       at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
>       at java.util.concurrent.FutureTask.run(FutureTask.java:166)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>       at java.lang.Thread.run(Thread.java:679)
> Caused by: java.lang.RuntimeException: error after writing 335872/637480 
> bytes to PUT 
> https://fr6mxqa4d6aa.s3.amazonaws.com/mydecorator-1.0-SNAPSHOT.tar.gz HTTP/1.1
>       at 
> org.jclouds.http.internal.JavaUrlHttpCommandExecutorService.convert(JavaUrlHttpCommandExecutorService.java:245)
>       at 
> org.jclouds.http.internal.JavaUrlHttpCommandExecutorService.convert(JavaUrlHttpCommandExecutorService.java:77)
>       at 
> org.jclouds.http.internal.BaseHttpCommandExecutorService$HttpResponseCallable.call(BaseHttpCommandExecutorService.java:156)
>       ... 6 more
> Caused by: java.io.IOException: Error writing request body to server
>       at 
> sun.net.www.protocol.http.HttpURLConnection$StreamingOutputStream.checkError(HttpURLConnection.java:2716)
>       at 
> sun.net.www.protocol.http.HttpURLConnection$StreamingOutputStream.write(HttpURLConnection.java:2699)
>       at 
> com.google.common.io.CountingOutputStream.write(CountingOutputStream.java:51)
>       at com.google.common.io.ByteStreams.copy(ByteStreams.java:172)
>       at org.jclouds.io.payloads.BasePayload.writeTo(BasePayload.java:67)
>       at 
> org.jclouds.http.internal.JavaUrlHttpCommandExecutorService.convert(JavaUrlHttpCommandExecutorService.java:243)
>       ... 8 more
> Removing blob cache 'fr6mxqa4d6aa'

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to