Details
-
Sub-task
-
Status: Resolved
-
Major
-
Resolution: Implemented
-
None
-
None
Description
The target of this task is to deprecate the `lookupFile` interface and use GetKeyInfo for the OFS use case.
The gap between OFS and object storage use cases (like S3) is that due to a file system nature, OFS has to answer the file read requests from its client. A file read input is a file path and OFS needs to be able to decide if the given path is a valid file. To be specific, if the given path is not a file (but a directory), OFS should return an error. Reading empty files is a valid use case.
// throws IOException if the given path is not a file.
FileSystem.open(path)
The lookupKey API returns the same content for an empty file and directory.
Today, this is solved in Ozone by the separated lookupFile API, detecting if the given key is a directory and throwing an error on server-side.
throw new OMException(ResultCodes.NOT_A_FILE);
We designed GetKeyInfo to replace lookupKey and it inherits the same limit.
Attachments
Issue Links
- links to