Uploaded image for project: 'jclouds'
  1. jclouds
  2. JCLOUDS-976

Azureblob: listing objects with a space in the name causes URISyntaxException

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Duplicate
    • 1.9.0
    • None
    • jclouds-blobstore
    • None

    Description

      When having an Azure container with blobs with a space in the name, a call to BlobStore.list() throws the following exception:

      Exception in thread "pool-1-thread-1" java.lang.IllegalArgumentException: Illegal character in path at index 61: https://xxxxx.blob.core.windows.net/container-name/01 - Artist - Song .mp3
      	at java.net.URI.create(URI.java:852)
      	at org.jclouds.http.Uris$UriBuilder.<init>(Uris.java:218)
      	at org.jclouds.http.Uris$UriBuilder.<init>(Uris.java:99)
      	at org.jclouds.http.Uris.uriBuilder(Uris.java:78)
      	at org.jclouds.azureblob.xml.ContainerNameEnumerationResultsHandler.endElement(ContainerNameEnumerationResultsHandler.java:153)
      	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:609)
      	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1782)
      	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2973)
      	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606)
      	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
      	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848)
      	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777)
      	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
      	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
      	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:649)
      	at org.jclouds.http.functions.ParseSax.doParse(ParseSax.java:140)
      	at org.jclouds.http.functions.ParseSax.parse(ParseSax.java:129)
      	at org.jclouds.http.functions.ParseSax.apply(ParseSax.java:83)
      	at org.jclouds.http.functions.ParseSax.apply(ParseSax.java:51)
      	at org.jclouds.rest.internal.InvokeHttpMethod.invoke(InvokeHttpMethod.java:90)
      	at org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:73)
      	at org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:44)
      	at org.jclouds.rest.internal.DelegatesToInvocationFunction.handle(DelegatesToInvocationFunction.java:156)
      	at org.jclouds.rest.internal.DelegatesToInvocationFunction.invoke(DelegatesToInvocationFunction.java:123)
      	at com.sun.proxy.$Proxy66.listBlobs(Unknown Source)
      	at org.jclouds.azureblob.blobstore.AzureBlobStore.list(AzureBlobStore.java:147)
      	at org.jclouds.blobstore.internal.BaseBlobStore.list(BaseBlobStore.java:81)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:483)
      	at com.google.inject.internal.DelegatingInvocationHandler.invoke(DelegatingInvocationHandler.java:37)
      	at com.sun.proxy.$Proxy50.list(Unknown Source)
      	<..>
      	at java.lang.Thread.run(Thread.java:745)
      Caused by: java.net.URISyntaxException: Illegal character in path at index 61: https://xxxxx.blob.core.windows.net/container-name/01 - Artist - Song .mp3
      	at java.net.URI$Parser.fail(URI.java:2848)
      	at java.net.URI$Parser.checkChars(URI.java:3021)
      	at java.net.URI$Parser.parseHierarchical(URI.java:3105)
      	at java.net.URI$Parser.parse(URI.java:3053)
      	at java.net.URI.<init>(URI.java:588)
      	at java.net.URI.create(URI.java:850)
      	... 39 more
      

      Attachments

        Issue Links

          Activity

            People

              timuralp Timur Alperovich
              novokhatsky Roman Novokhatsky
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: