saintstack commented on a change in pull request #3596:
URL: https://github.com/apache/hbase/pull/3596#discussion_r696064276



##########
File path: 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreFileInfo.java
##########
@@ -163,22 +168,57 @@ private StoreFileInfo(final Configuration conf, final 
FileSystem fs, final FileS
       }
       LOG.trace("{} is a {} reference to {}", p, reference.getFileRegion(), 
referencePath);
     } else if (isHFile(p)) {
-      // HFile
-      if (fileStatus != null) {
-        this.createdTimestamp = fileStatus.getModificationTime();
-        this.size = fileStatus.getLen();
-      } else {
-        FileStatus fStatus = fs.getFileStatus(initialPath);
-        this.createdTimestamp = fStatus.getModificationTime();
-        this.size = fStatus.getLen();
-      }
+      // If a fileStatus, use it. It is pointed at the hfile, not at a link or 
reference.
+      this.cachedFileStatus = fileStatus != null? fileStatus: 
fs.getFileStatus(p);

Review comment:
       I checked again and whats here is fine... we are only here if its a 
direct file path. There are cases where we might be passed a filestatus for a 
link or reference but we won't get to this point so won't cache them... which 
is a missed opportunity I think. Let me see if opportunity for early caching 
passed filestatus even if link or reference. Will be back (This is not my patch 
originally... trying to help land someone else's good idea..).




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to