This is an automated email from the ASF dual-hosted git repository.
apitrou pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/arrow.git
The following commit(s) were added to refs/heads/master by this push:
new 1cbfed04b1 ARROW-17075: [C++] Enforce no trailing slashes on filenames
in HDFS (#13615)
1cbfed04b1 is described below
commit 1cbfed04b1b77fb9a3d86f1c0b0f3dfd4cf21835
Author: Will Jones <[email protected]>
AuthorDate: Tue Jul 19 03:51:16 2022 -0700
ARROW-17075: [C++] Enforce no trailing slashes on filenames in HDFS (#13615)
Follow up to #13577 / ARROW-17045.
Authored-by: Will Jones <[email protected]>
Signed-off-by: Antoine Pitrou <[email protected]>
---
cpp/src/arrow/filesystem/hdfs.cc | 3 +++
1 file changed, 3 insertions(+)
diff --git a/cpp/src/arrow/filesystem/hdfs.cc b/cpp/src/arrow/filesystem/hdfs.cc
index 6f16667ffd..8709ab4562 100644
--- a/cpp/src/arrow/filesystem/hdfs.cc
+++ b/cpp/src/arrow/filesystem/hdfs.cc
@@ -246,12 +246,14 @@ class HadoopFileSystem::Impl {
}
Result<std::shared_ptr<io::InputStream>> OpenInputStream(const std::string&
path) {
+ ARROW_RETURN_NOT_OK(internal::AssertNoTrailingSlash(path));
std::shared_ptr<io::HdfsReadableFile> file;
RETURN_NOT_OK(client_->OpenReadable(path, io_context_, &file));
return file;
}
Result<std::shared_ptr<io::RandomAccessFile>> OpenInputFile(const
std::string& path) {
+ ARROW_RETURN_NOT_OK(internal::AssertNoTrailingSlash(path));
std::shared_ptr<io::HdfsReadableFile> file;
RETURN_NOT_OK(client_->OpenReadable(path, io_context_, &file));
return file;
@@ -285,6 +287,7 @@ class HadoopFileSystem::Impl {
Result<std::shared_ptr<io::OutputStream>> OpenOutputStreamGeneric(
const std::string& path, bool append) {
+ ARROW_RETURN_NOT_OK(internal::AssertNoTrailingSlash(path));
std::shared_ptr<io::HdfsOutputStream> stream;
RETURN_NOT_OK(client_->OpenWritable(path, append, options_.buffer_size,
options_.replication,
options_.default_block_size,