[ 
https://issues.apache.org/jira/browse/ARROW-9121?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17141862#comment-17141862
 ] 

Krisztian Szucs commented on ARROW-9121:
----------------------------------------

We could have a more explicit way to erase the root directory or just document 
the current behavior. I'm not sure that our API should defend against this use 
case.

> [C++] Do not wipe the filesystem when path is empty
> ---------------------------------------------------
>
>                 Key: ARROW-9121
>                 URL: https://issues.apache.org/jira/browse/ARROW-9121
>             Project: Apache Arrow
>          Issue Type: Bug
>          Components: C++
>            Reporter: Mohamed Zenadi
>            Assignee: Krisztian Szucs
>            Priority: Minor
>             Fix For: 1.0.0
>
>
> The `DeleteDirContents` method in the filesystems api has a default behavior 
> or *wiping* the whole filesystem if we give it an empty path.
>  
> It's documented as:
>  > Like DeleteDir, but doesn’t delete the directory itself. Passing an empty 
> path (“”) will wipe the entire filesystem tree. 
>  
> And the corresponding code confirms that:
> {code:java}
>   auto parts = SplitAbstractPath(path);
>   RETURN_NOT_OK(ValidateAbstractPathParts(parts));  
>   
>   if (parts.empty()) {
>     // Wipe filesystem
>     impl_->RootDir().entries.clear();
>     return Status::OK();
>   }
> {code}
>  
> This is a weird default that does not make sense. If the user wanted really 
> to wipe his filesystem, he'd pass a `/`.
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to