You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by na...@apache.org on 2018/01/11 15:41:02 UTC

[19/50] [abbrv] jclouds git commit: JCLOUDS-1369: improving slicing with many parts

JCLOUDS-1369: improving slicing with many parts

Previously with GCS and its maximum 32 parts, the slicing algorithm
would sliced 3.2 GB blobs into (31) 32 MB parts and (1) 2.3 GB part.
With this algorithm it creates (31) 100 MB parts and (1) smaller part.


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

Branch: refs/heads/keystonev3
Commit: 8cd68a35033312cd54822bc3f8e46ed629810712
Parents: d05be89
Author: Andrew Gaul <ga...@apache.org>
Authored: Thu Jan 4 15:41:35 2018 -0800
Committer: Andrew Gaul <ga...@apache.org>
Committed: Tue Jan 9 12:56:00 2018 -0800

----------------------------------------------------------------------
 .../internal/MultipartUploadSlicingAlgorithm.java       | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/8cd68a35/blobstore/src/main/java/org/jclouds/blobstore/strategy/internal/MultipartUploadSlicingAlgorithm.java
----------------------------------------------------------------------
diff --git a/blobstore/src/main/java/org/jclouds/blobstore/strategy/internal/MultipartUploadSlicingAlgorithm.java b/blobstore/src/main/java/org/jclouds/blobstore/strategy/internal/MultipartUploadSlicingAlgorithm.java
index eb4074f..f8cc9f3 100644
--- a/blobstore/src/main/java/org/jclouds/blobstore/strategy/internal/MultipartUploadSlicingAlgorithm.java
+++ b/blobstore/src/main/java/org/jclouds/blobstore/strategy/internal/MultipartUploadSlicingAlgorithm.java
@@ -103,14 +103,10 @@ public final class MultipartUploadSlicingAlgorithm {
          unitPartSize = maximumPartSize;
          parts = (int)(length / unitPartSize);
       }
-      if (parts > maximumNumberOfParts) { // if splits in too many parts or
-                                         // cannot be split
-         unitPartSize = minimumPartSize; // take the minimum part size
-         parts = (int)(length / unitPartSize);
-      }
-      if (parts > maximumNumberOfParts) { // if still splits in too many parts
-         parts = maximumNumberOfParts - 1; // limit them. do not care about not
-                                          // covering
+      if (parts > maximumNumberOfParts) {
+         partSize = length / maximumNumberOfParts;
+         unitPartSize = partSize;
+         parts = maximumNumberOfParts;
       }
       long remainder = length % unitPartSize;
       if (remainder == 0 && parts > 0) {