You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@arrow.apache.org by "kou (via GitHub)" <gi...@apache.org> on 2024/03/15 06:38:54 UTC

[PR] GH-39069: [C++][FS][Azure] Use the generic filesystem tests [arrow]

kou opened a new pull request, #40567:
URL: https://github.com/apache/arrow/pull/40567

   ### Rationale for this change
   
   We should provide common spec for all filesystem API.
   
   ### What changes are included in this PR?
   
   Enable the generic filesystem tests.
   
   ### Are these changes tested?
   
   Yes.
   
   ### Are there any user-facing changes?
   
   No.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] GH-39069: [C++][FS][Azure] Use the generic filesystem tests [arrow]

Posted by "felipecrv (via GitHub)" <gi...@apache.org>.
felipecrv commented on PR #40567:
URL: https://github.com/apache/arrow/pull/40567#issuecomment-2032255427

   > @felipecrv Do you want to review again before we merge this?
   
   Sorry for the delay in responding. No, this is fine. Thank you!


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] GH-39069: [C++][FS][Azure] Use the generic filesystem tests [arrow]

Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #40567:
URL: https://github.com/apache/arrow/pull/40567#issuecomment-1999032000

   :warning: GitHub issue #39069 **has been automatically assigned in GitHub** to PR creator.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] GH-39069: [C++][FS][Azure] Use the generic filesystem tests [arrow]

Posted by "conbench-apache-arrow[bot] (via GitHub)" <gi...@apache.org>.
conbench-apache-arrow[bot] commented on PR #40567:
URL: https://github.com/apache/arrow/pull/40567#issuecomment-2031242580

   After merging your PR, Conbench analyzed the 6 benchmarking runs that have been run so far on merge-commit 9e320d7181fb5b7192d690b634a247c66132f864.
   
   There were no benchmark performance regressions. 🎉
   
   The [full Conbench report](https://github.com/apache/arrow/runs/23331849912) has more details. It also includes information about 7 possible false positives for unstable benchmarks that are known to sometimes produce them.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] GH-39069: [C++][FS][Azure] Use the generic filesystem tests [arrow]

Posted by "kou (via GitHub)" <gi...@apache.org>.
kou commented on PR #40567:
URL: https://github.com/apache/arrow/pull/40567#issuecomment-2026873234

   @felipecrv Do you want to review again before we merge this?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] GH-39069: [C++][FS][Azure] Use the generic filesystem tests [arrow]

Posted by "felipecrv (via GitHub)" <gi...@apache.org>.
felipecrv commented on code in PR #40567:
URL: https://github.com/apache/arrow/pull/40567#discussion_r1527389362


