java.nio.file.FileSystemException

after i delete an indices, the log keeps getting the follow error:

[2018-07-02T17:24:30,396][WARN ][o.e.g.DanglingIndicesState] [node-2] failed to list dangling indices
java.nio.file.FileSystemException: /elasticsearch/data/elasticsearch/nodes/0/indices/yblFfRpgQki_X8XtDGI36A/_state: Structure needs cleaning
	at sun.nio.fs.UnixException.translateToIOException(UnixException.java:91) ~[?:?]
	at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102) ~[?:?]
	at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107) ~[?:?]
	at sun.nio.fs.UnixFileSystemProvider.newDirectoryStream(UnixFileSystemProvider.java:427) ~[?:?]
	at java.nio.file.Files.newDirectoryStream(Files.java:457) ~[?:1.8.0_144]
	at org.elasticsearch.gateway.MetaDataStateFormat.loadLatestState(MetaDataStateFormat.java:275) ~[elasticsearch-6.2.2.jar:6.2.2]
	at org.elasticsearch.gateway.MetaStateService.loadIndicesStates(MetaStateService.java:93) ~[elasticsearch-6.2.2.jar:6.2.2]
	at org.elasticsearch.gateway.DanglingIndicesState.findNewDanglingIndices(DanglingIndicesState.java:131) ~[elasticsearch-6.2.2.jar:6.2.2]
	at org.elasticsearch.gateway.DanglingIndicesState.findNewAndAddDanglingIndices(DanglingIndicesState.java:116) ~[elasticsearch-6.2.2.jar:6.2.2]
	at org.elasticsearch.gateway.DanglingIndicesState.processDanglingIndices(DanglingIndicesState.java:81) ~[elasticsearch-6.2.2.jar:6.2.2]
	at org.elasticsearch.gateway.DanglingIndicesState.clusterChanged(DanglingIndicesState.java:185) ~[elasticsearch-6.2.2.jar:6.2.2]
	at org.elasticsearch.cluster.service.ClusterApplierService.lambda$callClusterStateListeners$7(ClusterApplierService.java:509) ~[elasticsearch-6.2.2.jar:6.2.2]
	at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) [?:1.8.0_144]
	at java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:742) [?:1.8.0_144]
	at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:580) [?:1.8.0_144]
	at org.elasticsearch.cluster.service.ClusterApplierService.callClusterStateListeners(ClusterApplierService.java:506) [elasticsearch-6.2.2.jar:6.2.2]
	at org.elasticsearch.cluster.service.ClusterApplierService.applyChanges(ClusterApplierService.java:489) [elasticsearch-6.2.2.jar:6.2.2]
	at org.elasticsearch.cluster.service.ClusterApplierService.runTask(ClusterApplierService.java:432) [elasticsearch-6.2.2.jar:6.2.2]
	at org.elasticsearch.cluster.service.ClusterApplierService$UpdateTask.run(ClusterApplierService.java:161) [elasticsearch-6.2.2.jar:6.2.2]
	at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingRunnable.run(ThreadContext.java:573) [elasticsearch-6.2.2.jar:6.2.2]
	at org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.runAndClean(PrioritizedEsThreadPoolExecutor.java:244) [elasticsearch-6.2.2.jar:6.2.2]
	at org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.run(PrioritizedEsThreadPoolExecutor.java:207) [elasticsearch-6.2.2.jar:6.2.2]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_144]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_144]
	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_144]

How did you remove the index?
All nodes were up when you did that or your cluster was on "bad" state?

when i use the delete API, the cluster state is green, and every node is ok.
the path.data is mount on a ceph block storage.
Is it possible that the file system is damaged?

:scream: OMG. This not supported.
May be yes the FS is corrupted then.

my development environment use a ceph as backend storage, but it works well. what file system does es support?

Local disks are preferred. Look at https://www.elastic.co/blog/performance-considerations-elasticsearch-indexing (although old).

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.