[
https://issues.apache.org/jira/browse/WHIRR-349?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Karel Vervaeke updated WHIRR-349:
---------------------------------
Attachment: failcase.zip
The console output, surefire report and target/test-data output from a 'failed'
upload.
This is with the first patch applied,
so there's a test case uploading a small file (<20 bytes) and one uploading 1
MB.
In console.log you can find the timestamps between which the upload should have
occurred.
The jclouds.wire log doesn't contain anything during the uploads.
(I haven't looked at the log configuration yet, it might be possible to get
more logging)
> 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
> Attachments: 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