You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@jclouds.apache.org by "Timur Alperovich (JIRA)" <ji...@apache.org> on 2015/08/18 02:45:45 UTC

[jira] [Created] (JCLOUDS-992) jclouds improperly handles "application/directory" blobs during LIST

Timur Alperovich created JCLOUDS-992:
----------------------------------------

             Summary: jclouds improperly handles "application/directory" blobs during LIST
                 Key: JCLOUDS-992
                 URL: https://issues.apache.org/jira/browse/JCLOUDS-992
             Project: jclouds
          Issue Type: Bug
          Components: jclouds-blobstore
    Affects Versions: 1.9.1, 2.0.0
            Reporter: Timur Alperovich


To support directory-style interaction with blob stores, jclouds treats application/directory blobs as "special" during LIST. There are specifically two ways this is manifested:
1. the blob storage type is set to _RelativePath_. This is problematic, as _RelativePath_ is also used to represent CommonPrefixes -- the prefix of common names up to the delimiter character (or string) if the delimiter is set. This makes it impossible for an application to discern whether there are actually relative paths in the listing or whether these are just directory objects
2. the returned name does not contain the last character (the separator suffix). jclouds has a list of common suffixes that are stripped off in such a way: _$folder, /, and \

These two issues combined present an interface that may be unexpected to applications. Instead of jclouds implementing some of this functionality, I think jclouds should push to the end users of the library to implement it. I'm not sure how many people do rely on this, however, and it's not clear what the impact would be of fixing it. I will submit a PR to address this issue in all providers that does the following:
1. do not mutate blob names
2. do not list directory blobs as RelativePaths



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)