[jira] [Commented] (JCLOUDS-1173) List method has different behavior on different cloud providers

2016-10-18 Thread Ryan MacDowell (JIRA)

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

Ryan MacDowell commented on JCLOUDS-1173:
-

Hi [~gaul], 
I just ran my test code with the 2.0.0-SNAPSHOT and it seems to have the 
correct behavior.  Thanks for looking into it!


> List method has different behavior on different cloud providers
> ---
>
> Key: JCLOUDS-1173
> URL: https://issues.apache.org/jira/browse/JCLOUDS-1173
> Project: jclouds
>  Issue Type: Bug
>  Components: jclouds-blobstore
>Affects Versions: 1.9.2
>Reporter: Ryan MacDowell
> Attachments: ListTest.java
>
>
> I'm seeing different behavior for the BlobStore list method of aws-s3 and 
> transient.  On aws-s3 the PageSet contains the directory itself and on azure 
> and transient it does not.  
> The example below shows that transient gives a size of 1 and aws-s3 gives a 
> size of 2 even though they are setup exactly the same.  
> {code:title=ListTest.java}
> import org.jclouds.ContextBuilder;
> import org.jclouds.blobstore.BlobStore;
> import org.jclouds.blobstore.BlobStoreContext;
> import org.jclouds.blobstore.domain.Blob;
> import com.amazonaws.auth.AWSCredentials;
> import com.amazonaws.auth.DefaultAWSCredentialsProviderChain;
> public class ListTest {
>   public static void main(String[] args) {
>   String containerName = "test.container";
>   String dataString = "testData";
>   String testDirectory = "testDirectory";
>   String blobName = "blob1";
>   AWSCredentials creds = new 
> DefaultAWSCredentialsProviderChain().getCredentials();
>   //Setup the contexts
>   BlobStoreContext transientContext = 
> ContextBuilder.newBuilder("transient")
>   .credentials(creds.getAWSAccessKeyId(), 
> creds.getAWSSecretKey())
>   .build(BlobStoreContext.class);
>   BlobStoreContext awsS3Context = 
> ContextBuilder.newBuilder("aws-s3")
>   .credentials(creds.getAWSAccessKeyId(), 
> creds.getAWSSecretKey())
>   .build(BlobStoreContext.class);
>   //Setup the blobstores
>   BlobStore transientStore = transientContext.getBlobStore();
>   BlobStore awsStore = awsS3Context.getBlobStore();
>   //Setup the container
>   transientStore.createContainerInLocation(null, containerName);
>   awsStore.createContainerInLocation(null, containerName);
>   //Setup the directories
>   transientStore.createDirectory(containerName, testDirectory);
>   awsStore.createDirectory(containerName, testDirectory);
>   //setup the blobs
>   Blob transientBlob = transientStore.blobBuilder(testDirectory 
> +"/" + blobName).build();
>   Blob awsBlob = awsStore.blobBuilder(testDirectory +"/" + 
> blobName).build();
>   //create the payloads
>   byte[] transientPayload = dataString.getBytes();
>   byte[] awsPayload = dataString.getBytes();
>   //set the payloads
>   transientBlob.setPayload(transientPayload);
>   awsBlob.setPayload(awsPayload);
>   //Upload the blobs
>   transientStore.putBlob(containerName, transientBlob);
>   awsStore.putBlob(containerName, awsBlob);
>   System.out.println("Directory size should be the same but is 
> not: transient + " + transientStore.list(containerName).size()
>   + ", aws = " + 
> awsStore.list(containerName).size());
>   }
> }
> {code}



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


[jira] [Commented] (JCLOUDS-1173) List method has different behavior on different cloud providers

2016-10-18 Thread Ryan MacDowell (JIRA)

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

Ryan MacDowell commented on JCLOUDS-1173:
-

Hi [~gaul], 
I just ran my test code with the 2.0.0-SNAPSHOT and it seems to have the 
correct behavior.  Thanks for looking into it!


