LeaseRecoverable
LeaseRecoverable
インターフェースは、現在のファイルシステムの指定されたパスが、リースが明示的に更新されていないか、リースを保持しているクライアントがなくなった場合に、開いているファイルのリースリカバリを実行できるかどうかを示します。
このインターフェースは、リースリカバリをサポートするファイルシステム(例:DistributedFileSystem
(HDFS)およびViewDistributedFileSystem
)に必要な場合に、適宜実装する必要があります。
public interface LeaseRecoverable { boolean recoverLease(Path file) throws IOException; boolean isFileClosed(Path file) throws IOException; }
このインターフェースには、リースリカバリを実行する機能と、ファイルが閉じられているかどうかを確認する機能の2つの主要な機能があります。
この関数は、指定されたファイルパスのリースリカバリを実行します。ディレクトリパスのリカバリはサポートしていません。1. ファイルがすでに閉じられているか、リースリカバリが必要ない場合は、true
を返します。2. リースリカバリがまだ完了していない場合は、false
を返します。3. ディレクトリパスが入力として指定された場合は、IOException
をスローします。
この関数は、指定されたファイルパスが閉じられているかどうかのみを確認し、ディレクトリの確認はサポートしていません。1. ファイルが閉じられている場合は、true
を返します。2. ファイルがまだ開いている場合は、false
を返します。3. ディレクトリパスが入力として指定された場合は、IOException
をスローします。
ファイルシステムがLeaseRecoverable
をサポートしている場合、指定されたパスに対してPathCapabilities.hasPathCapability(path, "fs.capability.lease.recoverable")
にtrue
を返す必要があります。