From a50ecf77cf237cfceadc711dd48387f7c515ce10 Mon Sep 17 00:00:00 2001 From: Guanghao Zhang Date: Wed, 20 Dec 2017 16:50:31 +0800 Subject: [PATCH] HBASE-19563 A few hbase-procedure classes missing @InterfaceAudience annotation --- .../org/apache/hadoop/hbase/procedure2/LockAndQueue.java | 3 +++ .../java/org/apache/hadoop/hbase/procedure2/LockStatus.java | 12 +++++++++++- .../org/apache/hadoop/hbase/procedure2/ProcedureMetrics.java | 2 ++ .../hadoop/hbase/procedure2/ProcedureStateSerializer.java | 2 ++ .../hadoop/hbase/procedure2/store/NoopProcedureStore.java | 2 ++ .../hadoop/hbase/procedure2/store/ProcedureStoreBase.java | 3 +++ 6 files changed, 23 insertions(+), 1 deletion(-) diff --git a/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/LockAndQueue.java b/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/LockAndQueue.java index 89cacef..427c1fc 100644 --- a/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/LockAndQueue.java +++ b/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/LockAndQueue.java @@ -18,6 +18,8 @@ package org.apache.hadoop.hbase.procedure2; +import org.apache.yetus.audience.InterfaceAudience; + /** * Locking for mutual exclusion between procedures. Used only by procedure framework internally. * {@link LockAndQueue} has two purposes: @@ -42,6 +44,7 @@ package org.apache.hadoop.hbase.procedure2; *
* We do not use ReentrantReadWriteLock directly because of its high memory overhead. */ +@InterfaceAudience.Private public class LockAndQueue extends ProcedureDeque implements LockStatus { private Procedure exclusiveLockOwnerProcedure = null; private int sharedLock = 0; diff --git a/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/LockStatus.java b/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/LockStatus.java index f32ef76..24d7090 100644 --- a/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/LockStatus.java +++ b/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/LockStatus.java @@ -18,18 +18,28 @@ package org.apache.hadoop.hbase.procedure2; +import org.apache.yetus.audience.InterfaceAudience; + /** * Interface to get status of a Lock without getting access to acquire/release lock. * Currently used in MasterProcedureScheduler where we want to give Queues access to lock's * status for scheduling purposes, but not the ability to acquire/release it. */ +@InterfaceAudience.Private public interface LockStatus { boolean isLocked(); + boolean hasExclusiveLock(); + boolean isLockOwner(long procId); + boolean hasParentLock(final Procedure proc); + boolean hasLockAccess(final Procedure proc); + Procedure getExclusiveLockOwnerProcedure(); + long getExclusiveLockProcIdOwner(); + int getSharedLockCount(); -} +} \ No newline at end of file diff --git a/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/ProcedureMetrics.java b/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/ProcedureMetrics.java index 59cf1fe..4841392 100644 --- a/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/ProcedureMetrics.java +++ b/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/ProcedureMetrics.java @@ -20,6 +20,7 @@ package org.apache.hadoop.hbase.procedure2; import org.apache.hadoop.hbase.metrics.Counter; import org.apache.hadoop.hbase.metrics.Histogram; +import org.apache.yetus.audience.InterfaceAudience; /** * With this interface, the procedure framework provides means to collect following set of metrics @@ -32,6 +33,7 @@ import org.apache.hadoop.hbase.metrics.Histogram; * * Please implement this interface to return appropriate metrics. */ +@InterfaceAudience.Private public interface ProcedureMetrics { /** * @return Total number of instances submitted for a type of a procedure diff --git a/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/ProcedureStateSerializer.java b/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/ProcedureStateSerializer.java index 03842d9..7399c59 100644 --- a/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/ProcedureStateSerializer.java +++ b/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/ProcedureStateSerializer.java @@ -20,7 +20,9 @@ package org.apache.hadoop.hbase.procedure2; import java.io.IOException; import org.apache.hadoop.hbase.shaded.com.google.protobuf.Message; +import org.apache.yetus.audience.InterfaceAudience; +@InterfaceAudience.Private public interface ProcedureStateSerializer { void serialize(Message message) throws IOException; diff --git a/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/NoopProcedureStore.java b/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/NoopProcedureStore.java index 9e53f42..9c6176d 100644 --- a/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/NoopProcedureStore.java +++ b/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/NoopProcedureStore.java @@ -21,10 +21,12 @@ package org.apache.hadoop.hbase.procedure2.store; import java.io.IOException; import org.apache.hadoop.hbase.procedure2.Procedure; +import org.apache.yetus.audience.InterfaceAudience; /** * An In-Memory store that does not keep track of the procedures inserted. */ +@InterfaceAudience.Private public class NoopProcedureStore extends ProcedureStoreBase { private int numThreads; diff --git a/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/ProcedureStoreBase.java b/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/ProcedureStoreBase.java index 847c4d9..90da933 100644 --- a/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/ProcedureStoreBase.java +++ b/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/ProcedureStoreBase.java @@ -21,9 +21,12 @@ package org.apache.hadoop.hbase.procedure2.store; import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.atomic.AtomicBoolean; +import org.apache.yetus.audience.InterfaceAudience; + /** * Base class for {@link ProcedureStore}s. */ +@InterfaceAudience.Private public abstract class ProcedureStoreBase implements ProcedureStore { private final CopyOnWriteArrayList listeners = new CopyOnWriteArrayList<>(); -- 1.9.1