From 1155ffd0d3b3b7e0f91690420903a631d1f8f739 Mon Sep 17 00:00:00 2001 From: Nick Dimiduk Date: Wed, 9 Mar 2022 17:49:17 +0100 Subject: [PATCH] HBASE-26819 Minor code cleanup in and around RpcScheduler Signed-off-by: Duo Zhang --- .../org/apache/hadoop/hbase/ipc/FifoRpcScheduler.java | 8 +++----- .../hadoop/hbase/ipc/MasterFifoRpcScheduler.java | 8 +++----- .../java/org/apache/hadoop/hbase/ipc/RpcScheduler.java | 10 ++++------ .../apache/hadoop/hbase/ipc/SimpleRpcScheduler.java | 8 ++++---- .../org/apache/hadoop/hbase/TestMetaTableAccessor.java | 5 +---- .../client/TestAsyncClientPauseForCallQueueTooBig.java | 6 ++---- .../hadoop/hbase/ipc/DelegatingRpcScheduler.java | 6 ++---- 7 files changed, 19 insertions(+), 32 deletions(-) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/FifoRpcScheduler.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/FifoRpcScheduler.java index 5d116b7a665c..cfd085ebc771 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/FifoRpcScheduler.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/FifoRpcScheduler.java @@ -1,4 +1,4 @@ -/** +/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information @@ -17,7 +17,6 @@ */ package org.apache.hadoop.hbase.ipc; -import java.io.IOException; import java.util.HashMap; import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.BlockingQueue; @@ -26,11 +25,10 @@ import java.util.concurrent.atomic.AtomicInteger; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.util.Threads; -import org.apache.hbase.thirdparty.com.google.common.util.concurrent.ThreadFactoryBuilder; import org.apache.yetus.audience.InterfaceAudience; import org.slf4j.Logger; import org.slf4j.LoggerFactory; - +import org.apache.hbase.thirdparty.com.google.common.util.concurrent.ThreadFactoryBuilder; import org.apache.hbase.thirdparty.io.netty.util.internal.StringUtil; /** @@ -92,7 +90,7 @@ public void run() { } @Override - public boolean dispatch(final CallRunner task) throws IOException, InterruptedException { + public boolean dispatch(final CallRunner task) { return executeRpcCall(executor, queueSize, task); } diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/MasterFifoRpcScheduler.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/MasterFifoRpcScheduler.java index 66694d2f5468..a52aa7e759a9 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/MasterFifoRpcScheduler.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/MasterFifoRpcScheduler.java @@ -1,4 +1,4 @@ -/** +/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information @@ -17,20 +17,18 @@ */ package org.apache.hadoop.hbase.ipc; -import java.io.IOException; import java.util.HashMap; import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; - import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.util.Threads; -import org.apache.hbase.thirdparty.com.google.common.util.concurrent.ThreadFactoryBuilder; import org.apache.yetus.audience.InterfaceAudience; import org.apache.yetus.audience.InterfaceStability; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.apache.hbase.thirdparty.com.google.common.util.concurrent.ThreadFactoryBuilder; /** * A special {@code }RpcScheduler} only used for master. This scheduler separates RegionServerReport @@ -90,7 +88,7 @@ public void stop() { } @Override - public boolean dispatch(final CallRunner task) throws IOException, InterruptedException { + public boolean dispatch(final CallRunner task) { String method = getCallMethod(task); if (rsReportExecutor != null && method != null && method.equals(REGION_SERVER_REPORT)) { return executeRpcCall(rsReportExecutor, rsReportQueueSize, task); diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcScheduler.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcScheduler.java index 408609a787f0..0f935f6a76dc 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcScheduler.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcScheduler.java @@ -1,4 +1,4 @@ -/** +/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information @@ -17,12 +17,10 @@ */ package org.apache.hadoop.hbase.ipc; +import java.net.InetSocketAddress; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.yetus.audience.InterfaceAudience; import org.apache.yetus.audience.InterfaceStability; -import org.apache.hadoop.hbase.HBaseInterfaceAudience; - -import java.io.IOException; -import java.net.InetSocketAddress; /** * An interface for RPC request scheduling algorithm. @@ -65,7 +63,7 @@ public static abstract class Context { * * @param task the request to be dispatched */ - public abstract boolean dispatch(CallRunner task) throws IOException, InterruptedException; + public abstract boolean dispatch(CallRunner task); /** Get call queue information **/ public abstract CallQueueInfo getCallQueueInfo(); diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/SimpleRpcScheduler.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/SimpleRpcScheduler.java index e173025750e8..641aaefa4e1e 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/SimpleRpcScheduler.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/SimpleRpcScheduler.java @@ -1,4 +1,4 @@ -/** +/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information @@ -21,10 +21,10 @@ import org.apache.hadoop.hbase.Abortable; import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.HConstants; -import org.apache.yetus.audience.InterfaceAudience; -import org.apache.yetus.audience.InterfaceStability; import org.apache.hadoop.hbase.conf.ConfigurationObserver; import org.apache.hadoop.hbase.master.MasterAnnotationReadingPriorityFunction; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; /** * The default scheduler. Configurable. Maintains isolated handler pools for general ('default'), @@ -198,7 +198,7 @@ public void stop() { } @Override - public boolean dispatch(CallRunner callTask) throws InterruptedException { + public boolean dispatch(CallRunner callTask) { RpcCall call = callTask.getRpcCall(); int level = priority.getPriority(call.getHeader(), call.getParam(), call.getRequestUser().orElse(null)); diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/TestMetaTableAccessor.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/TestMetaTableAccessor.java index 94236b7b4cde..f8a35ed73145 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/TestMetaTableAccessor.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/TestMetaTableAccessor.java @@ -27,13 +27,11 @@ import static org.mockito.Mockito.reset; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; - import java.io.IOException; import java.util.Collections; import java.util.List; import java.util.Random; import java.util.concurrent.ThreadLocalRandom; - import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.client.Connection; import org.apache.hadoop.hbase.client.ConnectionFactory; @@ -65,7 +63,6 @@ import org.junit.rules.TestName; import org.slf4j.Logger; import org.slf4j.LoggerFactory; - import org.apache.hbase.thirdparty.com.google.common.collect.Lists; /** @@ -488,7 +485,7 @@ public SpyingRpcScheduler(RpcScheduler delegate) { } @Override - public boolean dispatch(CallRunner task) throws IOException, InterruptedException { + public boolean dispatch(CallRunner task) { int priority = task.getRpcCall().getPriority(); if (priority > HConstants.QOS_THRESHOLD) { diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncClientPauseForCallQueueTooBig.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncClientPauseForCallQueueTooBig.java index 675c9e1cd910..ba871066eb3c 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncClientPauseForCallQueueTooBig.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncClientPauseForCallQueueTooBig.java @@ -1,4 +1,4 @@ -/** +/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information @@ -20,7 +20,6 @@ import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; - import java.io.IOException; import java.util.ArrayList; import java.util.List; @@ -53,7 +52,6 @@ import org.junit.ClassRule; import org.junit.Test; import org.junit.experimental.categories.Category; - import org.apache.hbase.thirdparty.com.google.common.io.Closeables; import org.apache.hbase.thirdparty.com.google.protobuf.Descriptors.MethodDescriptor; @@ -90,7 +88,7 @@ public CQTBERpcScheduler(Configuration conf, int handlerCount, int priorityHandl } @Override - public boolean dispatch(CallRunner callTask) throws InterruptedException { + public boolean dispatch(CallRunner callTask) { if (FAIL) { MethodDescriptor method = callTask.getRpcCall().getMethod(); // this is for test scan, where we will send a open scanner first and then a next, and we diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/DelegatingRpcScheduler.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/DelegatingRpcScheduler.java index 50a2ff2bae4e..4aa5cab9f163 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/DelegatingRpcScheduler.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/DelegatingRpcScheduler.java @@ -1,4 +1,4 @@ -/** +/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information @@ -18,8 +18,6 @@ package org.apache.hadoop.hbase.ipc; -import java.io.IOException; - public class DelegatingRpcScheduler extends RpcScheduler { protected RpcScheduler delegate; @@ -75,7 +73,7 @@ public int getActiveReplicationRpcHandlerCount() { } @Override - public boolean dispatch(CallRunner task) throws IOException, InterruptedException { + public boolean dispatch(CallRunner task) { return delegate.dispatch(task); }