LeaseRecoverableLeaseRecoverable 接口告知当前文件系统的给定路径是否可以对未显式续约租约或持有它的客户端消失的打开文件执行租约恢复。
如果需要,此接口应相应地实现到支持租约恢复的任何文件系统,例如 DistributedFileSystem (HDFS) 和 ViewDistributedFileSystem。
public interface LeaseRecoverable {
boolean recoverLease(Path file) throws IOException;
boolean isFileClosed(Path file) throws IOException;
}
此接口有两个主要功能,一个执行租约恢复,另一个验证文件是否已关闭。
此函数对给定的文件路径执行租约恢复,且不支持目录路径恢复。1. 如果文件已关闭或不需要租约恢复,则返回 true。1. 如果租约恢复尚未完成,则返回 false。1. 如果给定的输入为目录路径,则抛出 IOException。
此函数仅检查给定的文件路径是否已关闭,且不支持目录验证。1. 如果文件已关闭,则返回 true。1. 如果文件仍处于打开状态,则返回 false。1. 如果给定的输入为目录路径,则抛出 IOException。
如果文件系统支持 LeaseRecoverable,则它应针对给定的路径返回 true 至 PathCapabilities.hasPathCapability(path, "fs.capability.lease.recoverable")。