The command line DataFusion compaction utility (not used by operational Sleeper) fails when the input Parquet files are specified using a relative path such as ../../some_file/test.parquet.
Steps to reproduce
Perform a cargo build in the rust directory.
target/release/main /tmp/test.parquet ../some_file/test.parquet -k blah -m blah -a blah
Expected behaviour
Compaction library is called with given files
Screenshots/Logs
0: Object Store error: Object at location /some_file/test.parquet not found: No such file or directory (os error 2)
Background
Relative path is incorrectly converted to a URL causing wrong path to be used.
Command line interface to compactor should canonicalise paths before transforming to URLs.
Description
The command line DataFusion compaction utility (not used by operational Sleeper) fails when the input Parquet files are specified using a relative path such as
../../some_file/test.parquet
.Steps to reproduce
cargo build
in the rust directory.target/release/main /tmp/test.parquet ../some_file/test.parquet -k blah -m blah -a blah
Expected behaviour
Compaction library is called with given files
Screenshots/Logs
0: Object Store error: Object at location /some_file/test.parquet not found: No such file or directory (os error 2)
Background
Relative path is incorrectly converted to a URL causing wrong path to be used.
Command line interface to compactor should canonicalise paths before transforming to URLs.