[ 
https://issues.apache.org/jira/browse/JCLOUDS-247?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13752799#comment-13752799
 ] 

ASF subversion and git services commented on JCLOUDS-247:
---------------------------------------------------------

Commit aee3c10a93e92a5cd6e83b10073244d4f292ff75 in branch refs/heads/1.6.x from 
[~francis]
[ https://git-wip-us.apache.org/repos/asf?p=incubator-jclouds.git;h=aee3c10 ]

Handle quoted ETags for OpenStack objects to fix JCLOUDS-247

This avoids a 'java.io.IOException: Unrecognized character: "' when a quoted 
ETag is encountered (which happens when getting a multipart blob from Rackspace 
Cloud).

                
> Swift can't download multipart blobs
> ------------------------------------
>
>                 Key: JCLOUDS-247
>                 URL: https://issues.apache.org/jira/browse/JCLOUDS-247
>             Project: jclouds
>          Issue Type: Bug
>          Components: jclouds-blobstore
>    Affects Versions: 1.6.2
>         Environment: Ubuntu 13.04, Maven3, JDK7
>            Reporter: Thomas Manville
>            Assignee: Francis Devereux
>             Fix For: 1.7.0
>
>
> When calling blobStore.putBlob(containerName, blob, 
> PutOptions.Builder.multipart())
> using a swift blobstore and a 64MB file, subsequent downloads fail:
> Stacktrace: 
> java.lang.IllegalArgumentException: java.io.IOException: Unrecognized 
> character: "
>         at 
> com.google.common.io.BaseEncoding$Alphabet.decode(BaseEncoding.java:504)
>         at 
> com.google.common.io.BaseEncoding$StandardBaseEncoding$2.read(BaseEncoding.java:676)
>         at com.google.common.io.BaseEncoding.decode(BaseEncoding.java:233)
>         at 
> org.jclouds.openstack.swift.blobstore.functions.ResourceToObjectInfo.apply(ResourceToObjectInfo.java:51)
>         at 
> org.jclouds.openstack.swift.functions.ParseObjectInfoFromHeaders.apply(ParseObjectInfoFromHeaders.java:59)
>         at 
> org.jclouds.openstack.swift.functions.ParseObjectFromHeadersAndHttpContent.apply(ParseObjectFromHeadersAndHttpContent.java:49)
>         at 
> org.jclouds.openstack.swift.functions.ParseObjectFromHeadersAndHttpContent.apply(ParseObjectFromHeadersAndHttpContent.java:35)
>         at 
> org.jclouds.rest.internal.InvokeSyncToAsyncHttpMethod.invoke(InvokeSyncToAsyncHttpMethod.java:131)
>         at 
> org.jclouds.rest.internal.InvokeSyncToAsyncHttpMethod.apply(InvokeSyncToAsyncHttpMethod.java:97)
>         at 
> org.jclouds.rest.internal.InvokeSyncToAsyncHttpMethod.apply(InvokeSyncToAsyncHttpMethod.java:58)
>         at 
> org.jclouds.rest.internal.DelegatesToInvocationFunction.handle(DelegatesToInvocationFunction.java:157)
>         at 
> org.jclouds.rest.internal.DelegatesToInvocationFunction.invoke(DelegatesToInvocationFunction.java:124)
>         at com.sun.proxy.$Proxy64.getObject(Unknown Source)
>         at 
> org.jclouds.openstack.swift.blobstore.SwiftBlobStore.getBlob(SwiftBlobStore.java:184)
>         at 
> org.jclouds.blobstore.internal.BaseBlobStore.getBlob(BaseBlobStore.java:183)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:606)
>         at 
> com.google.inject.internal.DelegatingInvocationHandler.invoke(DelegatingInvocationHandler.java:37)
>         at com.sun.proxy.$Proxy68.getBlob(Unknown Source)

--
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