keith-turner commented on code in PR #3079:
URL: https://github.com/apache/accumulo/pull/3079#discussion_r1023239585
##########
core/src/main/java/org/apache/accumulo/core/file/blockfile/impl/CachableBlockFile.java:
##########
@@ -83,8 +84,24 @@ public CachableBuilder conf(Configuration hadoopConf) {
}
public CachableBuilder fsPath(FileSystem fs, Path dataFile) {
+ return fsPath(fs, dataFile, false);
+ }
+
+ public CachableBuilder fsPath(FileSystem fs, Path dataFile, boolean
dropCacheBehind) {
this.cacheId = pathToCacheId(dataFile);
- this.inputSupplier = () -> fs.open(dataFile);
+ this.inputSupplier = () -> {
+ FSDataInputStream is = fs.open(dataFile);
+ if (dropCacheBehind) {
+ // Tell the DataNode that the write ahead log does not need to be
cached in the OS page
+ // cache
+ try {
+ is.setDropBehind(Boolean.TRUE);
+ } catch (IOException | UnsupportedOperationException e) {
+ log.debug("setDropBehind not enabled for wal file: {}", dataFile);
Review Comment:
> I can do that, do you think in the case of IOException, that it should be
higher than debug? warn maybe?
Hopefully if the stream is in a bad state and it throws an IOE here then it
will throw an IOE later when trying to use it. Those later throws should log
something, so maybe the debug here is ok? Would be nice to understand when it
throws an IOE.
--
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]