Hi team,

Recently, Wei-Chiu and I have been discussing about if HBase can use
Ozone as another storage as WAL (see the hsync and hflush JIRAs [1])
and HFile, for HFile it’s pluggable by configuring the file system to
use Ozone File System (Ozone)

But we found that the WAL it’s a bit different, especially
RecoverLeaseFSUtils#recoverFileLease [2], it has one check about if
the file system is an instance of HDFS, and thus WAL recovery to
execute file lease recovery from RS crashes. Here, if we would like to
add Ozone, it does not matter by importing as a direct dependency to
perform similar lease recovery or via reflection by class name in
plaintext String, we still need to somehow introduce Ozone to be
another supported file system. (we can discuss how we can implement
better as well)

We also found other places e.g. FSUtils and HFileSystem have used
DistributedFileSystem, but it should be able to move them into either
hbase-asyncfs or a new FS related component to separate the use of
different supported file systems.

So, we’re wondering if anyone would have any objections to adding
Ozone as a dependency to hbase-asyncfs? or if you have a better idea
how this could be added without adding Ozone as dependency, please
feel free to comment on this thread.


[1] Ozone is working on support for hsync and hflush,
https://issues.apache.org/jira/browse/HDDS-7593,
https://issues.apache.org/jira/browse/HDDS-4353
[2] RecoverLeaseFSUtils#recoverFileLease,
https://github.com/apache/hbase/blob/master/hbase-asyncfs/src/main/java/org/apache/hadoop/hbase/util/RecoverLeaseFSUtils.java#L53-L63

Thanks,
Stephen

Reply via email to