saintstack commented on a change in pull request #3596:
URL: https://github.com/apache/hbase/pull/3596#discussion_r695993435
##########
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:
Yeah, only safe to cache if filestatus is a direct reference at this
point. For link or ref, need to wait till we are asked get the filestatus for
the endpoint of link/ref before we go ahead and cache... will look again to be
sure. thanks.
--
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]