[ 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)