Updated Branches: refs/heads/1.6.x 12860851b -> 0d0d5a0a0
Handle large putBlob with filesystem blobstore Previously large putBlob caused an OutOfMemoryError even with repeatable Payloads. Fixes JCLOUDS-248. Project: http://git-wip-us.apache.org/repos/asf/incubator-jclouds/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-jclouds/commit/0d0d5a0a Tree: http://git-wip-us.apache.org/repos/asf/incubator-jclouds/tree/0d0d5a0a Diff: http://git-wip-us.apache.org/repos/asf/incubator-jclouds/diff/0d0d5a0a Branch: refs/heads/1.6.x Commit: 0d0d5a0a033cb58286d2395f6e7a15a2cf7566ca Parents: 1286085 Author: Andrew Gaul <[email protected]> Authored: Tue Aug 20 16:50:02 2013 -0700 Committer: Andrew Gaul <[email protected]> Committed: Tue Aug 27 23:05:21 2013 -0700 ---------------------------------------------------------------------- .../strategy/internal/FilesystemStorageStrategyImpl.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/0d0d5a0a/apis/filesystem/src/main/java/org/jclouds/filesystem/strategy/internal/FilesystemStorageStrategyImpl.java ---------------------------------------------------------------------- diff --git a/apis/filesystem/src/main/java/org/jclouds/filesystem/strategy/internal/FilesystemStorageStrategyImpl.java b/apis/filesystem/src/main/java/org/jclouds/filesystem/strategy/internal/FilesystemStorageStrategyImpl.java index f5b2ce2..0206f01 100644 --- a/apis/filesystem/src/main/java/org/jclouds/filesystem/strategy/internal/FilesystemStorageStrategyImpl.java +++ b/apis/filesystem/src/main/java/org/jclouds/filesystem/strategy/internal/FilesystemStorageStrategyImpl.java @@ -199,7 +199,9 @@ public class FilesystemStorageStrategyImpl implements LocalStorageStrategy { if (payload.getRawContent() instanceof File) Files.copy((File) payload.getRawContent(), outputFile); else { - payload = Payloads.newPayload(ByteStreams.toByteArray(payload)); + if (!payload.isRepeatable()) { + payload = Payloads.newPayload(ByteStreams.toByteArray(payload)); + } Files.copy(payload, outputFile); } Payloads.calculateMD5(payload);
