This is an automated email from the ASF dual-hosted git repository.

adoroszlai pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ozone.git


The following commit(s) were added to refs/heads/master by this push:
     new d7e15f5733 HDDS-10072. Update Container for named RwLock operations 
(#5932)
d7e15f5733 is described below

commit d7e15f5733b997bca60d1921192d7497c6500a37
Author: Doroszlai, Attila <[email protected]>
AuthorDate: Tue Jan 9 19:52:08 2024 +0100

    HDDS-10072. Update Container for named RwLock operations (#5932)
---
 .../container/common/interfaces/Container.java     | 33 ++++++++++++++++++----
 1 file changed, 27 insertions(+), 6 deletions(-)

diff --git 
a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/interfaces/Container.java
 
b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/interfaces/Container.java
index 79a92274e7..5fe148d6aa 100644
--- 
a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/interfaces/Container.java
+++ 
b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/interfaces/Container.java
@@ -26,21 +26,18 @@ import java.time.Instant;
 import java.util.Map;
 
 import org.apache.hadoop.hdds.protocol.datanode.proto.ContainerProtos;
-import org.apache.hadoop.hdds.protocol.proto
-    .StorageContainerDatanodeProtocolProtos.ContainerReplicaProto;
-import org.apache.hadoop.hdds.scm.container.common.helpers
-    .StorageContainerException;
+import 
org.apache.hadoop.hdds.protocol.proto.StorageContainerDatanodeProtocolProtos.ContainerReplicaProto;
+import 
org.apache.hadoop.hdds.scm.container.common.helpers.StorageContainerException;
 
 import org.apache.hadoop.hdfs.util.Canceler;
 import org.apache.hadoop.hdfs.util.DataTransferThrottler;
-import org.apache.hadoop.hdfs.util.RwLock;
 import org.apache.hadoop.ozone.container.common.impl.ContainerData;
 import org.apache.hadoop.ozone.container.common.volume.VolumeSet;
 
 /**
  * Interface for Container Operations.
  */
-public interface Container<CONTAINERDATA extends ContainerData> extends RwLock 
{
+public interface Container<CONTAINERDATA extends ContainerData> {
   /**
    * Encapsulates the result of a container scan.
    */
@@ -262,4 +259,28 @@ public interface Container<CONTAINERDATA extends 
ContainerData> extends RwLock {
    */
   ScanResult scanData(DataTransferThrottler throttler, Canceler canceler)
       throws InterruptedException;
+
+  /** Acquire read lock. */
+  void readLock();
+
+  /** Acquire read lock, unless interrupted while waiting. */
+  void readLockInterruptibly() throws InterruptedException;
+
+  /** Release read lock. */
+  void readUnlock();
+
+  /** Check if the current thread holds read lock. */
+  boolean hasReadLock();
+
+  /** Acquire write lock. */
+  void writeLock();
+
+  /** Acquire write lock, unless interrupted while waiting. */
+  void writeLockInterruptibly() throws InterruptedException;
+
+  /** Release write lock. */
+  void writeUnlock();
+
+  /** Check if the current thread holds write lock. */
+  boolean hasWriteLock();
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to