[
https://issues.apache.org/jira/browse/IO-785?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17890985#comment-17890985
]
Steffen Moldenhauer commented on IO-785:
----------------------------------------
I got a similar exception using solr:8.11.4 that uses commons-io-2.11.0.jar
I replaced the commons-io-2.11.0.jar with commons-io.2.16.1.jar in the
solr:8.11.4 and the delete works now for me.
Previously tried it also with 2.15.1 - Exception was:
{code:java}
org.apache.commons.io.IOExceptionList: 2 exception(s):
[org.apache.commons.io.IOIndexedException: IOException #0: Cannot delete file:
/var/solr/data/idx-en_US20241018142541_shard1_replica_n1/data/index,
org.apache.commons.io.IOIndexedException: IOException #2: Cannot delete file:
/var/solr/data/idx-en_US20241018142541_shard1_replica_n1/data/tlog]
at org.apache.commons.io.IOExceptionList.checkEmpty(IOExceptionList.java:50)
at org.apache.commons.io.function.IOStream.forAll(IOStream.java:359)
at org.apache.commons.io.function.IOStreams.forAll(IOStreams.java:42)
at org.apache.commons.io.function.IOStreams.forAll(IOStreams.java:36)
at org.apache.commons.io.function.IOConsumer.forAll(IOConsumer.java:80)
at org.apache.commons.io.FileUtils.cleanDirectory(FileUtils.java:334)
at org.apache.commons.io.FileUtils.deleteDirectory(FileUtils.java:1188)
at
org.apache.solr.core.StandardDirectoryFactory.removeDirectory(StandardDirectoryFactory.java:95)
at
org.apache.solr.core.CachingDirectoryFactory.close(CachingDirectoryFactory.java:214)
at org.apache.solr.core.SolrCore.close(SolrCore.java:1695)
at org.apache.solr.core.SolrCore.closeAndWait(SolrCore.java:1390)
at org.apache.solr.core.CoreContainer.unload(CoreContainer.java:1889)
at
org.apache.solr.handler.admin.CoreAdminOperation.lambda$static$1(CoreAdminOperation.java:108)
at
org.apache.solr.handler.admin.CoreAdminOperation.execute(CoreAdminOperation.java:367)
at
org.apache.solr.handler.admin.CoreAdminHandler$CallInfo.call(CoreAdminHandler.java:397)
at
org.apache.solr.handler.admin.CoreAdminHandler.lambda$handleRequestBody$0(CoreAdminHandler.java:189)
at
com.codahale.metrics.InstrumentedExecutorService$InstrumentedRunnable.run(InstrumentedExecutorService.java:180)
at
org.apache.solr.common.util.ExecutorUtil$MDCAwareThreadPoolExecutor.lambda$execute$0(ExecutorUtil.java:218)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown
Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown
Source)
at java.base/java.lang.Thread.run(Unknown Source)
Caused by: org.apache.commons.io.IOIndexedException: IOException #0: Cannot
delete file: /var/solr/data/idx-en_US20241018142541_shard1_replica_n1/data/inde
Xat
org.apache.commons.io.function.IOStream.lambda$forAll$11(IOStream.java:354)
at
java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Unknown
Source)
at java.base/java.util.stream.ReferencePipeline$Head.forEach(Unknown Source)
at org.apache.commons.io.function.IOStream.forAll(IOStream.java:345)
... 19 more
Caused by: java.io.IOException: Cannot delete file:
/var/solr/data/idx-en_US20241018142541_shard1_replica_n1/data/inde
Xat org.apache.commons.io.FileUtils.forceDelete(FileUtils.java:1336)
at
org.apache.commons.io.function.IOStream.lambda$forAll$11(IOStream.java:347)
... 22 more
Caused by: java.nio.file.FileSystemException:
/var/solr/data/idx-en_US20241018142541_shard1_replica_n1/data/index: Operation
not permitted
at java.base/sun.nio.fs.UnixException.translateToIOException(Unknown Source)
at java.base/sun.nio.fs.UnixException.rethrowAsIOException(Unknown Source)
at java.base/sun.nio.fs.UnixException.rethrowAsIOException(Unknown Source)
at java.base/sun.nio.fs.UnixFileAttributeViews$Posix.setMode(Unknown Source)
at java.base/sun.nio.fs.UnixFileAttributeViews$Posix.setPermissions(Unknown
Source)
at java.base/java.nio.file.Files.setPosixFilePermissions(Unknown Source)
at
org.apache.commons.io.file.PathUtils.setPosixPermissions(PathUtils.java:1468)
at
org.apache.commons.io.file.PathUtils.setPosixDeletePermissions(PathUtils.java:1438)
at org.apache.commons.io.file.PathUtils.setReadOnly(PathUtils.java:1536)
at
org.apache.commons.io.file.DeletingPathVisitor.visitFile(DeletingPathVisitor.java:157)
at
org.apache.commons.io.file.DeletingPathVisitor.visitFile(DeletingPathVisitor.java:37)
at java.base/java.nio.file.Files.walkFileTree(Unknown Source)
at java.base/java.nio.file.Files.walkFileTree(Unknown Source)
at org.apache.commons.io.file.PathUtils.visitFileTree(PathUtils.java:1653)
at org.apache.commons.io.file.PathUtils.deleteDirectory(PathUtils.java:516)
at org.apache.commons.io.file.PathUtils.delete(PathUtils.java:475)
at org.apache.commons.io.FileUtils.forceDelete(FileUtils.java:1333)
... 23 more{code}
Exception with 2.11.0:
{code:java}
org.apache.commons.io.IOExceptionList:
/var/solr/data/idx-en_US20240927112627_shard1_replica_n1/data
at org.apache.commons.io.FileUtils.cleanDirectory(FileUtils.java:331)
at org.apache.commons.io.FileUtils.deleteDirectory(FileUtils.java:1192)
at
org.apache.solr.core.StandardDirectoryFactory.removeDirectory(StandardDirectoryFactory.java:95)
at
org.apache.solr.core.CachingDirectoryFactory.close(CachingDirectoryFactory.java:214)
at org.apache.solr.core.SolrCore.close(SolrCore.java:1695)
at org.apache.solr.core.SolrCore.closeAndWait(SolrCore.java:1390)
at org.apache.solr.core.CoreContainer.unload(CoreContainer.java:1889)
at
org.apache.solr.handler.admin.CoreAdminOperation.lambda$static$1(CoreAdminOperation.java:108)
at
org.apache.solr.handler.admin.CoreAdminOperation.execute(CoreAdminOperation.java:367)
at
org.apache.solr.handler.admin.CoreAdminHandler$CallInfo.call(CoreAdminHandler.java:397)
at
org.apache.solr.handler.admin.CoreAdminHandler.lambda$handleRequestBody$0(CoreAdminHandler.java:189)
at
com.codahale.metrics.InstrumentedExecutorService$InstrumentedRunnable.run(InstrumentedExecutorService.java:180)
at
org.apache.solr.common.util.ExecutorUtil$MDCAwareThreadPoolExecutor.lambda$execute$0(ExecutorUtil.java:218)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown
Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown
Source)
at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.io.IOException: Cannot delete file:
/var/solr/data/idx-en_US20240927112627_shard1_replica_n1/data/inde
Xat org.apache.commons.io.FileUtils.forceDelete(FileUtils.java:1344)
at org.apache.commons.io.FileUtils.cleanDirectory(FileUtils.java:324)
... 15 more
Caused by: org.apache.commons.io.IOExceptionList:
/var/solr/data/idx-en_US20240927112627_shard1_replica_n1/data/index/segments_2
at org.apache.commons.io.file.PathUtils.setReadOnly(PathUtils.java:939)
at
org.apache.commons.io.file.DeletingPathVisitor.visitFile(DeletingPathVisitor.java:159)
at
org.apache.commons.io.file.DeletingPathVisitor.visitFile(DeletingPathVisitor.java:37)
at java.base/java.nio.file.Files.walkFileTree(Unknown Source)
at java.base/java.nio.file.Files.walkFileTree(Unknown Source)
at org.apache.commons.io.file.PathUtils.visitFileTree(PathUtils.java:971)
at org.apache.commons.io.file.PathUtils.deleteDirectory(PathUtils.java:434)
at org.apache.commons.io.file.PathUtils.delete(PathUtils.java:391)
at org.apache.commons.io.FileUtils.forceDelete(FileUtils.java:1341)
... 16 more
Caused by: java.nio.file.FileSystemException:
/var/solr/data/idx-en_US20240927112627_shard1_replica_n1/data/index/segments_2:
Operation not supported
at java.base/sun.nio.fs.UnixException.translateToIOException(Unknown Source)
at java.base/sun.nio.fs.UnixException.rethrowAsIOException(Unknown Source)
at java.base/sun.nio.fs.UnixException.rethrowAsIOException(Unknown Source)
at
java.base/sun.nio.fs.LinuxDosFileAttributeView.updateDosAttribute(Unknown
Source)
at java.base/sun.nio.fs.LinuxDosFileAttributeView.setReadOnly(Unknown
Source)
at org.apache.commons.io.file.PathUtils.setReadOnly(PathUtils.java:914)
... 24 more{code}
> FileUtils.deleteDirectory fails to delete directory on Azure AKS
> -----------------------------------------------------------------
>
> Key: IO-785
> URL: https://issues.apache.org/jira/browse/IO-785
> Project: Commons IO
> Issue Type: Bug
> Components: Utilities
> Affects Versions: 2.9.0
> Environment: Azure Files Container Storage Interface (CSI) driver in
> Azure Kubernetes Service (AKS)
> apiVersion: storage.k8s.io/v1
> kind: StorageClass
> metadata:
> annotations:
> kubectl.kubernetes.io/last-applied-configuration: |
>
> \{"apiVersion":"storage.k8s.io/v1","kind":"StorageClass","metadata":{"annotations":{},"name":"azure-aks-test-cluster-file-storage-class"},"mountOptions":["dir_mode=0777","file_mode=0777","uid=0","gid=0","mfsymlinks","cache=strict","actimeo=30"],"provisioner":"kubernetes.io/azure-file"}
> storageclass.kubernetes.io/is-default-class: "false"
> creationTimestamp: "2022-01-01T0-00:00:00Z"
> name: azure-aks-test-cluster-file-storage-class
> resourceVersion: "12768518"
> uid: bc6-invalid-8c
> mountOptions:
> - dir_mode=0777
> - file_mode=0777
> - uid=0
> - gid=0
> - mfsymlinks
> - cache=strict
> - actimeo=30
> provisioner: kubernetes.io/azure-file
> reclaimPolicy: Delete
> volumeBindingMode: Immediate
> Reporter: Ivica Loncar
> Priority: Major
>
> On Azure AKS file persistent volume
> (https://learn.microsoft.com/en-us/azure/aks/azure-files-csi) we've got
> following exception:
> {noformat}
> org.apache.commons.io.IOExceptionList:
> work/bef4a1a575c54ac099816b6babf4bde9/job-3418
> at org.apache.commons.io.FileUtils.cleanDirectory(FileUtils.java:330)
> at org.apache.commons.io.FileUtils.deleteDirectory(FileUtils.java:1191)
> at
> com.xebialabs.xlrelease.remote.executor.k8s.KubeService.cleanWorkDir(KubeService.scala:107)
> at
> com.xebialabs.xlrelease.remote.executor.k8s.KubeJobExecutorService.cleanup(KubeJobExecutorService.scala:27)
> at
> com.xebialabs.xlrelease.remote.runner.JobRunnerActor.$anonfun$handleEvent$4(JobRunnerActor.scala:219)
> at
> com.xebialabs.xlrelease.remote.runner.JobRunnerActor.$anonfun$handleEvent$4$adapted(JobRunnerActor.scala:218)
> at scala.Option.foreach(Option.scala:437)
> at
> com.xebialabs.xlrelease.remote.runner.JobRunnerActor.com$xebialabs$xlrelease$remote$runner$JobRunnerActor$$handleEvent(JobRunnerActor.scala:218)
> at
> com.xebialabs.xlrelease.remote.runner.JobRunnerActor$$anonfun$receiveRecover$1.$anonfun$applyOrElse$2(JobRunnerActor.scala:45)
> at
> com.xebialabs.xlrelease.remote.runner.JobRunnerActor$$anonfun$receiveRecover$1.$anonfun$applyOrElse$2$adapted(JobRunnerActor.scala:45)
> at scala.Option.foreach(Option.scala:437)
> at
> com.xebialabs.xlrelease.remote.runner.JobRunnerActor$$anonfun$receiveRecover$1.applyOrElse(JobRunnerActor.scala:45)
> at
> scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:35)
> at akka.event.LoggingReceive.apply(LoggingReceive.scala:96)
> at akka.event.LoggingReceive.apply(LoggingReceive.scala:70)
> at
> akka.persistence.Eventsourced$$anon$2$$anonfun$1.applyOrElse(Eventsourced.scala:643)
> at akka.actor.Actor.aroundReceive(Actor.scala:537)
> at akka.actor.Actor.aroundReceive$(Actor.scala:535)
> at
> com.xebialabs.xlrelease.remote.runner.JobRunnerActor.akka$persistence$Eventsourced$$super$aroundReceive(JobRunnerActor.scala:22)
> at
> akka.persistence.Eventsourced$$anon$3.stateReceive(Eventsourced.scala:771)
> at akka.persistence.Eventsourced.aroundReceive(Eventsourced.scala:245)
> at akka.persistence.Eventsourced.aroundReceive$(Eventsourced.scala:244)
> at
> com.xebialabs.xlrelease.remote.runner.JobRunnerActor.aroundReceive(JobRunnerActor.scala:22)
> at akka.actor.ActorCell.receiveMessage(ActorCell.scala:579)
> at akka.actor.ActorCell.invoke(ActorCell.scala:547)
> at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:270)
> at akka.dispatch.Mailbox.run(Mailbox.scala:231)
> at akka.dispatch.Mailbox.exec(Mailbox.scala:243)
> at java.base/java.util.concurrent.ForkJoinTask.doExec(Unknown Source)
> at
> java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Unknown
> Source)
> at java.base/java.util.concurrent.ForkJoinPool.scan(Unknown Source)
> at java.base/java.util.concurrent.ForkJoinPool.runWorker(Unknown Source)
> at java.base/java.util.concurrent.ForkJoinWorkerThread.run(Unknown
> Source)
> Caused by: java.io.IOException: Cannot delete file:
> work/bef4a1a575c54ac099816b6babf4bde9/job-3418/input
> at org.apache.commons.io.FileUtils.forceDelete(FileUtils.java:1343)
> at org.apache.commons.io.FileUtils.cleanDirectory(FileUtils.java:323)
> ... 32 common frames omitted
> Caused by: org.apache.commons.io.IOExceptionList:
> work/bef4a1a575c54ac099816b6babf4bde9/job-3418/input
> at org.apache.commons.io.file.PathUtils.setReadOnly(PathUtils.java:944)
> at org.apache.commons.io.file.PathUtils.deleteFile(PathUtils.java:485)
> at org.apache.commons.io.file.PathUtils.delete(PathUtils.java:392)
> at org.apache.commons.io.FileUtils.forceDelete(FileUtils.java:1340)
> ... 33 common frames omitted
> Caused by: java.nio.file.FileSystemException:
> work/bef4a1a575c54ac099816b6babf4bde9/job-3418/input: Operation not supported
> at java.base/sun.nio.fs.UnixException.translateToIOException(Unknown
> Source)
> at java.base/sun.nio.fs.UnixException.rethrowAsIOException(Unknown
> Source)
> at java.base/sun.nio.fs.UnixException.rethrowAsIOException(Unknown
> Source)
> at
> java.base/sun.nio.fs.LinuxDosFileAttributeView.updateDosAttribute(Unknown
> Source)
> at java.base/sun.nio.fs.LinuxDosFileAttributeView.setReadOnly(Unknown
> Source)
> at org.apache.commons.io.file.PathUtils.setReadOnly(PathUtils.java:919)
> ... 36 common frames omitted
> {noformat}
> Deleting a directory using PathUtils and empty option list works, but is was
> not obvious what will happen.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)