Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 1C3EC200D63 for ; Thu, 7 Dec 2017 01:54:06 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id 19954160C1E; Thu, 7 Dec 2017 00:54:06 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 5FE19160C0A for ; Thu, 7 Dec 2017 01:54:05 +0100 (CET) Received: (qmail 94108 invoked by uid 500); 7 Dec 2017 00:53:51 -0000 Mailing-List: contact common-commits-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list common-commits@hadoop.apache.org Received: (qmail 90727 invoked by uid 99); 7 Dec 2017 00:53:48 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 07 Dec 2017 00:53:48 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 6C9D9F614F; Thu, 7 Dec 2017 00:53:47 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: aengineer@apache.org To: common-commits@hadoop.apache.org Date: Thu, 07 Dec 2017 00:54:31 -0000 Message-Id: <4f40eecbd1ac4d15a3faa7646b19ba01@git.apache.org> In-Reply-To: <140cd34d2a4745a89826a6dd10aa6df5@git.apache.org> References: <140cd34d2a4745a89826a6dd10aa6df5@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [46/50] [abbrv] hadoop git commit: HADOOP-15039. Move SemaphoredDelegatingExecutor to hadoop-common. Contributed by Genmao Yu archived-at: Thu, 07 Dec 2017 00:54:06 -0000 HADOOP-15039. Move SemaphoredDelegatingExecutor to hadoop-common. Contributed by Genmao Yu Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/73b86979 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/73b86979 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/73b86979 Branch: refs/heads/HDFS-7240 Commit: 73b86979d661f4ad56fcfc3a05a403dfcb2a860e Parents: 44b06d3 Author: Kai Zheng Authored: Wed Dec 6 12:01:36 2017 +0800 Committer: Kai Zheng Committed: Wed Dec 6 12:01:36 2017 +0800 ---------------------------------------------------------------------- .../fs/s3a/BlockingThreadPoolExecutorService.java | 7 +++---- .../java/org/apache/hadoop/fs/s3a/S3AFileSystem.java | 2 ++ .../hadoop/fs/s3a/SemaphoredDelegatingExecutor.java | 15 ++++++--------- .../s3a/ITestBlockingThreadPoolExecutorService.java | 2 ++ 4 files changed, 13 insertions(+), 13 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/73b86979/hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/BlockingThreadPoolExecutorService.java ---------------------------------------------------------------------- diff --git a/hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/BlockingThreadPoolExecutorService.java b/hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/BlockingThreadPoolExecutorService.java index f13942d..404eea9 100644 --- a/hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/BlockingThreadPoolExecutorService.java +++ b/hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/BlockingThreadPoolExecutorService.java @@ -15,8 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - -package org.apache.hadoop.fs.s3a; +package org.apache.hadoop.util; import java.util.concurrent.BlockingQueue; import java.util.concurrent.LinkedBlockingQueue; @@ -42,7 +41,7 @@ import org.apache.hadoop.classification.InterfaceAudience; * this s4 threadpool */ @InterfaceAudience.Private -final class BlockingThreadPoolExecutorService +public final class BlockingThreadPoolExecutorService extends SemaphoredDelegatingExecutor { private static final Logger LOG = LoggerFactory @@ -86,7 +85,7 @@ final class BlockingThreadPoolExecutorService * @return a thread factory that creates named, daemon threads with * the supplied exception handler and normal priority */ - static ThreadFactory newDaemonThreadFactory(final String prefix) { + public static ThreadFactory newDaemonThreadFactory(final String prefix) { final ThreadFactory namedFactory = getNamedThreadFactory(prefix); return new ThreadFactory() { @Override http://git-wip-us.apache.org/repos/asf/hadoop/blob/73b86979/hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/S3AFileSystem.java ---------------------------------------------------------------------- diff --git a/hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/S3AFileSystem.java b/hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/S3AFileSystem.java index 63a4349..e927758 100644 --- a/hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/S3AFileSystem.java +++ b/hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/S3AFileSystem.java @@ -112,8 +112,10 @@ import org.apache.hadoop.fs.s3a.s3guard.S3Guard; import org.apache.hadoop.fs.s3native.S3xLoginHelper; import org.apache.hadoop.io.retry.RetryPolicies; import org.apache.hadoop.security.UserGroupInformation; +import org.apache.hadoop.util.BlockingThreadPoolExecutorService; import org.apache.hadoop.util.Progressable; import org.apache.hadoop.util.ReflectionUtils; +import org.apache.hadoop.util.SemaphoredDelegatingExecutor; import static org.apache.hadoop.fs.s3a.Constants.*; import static org.apache.hadoop.fs.s3a.Invoker.*; http://git-wip-us.apache.org/repos/asf/hadoop/blob/73b86979/hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/SemaphoredDelegatingExecutor.java ---------------------------------------------------------------------- diff --git a/hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/SemaphoredDelegatingExecutor.java b/hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/SemaphoredDelegatingExecutor.java index 6b21912..bcc19e3 100644 --- a/hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/SemaphoredDelegatingExecutor.java +++ b/hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/SemaphoredDelegatingExecutor.java @@ -16,7 +16,7 @@ * limitations under the License. */ -package org.apache.hadoop.fs.s3a; +package org.apache.hadoop.util; import com.google.common.util.concurrent.ForwardingListeningExecutorService; import com.google.common.util.concurrent.Futures; @@ -42,17 +42,13 @@ import java.util.concurrent.TimeoutException; * This is a refactoring of {@link BlockingThreadPoolExecutorService}; that code * contains the thread pool logic, whereas this isolates the semaphore * and submit logic for use with other thread pools and delegation models. - * In particular, it permits multiple per stream executors to share a - * single per-FS-instance executor; the latter to throttle overall - * load from the the FS, the others to limit the amount of load which - * a single output stream can generate. *

* This is inspired by * this s4 threadpool */ @SuppressWarnings("NullableProblems") @InterfaceAudience.Private -class SemaphoredDelegatingExecutor extends +public class SemaphoredDelegatingExecutor extends ForwardingListeningExecutorService { private final Semaphore queueingPermits; @@ -65,7 +61,8 @@ class SemaphoredDelegatingExecutor extends * @param permitCount number of permits into the queue permitted * @param fair should the semaphore be "fair" */ - SemaphoredDelegatingExecutor(ListeningExecutorService executorDelegatee, + public SemaphoredDelegatingExecutor( + ListeningExecutorService executorDelegatee, int permitCount, boolean fair) { this.permitCount = permitCount; @@ -190,7 +187,7 @@ class SemaphoredDelegatingExecutor extends private Runnable delegatee; - public RunnableWithPermitRelease(Runnable delegatee) { + RunnableWithPermitRelease(Runnable delegatee) { this.delegatee = delegatee; } @@ -212,7 +209,7 @@ class SemaphoredDelegatingExecutor extends private Callable delegatee; - public CallableWithPermitRelease(Callable delegatee) { + CallableWithPermitRelease(Callable delegatee) { this.delegatee = delegatee; } http://git-wip-us.apache.org/repos/asf/hadoop/blob/73b86979/hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/s3a/ITestBlockingThreadPoolExecutorService.java ---------------------------------------------------------------------- diff --git a/hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/s3a/ITestBlockingThreadPoolExecutorService.java b/hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/s3a/ITestBlockingThreadPoolExecutorService.java index b1b8240..3dfe286 100644 --- a/hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/s3a/ITestBlockingThreadPoolExecutorService.java +++ b/hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/s3a/ITestBlockingThreadPoolExecutorService.java @@ -19,6 +19,8 @@ package org.apache.hadoop.fs.s3a; import com.google.common.util.concurrent.ListenableFuture; +import org.apache.hadoop.util.BlockingThreadPoolExecutorService; +import org.apache.hadoop.util.SemaphoredDelegatingExecutor; import org.apache.hadoop.util.StopWatch; import org.junit.AfterClass; --------------------------------------------------------------------- To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org For additional commands, e-mail: common-commits-help@hadoop.apache.org