> List method has different behavior on different cloud providers
> ---
>
> Key: JCLOUDS-1173
> URL: https://issues.apache.org/jira/browse/JCLOUDS-1173
> Project: jclouds
>  Issue Type: Bug
>  Components: jclouds-blobstore
>Affects Versions: 1.9.2
>Reporter: Ryan MacDowell
> Attachments: ListTest.java
>
>
> I'm seeing different behavior for the BlobStore list method of aws-s3 and 
> transient.  On aws-s3 the PageSet contains the directory itself and on azure 
> and transient it does not.  
> The example below shows that transient gives a size of 1 and aws-s3 gives a 
> size of 2 even though they are setup exactly the same.  
> {code:title=ListTest.java}
> import org.jclouds.ContextBuilder;
> import org.jclouds.blobstore.BlobStore;
> import org.jclouds.blobstore.BlobStoreContext;
> import org.jclouds.blobstore.domain.Blob;
> import com.amazonaws.auth.AWSCredentials;
> import com.amazonaws.auth.DefaultAWSCredentialsProviderChain;
> public class ListTest {
>   public static void main(String[] args) {
>   String containerName = "test.container";
>   String dataString = "testData";
>   String testDirectory = "testDirectory";
>   String blobName = "blob1";
>   AWSCredentials creds = new 
> DefaultAWSCredentialsProviderChain().getCredentials();
>   //Setup the contexts
>   BlobStoreContext transientContext = 
> ContextBuilder.newBuilder("transient")
>   .credentials(creds.getAWSAccessKeyId(), 
> creds.getAWSSecretKey())
>   .build(BlobStoreContext.class);
>   BlobStoreContext awsS3Context = 
> ContextBuilder.newBuilder("aws-s3")
>   .credentials(creds.getAWSAccessKeyId(), 
> creds.getAWSSecretKey())
>   .build(BlobStoreContext.class);
>   //Setup the blobstores
>   BlobStore transientStore = transientContext.getBlobStore();
>   BlobStore awsStore = awsS3Context.getBlobStore();
>   //Setup the container
>   transientStore.createContainerInLocation(null, containerName);
>   awsStore.createContainerInLocation(null, containerName);
>   //Setup the directories
>   transientStore.createDirectory(containerName, testDirectory);
>   awsStore.createDirectory(containerName, testDirectory);
>   //setup the blobs
>   Blob transientBlob = transientStore.blobBuilder(testDirectory 
> +"/" + blobName).build();
>   Blob awsBlob = awsStore.blobBuilder(testDirectory +"/" + 
> blobName).build();
>   //create the payloads
>   byte[] transientPayload = dataString.getBytes();
>   byte[] awsPayload = dataString.getBytes();
>   //set the payloads
>   transientBlob.setPayload(transientPayload);
>   awsBlob.setPayload(awsPayload);
>   //Upload the blobs
>   transientStore.putBlob(containerName, transientBlob);
>   awsStore.putBlob(containerName, awsBlob);
>   System.out.println("Directory size should be the same but is 
> not: transient + " + transientStore.list(containerName).size()
>   + ", aws = " + 
> awsStore.list(containerName).size());
>   }
> }
> {code}



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


[jira] [Commented] (JCLOUDS-1173) List method has different behavior on different cloud providers

2016-10-13 Thread Andrew Gaul (JIRA)

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

Andrew Gaul commented on JCLOUDS-1173:
--

[~ryanmacdow...@gmail.com] Can you test with 2.0.0-SNAPSHOT?  It includes 
several fixes for listing.

> List method has different behavior on different cloud providers
> ---
>
> Key: JCLOUDS-1173
> URL: https://issues.apache.org/jira/browse/JCLOUDS-1173
> Project: jclouds
>  Issue Type: Bug
>  Components: jclouds-blobstore
>Affects Versions: 1.9.2
>Reporter: Ryan MacDowell
> Attachments: ListTest.java
>
>
> I'm seeing different behavior for the BlobStore list method of aws-s3 and 
> transient.  On aws-s3 the PageSet contains the directory itself and on azure 
> and transient it does not.  
> The example below shows that transient gives a size of 1 and aws-s3 gives a 
> size of 2 even though they are setup exactly the same.  
> {code:title=ListTest.java}
> import org.jclouds.ContextBuilder;
> import org.jclouds.blobstore.BlobStore;
> import org.jclouds.blobstore.BlobStoreContext;
> import org.jclouds.blobstore.domain.Blob;
> import com.amazonaws.auth.AWSCredentials;
> import com.amazonaws.auth.DefaultAWSCredentialsProviderChain;
> public class ListTest {
>   public static void main(String[] args) {
>   String containerName = "test.container";
>   String dataString = "testData";
>   String testDirectory = "testDirectory";
>   String blobName = "blob1";
>   AWSCredentials creds = new 
> DefaultAWSCredentialsProviderChain().getCredentials();
>   //Setup the contexts
>   BlobStoreContext transientContext = 
> ContextBuilder.newBuilder("transient")
>   .credentials(creds.getAWSAccessKeyId(), 
> creds.getAWSSecretKey())
>   .build(BlobStoreContext.class);
>   BlobStoreContext awsS3Context = 
> ContextBuilder.newBuilder("aws-s3")
>   .credentials(creds.getAWSAccessKeyId(), 
> creds.getAWSSecretKey())
>   .build(BlobStoreContext.class);
>   //Setup the blobstores
>   BlobStore transientStore = transientContext.getBlobStore();
>   BlobStore awsStore = awsS3Context.getBlobStore();
>   //Setup the container
>   transientStore.createContainerInLocation(null, containerName);
>   awsStore.createContainerInLocation(null, containerName);
>   //Setup the directories
>   transientStore.createDirectory(containerName, testDirectory);
>   awsStore.createDirectory(containerName, testDirectory);
>   //setup the blobs
>   Blob transientBlob = transientStore.blobBuilder(testDirectory 
> +"/" + blobName).build();
>   Blob awsBlob = awsStore.blobBuilder(testDirectory +"/" + 
> blobName).build();
>   //create the payloads
>   byte[] transientPayload = dataString.getBytes();
>   byte[] awsPayload = dataString.getBytes();
>   //set the payloads
>   transientBlob.setPayload(transientPayload);
>   awsBlob.setPayload(awsPayload);
>   //Upload the blobs
>   transientStore.putBlob(containerName, transientBlob);
>   awsStore.putBlob(containerName, awsBlob);
>   System.out.println("Directory size should be the same but is 
> not: transient + " + transientStore.list(containerName).size()
>   + ", aws = " + 
> awsStore.list(containerName).size());
>   }
> }
> {code}



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