Sorry, I tested this more carefully and it's working just fine. Here's what was confusing me:
* I'm using a different class for writing blobs than I am for reading blobs, and each has their own BlobStoreContext object (though they are configured the same). * I ran a test of putting a blob and reading it back *twice*, using the separate reader and writer objects. What I noticed is that the write took twice as long as the read, and the "GetBucketAcl" request happened twice, instead of once. * I assumed that the 2nd GetBucketAcl call was from the *writer* calling it for each putBlob() call, and (given the high latency in my environment), that would explain why writes take twice as long. * However, what I was actually observing was the *reader* calling GetBucketAcl for the first time, after my first getBlob() call. The only question I have is, is there a way to configure the "expiresAfterWrite" timeout for the bucketAcls LoadingCache in S3BlobStore? It's currently set to 30 seconds, and I might want to increase this value. It looks like it's hard-code, but I'm not familiar enough with jlcouds and/or guice to know if I can just extend this context module and change the value: https://github.com/jclouds/jclouds/blob/master/apis/s3/src/main/java/org/jclouds/s3/blobstore/config/S3BlobStoreContextModule.java#L68 *Steve Kingsland* Senior Software Engineer *Opower * <http://www.opower.com/> *We’re hiring! See jobs here <http://www.opower.com/careers> * On Wed, Aug 13, 2014 at 4:41 PM, Andrew Phillips <[email protected]> wrote: > blobStore.putBlob(), the S3 provider requests the bucket's ACL first. From >> looking at the code, it appears that the ACLs should be cached after the >> first GET, but I'm not seeing that. >> > > Could you point out which code (path) specifically you're looking at here? > > Thanks! > > ap >
