Open palemieux opened 5 months ago
Remote byte access is a high-value add for Photon, and we acknowledge the pain point of java.io.file
not just in IMPAnalyzer, but across the library. Netflix is interested in solving this problem by adding remote-file access capabilities.
Regarding the existing S3 support pull request, we have identified several improvements that would be needed before merging. We will add a more detailed review in the PR, but they mostly revolve around backward-compatibility and leaky abstractions. We actually prefer the Java NIO-based approach - this way, Photon can focus on doing what it does best while delegating S3 byte access to another component.
The current use of the
java.io.file
API inIMPAnalyzer
significantly limits the use of the library. In particular, it requires the IMF to be available on the local filesystem, which is not always possible/practical, e.g., on AWS lambda.Two options come to mind:
java.nio.file
API for which bindings to S3 exist, e.g., https://github.com/awslabs/aws-java-nio-spi-for-s3ResourceByteRangeProvider
and abstractjava.io.file
operations, e.g., like in https://github.com/Netflix/photon/pull/293