You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by ga...@apache.org on 2016/06/04 07:23:49 UTC

[1/2] jclouds-labs-google git commit: Delete GCS composite object components

Repository: jclouds-labs-google
Updated Branches:
  refs/heads/master 0673713c6 -> 3d0192ca8


Delete GCS composite object components

Previously we left dangling subobjects.  The composite object retains
a reference to the components data.


Project: http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/commit/d7525f6f
Tree: http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/tree/d7525f6f
Diff: http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/diff/d7525f6f

Branch: refs/heads/master
Commit: d7525f6fb6e30b7dd5a32d8479a74be931bfc4a5
Parents: 0673713
Author: Andrew Gaul <ga...@apache.org>
Authored: Fri Jun 3 23:30:08 2016 -0700
Committer: Andrew Gaul <ga...@apache.org>
Committed: Sat Jun 4 00:23:22 2016 -0700

----------------------------------------------------------------------
 .../blobstore/GoogleCloudStorageBlobStore.java   | 19 ++++++++++++++-----
 ...oogleCloudStorageBlobIntegrationLiveTest.java |  6 +-----
 2 files changed, 15 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/d7525f6f/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/blobstore/GoogleCloudStorageBlobStore.java
----------------------------------------------------------------------
diff --git a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/blobstore/GoogleCloudStorageBlobStore.java b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/blobstore/GoogleCloudStorageBlobStore.java
index 1cb927e..cce5d3c 100644
--- a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/blobstore/GoogleCloudStorageBlobStore.java
+++ b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/blobstore/GoogleCloudStorageBlobStore.java
@@ -384,9 +384,9 @@ public final class GoogleCloudStorageBlobStore extends BaseBlobStore {
 
    @Override
    public String completeMultipartUpload(MultipartUpload mpu, List<MultipartPart> parts) {
-      ImmutableList.Builder<GoogleCloudStorageObject> builder = ImmutableList.builder();
+      ImmutableList.Builder<GoogleCloudStorageObject> objects = ImmutableList.builder();
       for (MultipartPart part : parts) {
-         builder.add(api.getObjectApi().getObject(mpu.containerName(),
+         objects.add(api.getObjectApi().getObject(mpu.containerName(),
                Strings2.urlEncode(getMPUPartName(mpu, part.partNumber()))));
       }
 
@@ -400,11 +400,20 @@ public final class GoogleCloudStorageBlobStore extends BaseBlobStore {
          destination.addAcl(controls);
       }
 
-      ComposeObjectTemplate template = ComposeObjectTemplate.builder().fromGoogleCloudStorageObject(builder.build())
+      ComposeObjectTemplate template = ComposeObjectTemplate.builder()
+            .fromGoogleCloudStorageObject(objects.build())
             .destination(destination).build();
-      return api.getObjectApi().composeObjects(mpu.containerName(), Strings2.urlEncode(mpu.blobName()), template)
+      String eTag = api.getObjectApi().composeObjects(mpu.containerName(), Strings2.urlEncode(mpu.blobName()), template)
             .etag();
-      // TODO: delete components?
+
+      // remove parts, composite object keeps a reference to them
+      ImmutableList.Builder<String> builder = ImmutableList.builder();
+      for (MultipartPart part : parts) {
+         builder.add(getMPUPartName(mpu, part.partNumber()));
+      }
+      removeBlobs(mpu.containerName(), builder.build());
+
+      return eTag;
    }
 
    @Override

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/d7525f6f/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/blobstore/integration/GoogleCloudStorageBlobIntegrationLiveTest.java
----------------------------------------------------------------------
diff --git a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/blobstore/integration/GoogleCloudStorageBlobIntegrationLiveTest.java b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/blobstore/integration/GoogleCloudStorageBlobIntegrationLiveTest.java
index 8aa3fe1..244076f 100644
--- a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/blobstore/integration/GoogleCloudStorageBlobIntegrationLiveTest.java
+++ b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/blobstore/integration/GoogleCloudStorageBlobIntegrationLiveTest.java
@@ -18,10 +18,8 @@ package org.jclouds.googlecloudstorage.blobstore.integration;
 
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNotEquals;
 import static org.testng.Assert.assertNotNull;
 import static org.testng.Assert.assertNull;
-import static org.testng.Assert.assertTrue;
 
 import java.io.File;
 import java.io.IOException;
@@ -224,9 +222,7 @@ public class GoogleCloudStorageBlobIntegrationLiveTest extends BaseBlobIntegrati
          addMultipartBlobToContainer(containerName, "const.txt");
 
          long countAfter = blobStore.countBlobs(containerName);
-         assertNotEquals(countBefore, countAfter, "No blob was created");
-         assertTrue(countAfter - countBefore > 1, "A multipart blob wasn't actually created - "
-                  + "there was only 1 extra blob but there should be one manifest blob and multiple chunk blobs");
+         assertThat(countAfter).isEqualTo(countBefore + 1);
       } finally {
          returnContainer(containerName);
       }


[2/2] jclouds-labs-google git commit: JCLOUDS-866: Reduce GCS multipart limit to 32

Posted by ga...@apache.org.
JCLOUDS-866: Reduce GCS multipart limit to 32


Project: http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/commit/3d0192ca
Tree: http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/tree/3d0192ca
Diff: http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/diff/3d0192ca

Branch: refs/heads/master
Commit: 3d0192ca87bb34abac5d2b2ad508e0d6844edb87
Parents: d7525f6
Author: Andrew Gaul <ga...@apache.org>
Authored: Fri Jun 3 23:30:43 2016 -0700
Committer: Andrew Gaul <ga...@apache.org>
Committed: Sat Jun 4 00:23:40 2016 -0700

----------------------------------------------------------------------
 .../blobstore/GoogleCloudStorageBlobStore.java                   | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/3d0192ca/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/blobstore/GoogleCloudStorageBlobStore.java
----------------------------------------------------------------------
diff --git a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/blobstore/GoogleCloudStorageBlobStore.java b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/blobstore/GoogleCloudStorageBlobStore.java
index cce5d3c..fe14fa3 100644
--- a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/blobstore/GoogleCloudStorageBlobStore.java
+++ b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/blobstore/GoogleCloudStorageBlobStore.java
@@ -452,8 +452,8 @@ public final class GoogleCloudStorageBlobStore extends BaseBlobStore {
 
    @Override
    public int getMaximumNumberOfParts() {
-      // TODO: should this be 32?  See: https://cloud.google.com/storage/docs/composite-objects
-      return 10 * 1000;
+      // can raise limit via composite objects of composites
+      return 32;
    }
 
    private static String getMPUPartName(MultipartUpload mpu, int partNumber) {