Elasticsearch 7.5.x AlreadyClosedException

By | 2020년 2월 14일
failed to turn off translog retention
org.apache.lucene.store.AlreadyClosedException: engine is closed
        at org.elasticsearch.index.shard.IndexShard.getEngine(IndexShard.java:2515) ~[elasticsearch-7.5.2.jar:7.5.2]
        at org.elasticsearch.index.shard.IndexShard.trimTranslog(IndexShard.java:1103) ~[elasticsearch-7.5.2.jar:7.5.2]
        at org.elasticsearch.index.shard.IndexShard$3.doRun(IndexShard.java:1933) [elasticsearch-7.5.2.jar:7.5.2]
        at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:773) [elasticsearch-7.5.2.jar:7.5.2]
        at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37) [elasticsearch-7.5.2.jar:7.5.2]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_202]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_202]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_202]

7.5 이전 버전에서는 Closed 된 Index를 삭제하여도 위 에러가 나지 않았는데 7.5 이후 버전에서는 해당 워닝을 출력한다.

아마도 자체적으로 Index 삭제시 Close 로직이 추가된 것 같다. (아직 소스코드를 열어보진 않았음..+_+)

그래서 기존 curator에서 Close 후 Delete 하던 것을 Delete 만 하게 수정으로 해결.