[
https://issues.apache.org/jira/browse/WHIRR-349?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13083095#comment-13083095
]
Adrian Cole commented on WHIRR-349:
-----------------------------------
I'm noticing the endpoint used on the bucker you are mentioning is eu-west-1 is
still the US one. Ex.
https://inxjioeo9itz.s3.amazonaws.com/whirr6849479395193932763.txt vs
https://inxjioeo9itz.s3-eu-west-1.amazonaws.com/whirr6849479395193932763.txt
jclouds should be able to sort out the correct endpoint for a bucket in an
alternate region. However, I'm concerned this issue may be a red herring, as
the byte count of 163840 is very fishy (no pun intended :) ).
Can you open a jclouds issue on this? I'll create a test case uploading a blob
in a bucket that's in a different region.
http://code.google.com/p/jclouds/issues
> 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
> 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