[
https://issues.apache.org/jira/browse/HADOOP-13600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16160030#comment-16160030
]
ASF GitHub Bot commented on HADOOP-13600:
-----------------------------------------
Github user steveloughran commented on a diff in the pull request:
https://github.com/apache/hadoop/pull/157#discussion_r137931539
--- Diff:
hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/S3AFileSystem.java
---
@@ -306,6 +311,58 @@ public StorageStatistics provide() {
}
+ private TransferManager createUploadTransferManager(Configuration conf) {
+ int maxThreads = conf.getInt(UPLOAD_MAX_THREADS,
DEFAULT_UPLOAD_MAX_THREADS);
+ if (maxThreads < 2) {
+ LOG.warn(UPLOAD_MAX_THREADS + " must be at least 2: forcing to 2.");
+ maxThreads = 2;
+ }
+ long keepAliveTime = longOption(conf, KEEPALIVE_TIME,
+ DEFAULT_KEEPALIVE_TIME, 0);
+
+ uploadUnboundedThreadPool = new ThreadPoolExecutor(
+ maxThreads, Integer.MAX_VALUE,
+ keepAliveTime, TimeUnit.SECONDS,
+ new LinkedBlockingQueue<Runnable>(),
+ BlockingThreadPoolExecutorService.newDaemonThreadFactory(
+ "s3a-upload-unbounded"));
+
+ TransferManagerConfiguration transferConfiguration =
+ new TransferManagerConfiguration();
+ transferConfiguration.setMinimumUploadPartSize(partSize);
+ transferConfiguration.setMultipartUploadThreshold(multiPartThreshold);
+
+ TransferManager uploads = new TransferManager(s3,
uploadUnboundedThreadPool);
+ uploads.setConfiguration(transferConfiguration);
+ return uploads;
+ }
+
+ private TransferManager createCopyTransferManager(Configuration conf) {
--- End diff --
this is almost the same as the previous one apart from the conf fields and
names; should be a common method
> S3a rename() to copy files in a directory in parallel
> -----------------------------------------------------
>
> Key: HADOOP-13600
> URL: https://issues.apache.org/jira/browse/HADOOP-13600
> Project: Hadoop Common
> Issue Type: Sub-task
> Components: fs/s3
> Affects Versions: 2.7.3
> Reporter: Steve Loughran
> Assignee: Sahil Takiar
>
> Currently a directory rename does a one-by-one copy, making the request
> O(files * data). If the copy operations were launched in parallel, the
> duration of the copy may be reducable to the duration of the longest copy.
> For a directory with many files, this will be significant
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]