[ 
https://issues.apache.org/jira/browse/HADOOP-18740?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17728407#comment-17728407
 ] 

ASF GitHub Bot commented on HADOOP-18740:
-----------------------------------------

virajjasani commented on code in PR #5675:
URL: https://github.com/apache/hadoop/pull/5675#discussion_r1213340095


##########
hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/impl/prefetch/SingleFilePerBlockCache.java:
##########
@@ -127,11 +128,33 @@ void takeLock(LockType lockType) {
      */
     void releaseLock(LockType lockType) {
       if (LockType.READ == lockType) {
-        this.lock.readLock().unlock();
+        lock.readLock().unlock();
       } else if (LockType.WRITE == lockType) {
-        this.lock.writeLock().unlock();
+        lock.writeLock().unlock();
       }
     }
+
+    /**
+     * Try to take the read or write lock within the given timeout.
+     *
+     * @param lockType type of the lock.
+     * @param timeout the time to wait for the given lock.
+     * @param unit the time unit of the timeout argument.
+     * @return true if the lock of the given lock type was acquired.
+     */
+    boolean takeLock(LockType lockType, long timeout, TimeUnit unit) {

Review Comment:
   sounds good, done





> s3a prefetch cache blocks should be accessed by RW locks
> --------------------------------------------------------
>
>                 Key: HADOOP-18740
>                 URL: https://issues.apache.org/jira/browse/HADOOP-18740
>             Project: Hadoop Common
>          Issue Type: Sub-task
>            Reporter: Viraj Jasani
>            Assignee: Viraj Jasani
>            Priority: Major
>              Labels: pull-request-available
>
> In order to implement LRU or LFU based cache removal policies for s3a 
> prefetched cache blocks, it is important for all cache reader threads to 
> acquire read lock and similarly cache file removal mechanism (fs close or 
> cache eviction) to acquire write lock before accessing the files.
> As we maintain the block entries in an in-memory map, we should be able to 
> introduce read-write lock per cache file entry, we don't need coarse-grained 
> lock shared by all entries.
>  
> This is a prerequisite to HADOOP-18291.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-issues-h...@hadoop.apache.org

Reply via email to