This is an automated email from the ASF dual-hosted git repository.

xuanwo pushed a commit to branch fix-object-store
in repository https://gitbox.apache.org/repos/asf/incubator-opendal.git

commit f9a478a78c887d0ee8a7e52db691586c1f007b7f
Author: Xuanwo <[email protected]>
AuthorDate: Thu Apr 13 11:24:51 2023 +0800

    Fix file could have trailing /
    
    Signed-off-by: Xuanwo <[email protected]>
---
 core/src/services/webhdfs/backend.rs | 2 +-
 core/src/services/webhdfs/pager.rs   | 3 +++
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/core/src/services/webhdfs/backend.rs 
b/core/src/services/webhdfs/backend.rs
index 3bd32631..01f9f4c3 100644
--- a/core/src/services/webhdfs/backend.rs
+++ b/core/src/services/webhdfs/backend.rs
@@ -670,7 +670,7 @@ impl Accessor for WebhdfsBackend {
         match resp.status() {
             StatusCode::OK => {
                 let body_bs = resp.into_body().bytes().await?;
-                let file_statuses =
+                let mut file_statuses =
                     serde_json::from_reader::<_, 
FileStatusesWrapper>(body_bs.reader())
                         .map_err(|e| {
                             Error::new(ErrorKind::Unexpected, "cannot parse 
returned json")
diff --git a/core/src/services/webhdfs/pager.rs 
b/core/src/services/webhdfs/pager.rs
index 17fc626a..e0881ca1 100644
--- a/core/src/services/webhdfs/pager.rs
+++ b/core/src/services/webhdfs/pager.rs
@@ -52,6 +52,9 @@ impl oio::Page for WebhdfsPager {
             };
 
             let meta: Metadata = status.try_into()?;
+            if meta.mode().is_file() {
+                path = path.trim_end_matches('/').to_string();
+            }
             if meta.mode().is_dir() {
                 path += "/"
             }

Reply via email to