[ 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