##########
cpp/src/arrow/filesystem/azurefs.cc:
##########
@@ -1803,37 +1805,63 @@ class AzureFileSystem::Impl {
                            const AzureLocation& location, bool recursive) {
     DCHECK(!location.container.empty());
     DCHECK(!location.path.empty());
-    // Non-recursive CreateDir calls require the parent directory to exist.
-    if (!recursive) {
+    if (recursive) {
+      std::vector<AzureLocation> target_locations;
+      // Recursive CreateDir calls require there is no file in parents.

Review Comment:
   clearer wording:
   
   `// Recursive CreateDir calls require that all path segments be either a directory or not found`



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] GH-39069: [C++][FS][Azure] Use the generic filesystem tests [arrow]

Posted by "kou (via GitHub)" <gi...@apache.org>.
kou commented on code in PR #40567:
URL: https://github.com/apache/arrow/pull/40567#discussion_r1542342251


##########
cpp/src/arrow/filesystem/test_util.h:
##########
@@ -168,6 +168,8 @@ class ARROW_TESTING_EXPORT GenericFileSystemTest {
   virtual bool allow_write_file_over_dir() const { return false; }
   // - Whether the filesystem allows reading a directory
   virtual bool allow_read_dir_as_file() const { return false; }
+  // - Whether the filesystem allows moving a file
+  virtual bool allow_move_file() const { return true; }

Review Comment:
   I've added support for running with `AzureFlatNSEnv` and `AzureHierarchicalNSEnv`.
   



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] GH-39069: [C++][FS][Azure] Use the generic filesystem tests [arrow]

Posted by "kou (via GitHub)" <gi...@apache.org>.
kou commented on PR #40567:
URL: https://github.com/apache/arrow/pull/40567#issuecomment-1999046475

   We need to fix some methods:
   
   https://github.com/apache/arrow/actions/runs/8292331910/job/22693446087?pr=40567#step:6:6004
   
   ```text
   [----------] 26 tests from TestAzureFileSystemGeneric
   ...
   [ RUN      ] TestAzureFileSystemGeneric.CreateDir
   /arrow/cpp/src/arrow/filesystem/test_util.cc:244: Failure
   Failed
   Expected 'fs->CreateDir("AB/def/EF/GH", true )' to fail with IOError, but got OK
   [  FAILED  ] TestAzureFileSystemGeneric.CreateDir (107 ms)
   [ RUN      ] TestAzureFileSystemGeneric.DeleteDir
   /arrow/cpp/src/arrow/filesystem/test_util.cc:77: Failure
   Expected equality of these values:
     paths
       Which is: { "AB" }
     expected_paths
       Which is: { "AB", "AB/GH" }
   Errors while running CTest
   /arrow/cpp/src/arrow/filesystem/test_util.cc:77: Failure
   Expected equality of these values:
     paths
       Which is: { "AB" }
     expected_paths
       Which is: { "AB", "AB/GH" }
   /arrow/cpp/src/arrow/filesystem/test_util.cc:77: Failure
   Expected equality of these values:
     paths
       Which is: { "AB" }
     expected_paths
       Which is: { "AB", "AB/GH" }
   [  FAILED  ] TestAzureFileSystemGeneric.DeleteDir (153 ms)
   [ RUN      ] TestAzureFileSystemGeneric.DeleteDirContents
   /arrow/cpp/src/arrow/filesystem/test_util.cc:307: Failure
   Failed
   Expected 'fs->DeleteDirContents("abc", true)' to fail with IOError, but got OK
   [  FAILED  ] TestAzureFileSystemGeneric.DeleteDirContents (149 ms)
   ...
   [ RUN      ] TestAzureFileSystemGeneric.MoveFile
   /arrow/cpp/src/arrow/filesystem/test_util.cc:396: Failure
   Failed
   'fs->Move("abc", "def")' failed with NotImplemented: FileSystem::Move() is not implemented for Azure Storage accounts without Hierarchical Namespace support (see arrow/issues/40405).
   [  FAILED  ] TestAzureFileSystemGeneric.MoveFile (34 ms)
   ...
   [ RUN      ] TestAzureFileSystemGeneric.CopyFile
   /arrow/cpp/src/arrow/filesystem/test_util.cc:570: Failure
   Failed
   Expected 'fs->CopyFile("AB/abc", "def/mno")' to fail with IOError, but got OK
   [  FAILED  ] TestAzureFileSystemGeneric.CopyFile (164 ms)
   ...
   [ RUN      ] TestAzureFileSystemGeneric.OpenOutputStream
   /arrow/cpp/src/arrow/filesystem/test_util.cc:922: Failure
   Expected equality of these values:
     "x-arrow/filesystem-test"
     _actual
       Which is: "application/octet-stream"
   [  FAILED  ] TestAzureFileSystemGeneric.OpenOutputStream (71 ms)
   ...
   [----------] 26 tests from TestAzureFileSystemGeneric (2670 ms total)
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] GH-39069: [C++][FS][Azure] Use the generic filesystem tests [arrow]

Posted by "kou (via GitHub)" <gi...@apache.org>.
kou commented on PR #40567:
URL: https://github.com/apache/arrow/pull/40567#issuecomment-1999966343

   I've changed the current implementation to pass the generic filesystem tests but it's still dirty...


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] GH-39069: [C++][FS][Azure] Use the generic filesystem tests [arrow]

Posted by "kou (via GitHub)" <gi...@apache.org>.
kou merged PR #40567:
URL: https://github.com/apache/arrow/pull/40567


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] GH-39069: [C++][FS][Azure] Use the generic filesystem tests [arrow]

Posted by "felipecrv (via GitHub)" <gi...@apache.org>.
felipecrv commented on code in PR #40567:
URL: https://github.com/apache/arrow/pull/40567#discussion_r1527392098


##########
cpp/src/arrow/filesystem/test_util.h:
##########
@@ -168,6 +168,8 @@ class ARROW_TESTING_EXPORT GenericFileSystemTest {
   virtual bool allow_write_file_over_dir() const { return false; }
   // - Whether the filesystem allows reading a directory
   virtual bool allow_read_dir_as_file() const { return false; }
+  // - Whether the filesystem allows moving a file
+  virtual bool allow_move_file() const { return true; }

Review Comment:
   We need a way to run these generic tests against the real Azure Data Lake environment.



##########
cpp/src/arrow/filesystem/azurefs.cc:
##########
@@ -1803,37 +1805,63 @@ class AzureFileSystem::Impl {
                            const AzureLocation& location, bool recursive) {
     DCHECK(!location.container.empty());
     DCHECK(!location.path.empty());
-    // Non-recursive CreateDir calls require the parent directory to exist.
-    if (!recursive) {
+    if (recursive) {
+      std::vector<AzureLocation> target_locations;
+      // Recursive CreateDir calls require there is no file in parents.
+      auto parent = location;
+      while (!parent.path.empty()) {
+        ARROW_ASSIGN_OR_RAISE(auto info, GetFileInfo(container_client, parent));
+        if (info.type() == FileType::File) {
+          return NotADir(parent);
+        }
+        if (info.type() == FileType::NotFound) {
+          target_locations.push_back(parent);
+        }
+        parent = parent.parent();

Review Comment:
   A better name for the `parent` variable is `prefix` because a "prefix" can be the entire location whereas starting with `parent = location;` is very weird because of the choice of variable name.



##########
cpp/src/arrow/filesystem/azurefs.cc:
##########
@@ -1803,37 +1805,63 @@ class AzureFileSystem::Impl {
                            const AzureLocation& location, bool recursive) {
     DCHECK(!location.container.empty());
     DCHECK(!location.path.empty());
-    // Non-recursive CreateDir calls require the parent directory to exist.
-    if (!recursive) {
+    if (recursive) {
+      std::vector<AzureLocation> target_locations;
+      // Recursive CreateDir calls require there is no file in parents.
+      auto parent = location;
+      while (!parent.path.empty()) {
+        ARROW_ASSIGN_OR_RAISE(auto info, GetFileInfo(container_client, parent));
+        if (info.type() == FileType::File) {
+          return NotADir(parent);
+        }
+        if (info.type() == FileType::NotFound) {
+          target_locations.push_back(parent);
+        }
+        parent = parent.parent();
+        if (parent.path.empty() && info.type() == FileType::NotFound) {
+          // parent is container and may not exist
+          ARROW_ASSIGN_OR_RAISE(info,
+                                GetContainerPropsAsFileInfo(parent, container_client));
+          if (info.type() == FileType::NotFound) {
+            try {
+              container_client.CreateIfNotExists();
+            } catch (const Storage::StorageException& exception) {
+              return ExceptionToStatus(exception, "Failed to create directory '",
+                                       location.all, "': ", container_client.GetUrl());
+            }
+          }
+        }
+      }
+      for (size_t i = target_locations.size(); i > 0; --i) {
+        const auto& target_location = target_locations[i - 1];
+        try {
+          create_if_not_exists(container_client, target_location);
+        } catch (const Storage::StorageException& exception) {
+          return ExceptionToStatus(exception, "Failed to create directory '",
+                                   location.all, "': ", container_client.GetUrl());

Review Comment:
   After the first iteration of this loop, an exception shouldn't report a failure of the entire operation: the full path creates all the prefixes (they are "implied directories"). All the other functions handle implied directories, so it should be OK to rely on them.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] GH-39069: [C++][FS][Azure] Use the generic filesystem tests [arrow]

Posted by "kou (via GitHub)" <gi...@apache.org>.
kou commented on code in PR #40567:
URL: https://github.com/apache/arrow/pull/40567#discussion_r1542317802


##########
cpp/src/arrow/filesystem/azurefs.cc:
##########
@@ -1803,37 +1805,63 @@ class AzureFileSystem::Impl {
                            const AzureLocation& location, bool recursive) {
     DCHECK(!location.container.empty());
     DCHECK(!location.path.empty());
-    // Non-recursive CreateDir calls require the parent directory to exist.
-    if (!recursive) {
+    if (recursive) {
+      std::vector<AzureLocation> target_locations;
+      // Recursive CreateDir calls require there is no file in parents.

Review Comment:
   Thanks! Applied!



##########
cpp/src/arrow/filesystem/azurefs.cc:
##########
@@ -1803,37 +1805,63 @@ class AzureFileSystem::Impl {
                            const AzureLocation& location, bool recursive) {
     DCHECK(!location.container.empty());
     DCHECK(!location.path.empty());
-    // Non-recursive CreateDir calls require the parent directory to exist.
-    if (!recursive) {
+    if (recursive) {
+      std::vector<AzureLocation> target_locations;
+      // Recursive CreateDir calls require there is no file in parents.
+      auto parent = location;
+      while (!parent.path.empty()) {
+        ARROW_ASSIGN_OR_RAISE(auto info, GetFileInfo(container_client, parent));
+        if (info.type() == FileType::File) {
+          return NotADir(parent);
+        }
+        if (info.type() == FileType::NotFound) {
+          target_locations.push_back(parent);
+        }
+        parent = parent.parent();

Review Comment:
   OK. I've changed it to `prefix`.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] GH-39069: [C++][FS][Azure] Use the generic filesystem tests [arrow]

Posted by "kou (via GitHub)" <gi...@apache.org>.
kou commented on PR #40567:
URL: https://github.com/apache/arrow/pull/40567#issuecomment-2024448174

   The generic filesystem tests are passed with Azurite but failed with hierarchical name space enabled Azure account:
   
   ```text
   [==========] Running 26 tests from 1 test suite.
   [----------] Global test environment set-up.
   [----------] 26 tests from TestAzureHierarchicalNSGeneric
   [ RUN      ] TestAzureHierarchicalNSGeneric.Empty
   [       OK ] TestAzureHierarchicalNSGeneric.Empty (227 ms)
   [ RUN      ] TestAzureHierarchicalNSGeneric.NormalizePath
   [       OK ] TestAzureHierarchicalNSGeneric.NormalizePath (38 ms)
   [ RUN      ] TestAzureHierarchicalNSGeneric.CreateDir
   [       OK ] TestAzureHierarchicalNSGeneric.CreateDir (1657 ms)
   [ RUN      ] TestAzureHierarchicalNSGeneric.DeleteDir
   /home/kou/work/cpp/arrow.kou/cpp/src/arrow/filesystem/test_util.cc:277: Failure
   Failed
   Expected 'fs->DeleteDir("AB/def")' to fail with IOError, but got OK
   [  FAILED  ] TestAzureHierarchicalNSGeneric.DeleteDir (1434 ms)
   [ RUN      ] TestAzureHierarchicalNSGeneric.DeleteDirContents
   /home/kou/work/cpp/arrow.kou/cpp/src/arrow/filesystem/test_util.cc:306: Failure
   Failed
   Expected 'fs->DeleteDirContents("abc")' to fail with IOError, but got OK
   [  FAILED  ] TestAzureHierarchicalNSGeneric.DeleteDirContents (1535 ms)
   [ RUN      ] TestAzureHierarchicalNSGeneric.DeleteRootDirContents
   [       OK ] TestAzureHierarchicalNSGeneric.DeleteRootDirContents (574 ms)
   [ RUN      ] TestAzureHierarchicalNSGeneric.DeleteFile
   [       OK ] TestAzureHierarchicalNSGeneric.DeleteFile (977 ms)
   [ RUN      ] TestAzureHierarchicalNSGeneric.DeleteFiles
   [       OK ] TestAzureHierarchicalNSGeneric.DeleteFiles (1240 ms)
   [ RUN      ] TestAzureHierarchicalNSGeneric.MoveFile
   /home/kou/work/cpp/arrow.kou/cpp/src/arrow/filesystem/azurefs.cc:1371: LeaseGuard::WaitUntilLatestKnownExpiryTime for 2794ms...
   /home/kou/work/cpp/arrow.kou/cpp/src/arrow/filesystem/azurefs.cc:1371: LeaseGuard::WaitUntilLatestKnownExpiryTime for 2790ms...
   /home/kou/work/cpp/arrow.kou/cpp/src/arrow/filesystem/azurefs.cc:1371: LeaseGuard::WaitUntilLatestKnownExpiryTime for 2774ms...
   /home/kou/work/cpp/arrow.kou/cpp/src/arrow/filesystem/azurefs.cc:1371: LeaseGuard::WaitUntilLatestKnownExpiryTime for 2618ms...
   /home/kou/work/cpp/arrow.kou/cpp/src/arrow/filesystem/azurefs.cc:1371: LeaseGuard::WaitUntilLatestKnownExpiryTime for 2734ms...
   [       OK ] TestAzureHierarchicalNSGeneric.MoveFile (17419 ms)
   [ RUN      ] TestAzureHierarchicalNSGeneric.MoveDir
   /home/kou/work/cpp/arrow.kou/cpp/src/arrow/filesystem/test_util.cc:463: Skipped
   Filesystem doesn't allow moving directories
   [  SKIPPED ] TestAzureHierarchicalNSGeneric.MoveDir (50 ms)
   [ RUN      ] TestAzureHierarchicalNSGeneric.CopyFile
   /home/kou/work/cpp/arrow.kou/cpp/src/arrow/filesystem/test_util.cc:531: Failure
   Failed
   'fs->CopyFile("AB/abc", "def")' failed with IOError: Failed to copy a blob. (https://XXX.blob.core.windows.net/a2giu5a9ij1szn7tsx4l0z6194h5zqww/AB/abc -> https://clearcodearrow.blob.core.windows.net/a2giu5a9ij1szn7tsx4l0z6194h5zqww/def) Azure Error: [CannotVerifyCopySource] 401 Server failed to authenticate the request. Please refer to the information in the www-authenticate header.
   Server failed to authenticate the request. Please refer to the information in the www-authenticate header.
   RequestId:2c08ee06-f01e-0062-12d2-807ca0000000
   Time:2024-03-28T05:40:28.1650700Z
   Request ID: 2c08ee06-f01e-0062-12d2-807ca0000000
   [  FAILED  ] TestAzureHierarchicalNSGeneric.CopyFile (1007 ms)
   [ RUN      ] TestAzureHierarchicalNSGeneric.GetFileInfo
   [       OK ] TestAzureHierarchicalNSGeneric.GetFileInfo (800 ms)
   [ RUN      ] TestAzureHierarchicalNSGeneric.GetFileInfoVector
   [       OK ] TestAzureHierarchicalNSGeneric.GetFileInfoVector (686 ms)
   [ RUN      ] TestAzureHierarchicalNSGeneric.GetFileInfoSelector
   /home/kou/work/cpp/arrow.kou/cpp/src/arrow/filesystem/test_util.cc:149: Failure
   Expected equality of these values:
     info.mtime()
       Which is: 8-byte object <00-8C 22-1E 29-D7 C0-17>
     mtime
       Which is: 8-byte object <FF-FF FF-FF FF-FF FF-FF>
   For path 'AB'
   /home/kou/work/cpp/arrow.kou/cpp/src/arrow/filesystem/test_util.cc:753: Failure
   Failed
   Expected 'fs->GetFileInfo(s)' to fail with IOError, but got OK
   [  FAILED  ] TestAzureHierarchicalNSGeneric.GetFileInfoSelector (860 ms)
   [ RUN      ] TestAzureHierarchicalNSGeneric.GetFileInfoSelectorWithRecursion
   [       OK ] TestAzureHierarchicalNSGeneric.GetFileInfoSelectorWithRecursion (1626 ms)
   [ RUN      ] TestAzureHierarchicalNSGeneric.GetFileInfoAsync
   [       OK ] TestAzureHierarchicalNSGeneric.GetFileInfoAsync (683 ms)
   [ RUN      ] TestAzureHierarchicalNSGeneric.GetFileInfoGenerator
   [       OK ] TestAzureHierarchicalNSGeneric.GetFileInfoGenerator (771 ms)
   [ RUN      ] TestAzureHierarchicalNSGeneric.OpenOutputStream
   [       OK ] TestAzureHierarchicalNSGeneric.OpenOutputStream (779 ms)
   [ RUN      ] TestAzureHierarchicalNSGeneric.OpenAppendStream
   [       OK ] TestAzureHierarchicalNSGeneric.OpenAppendStream (496 ms)
   [ RUN      ] TestAzureHierarchicalNSGeneric.OpenInputStream
   [       OK ] TestAzureHierarchicalNSGeneric.OpenInputStream (543 ms)
   [ RUN      ] TestAzureHierarchicalNSGeneric.OpenInputStreamWithFileInfo
   [       OK ] TestAzureHierarchicalNSGeneric.OpenInputStreamWithFileInfo (543 ms)
   [ RUN      ] TestAzureHierarchicalNSGeneric.OpenInputStreamAsync
   [       OK ] TestAzureHierarchicalNSGeneric.OpenInputStreamAsync (419 ms)
   [ RUN      ] TestAzureHierarchicalNSGeneric.OpenInputFile
   [       OK ] TestAzureHierarchicalNSGeneric.OpenInputFile (509 ms)
   [ RUN      ] TestAzureHierarchicalNSGeneric.OpenInputFileWithFileInfo
   [       OK ] TestAzureHierarchicalNSGeneric.OpenInputFileWithFileInfo (549 ms)
   [ RUN      ] TestAzureHierarchicalNSGeneric.OpenInputFileAsync
   [       OK ] TestAzureHierarchicalNSGeneric.OpenInputFileAsync (394 ms)
   [ RUN      ] TestAzureHierarchicalNSGeneric.SpecialChars
   /home/kou/work/cpp/arrow.kou/cpp/src/arrow/filesystem/test_util.cc:1178: Failure
   Failed
   'fs->CopyFile("Blank Char/Special%Char.txt", "Special and%different.txt")' failed with IOError: Failed to copy a blob. (https://XXX.blob.core.windows.net/armiaz82i30wliew7324v0l421a4uhop/Blank%20Char/Special%25Char.txt -> https://XXX.blob.core.windows.net/armiaz82i30wliew7324v0l421a4uhop/Special%20and%25different.txt) Azure Error: [CannotVerifyCopySource] 401 Server failed to authenticate the request. Please refer to the information in the www-authenticate header.
   Server failed to authenticate the request. Please refer to the information in the www-authenticate header.
   RequestId:dbfb99e1-801e-008c-4ad2-80d689000000
   Time:2024-03-28T05:40:38.3406267Z
   Request ID: dbfb99e1-801e-008c-4ad2-80d689000000
   [  FAILED  ] TestAzureHierarchicalNSGeneric.SpecialChars (475 ms)
   [----------] 26 tests from TestAzureHierarchicalNSGeneric (36306 ms total)
   
   [----------] Global test environment tear-down
   [==========] 26 tests from 1 test suite ran. (36306 ms total)
   [  PASSED  ] 20 tests.
   [  SKIPPED ] 1 test, listed below:
   [  SKIPPED ] TestAzureHierarchicalNSGeneric.MoveDir
   [  FAILED  ] 5 tests, listed below:
   [  FAILED  ] TestAzureHierarchicalNSGeneric.DeleteDir
   [  FAILED  ] TestAzureHierarchicalNSGeneric.DeleteDirContents
   [  FAILED  ] TestAzureHierarchicalNSGeneric.CopyFile
   [  FAILED  ] TestAzureHierarchicalNSGeneric.GetFileInfoSelector
   [  FAILED  ] TestAzureHierarchicalNSGeneric.SpecialChars
   
    5 FAILED TESTS
   ```
   
   Can we work on this as a separated task?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org