NoClassDefFoundError when starting FESS

(from github.com/ravikotaru)
Hi,
I am testing FESS features for a project. I have setup FESS and created three web crawlers left it to run for a whole week. I have stopped FESS over the weekend and tried to start it up again on Monday. Now I am getting below error.
Before the issue occurred, I remembered seeing in Admin console that about 2.7GB of data has been indexed. I don’t remember how many docs were indexed.
Now I have to restore the server so that I can run some tests on the search results.

Can you please help how I can resolve this?

My environment is Windows 10.

F:\fess-12.1.3\bin>fess
Exception in thread “elasticsearch[Node 1][generic][T#2]” java.lang.NoClassDefFoundError: org/elasticsearch/index/engine/Engine$NoOp
at org.elasticsearch.index.engine.InternalEngine.fillSeqNoGaps(InternalEngine.java:360)
at org.elasticsearch.index.shard.StoreRecovery.internalRecoverFromStore(StoreRecovery.java:405)
at org.elasticsearch.index.shard.StoreRecovery.lambda$recoverFromStore$0(StoreRecovery.java:94)
at org.elasticsearch.index.shard.StoreRecovery.executeRecovery(StoreRecovery.java:300)
at org.elasticsearch.index.shard.StoreRecovery.recoverFromStore(StoreRecovery.java:92)
at org.elasticsearch.index.shard.IndexShard.recoverFromStore(IndexShard.java:1607)
at org.elasticsearch.index.shard.IndexShard.lambda$startRecovery$6(IndexShard.java:2039)
at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingRunnable.run(ThreadContext.java:573)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.ClassNotFoundException: Illegal access: this web application instance has been stopped already. Could not load [org.elasticsearch.index.engine.Engine$NoOp]. The following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access.
at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForClassLoading(WebappClassLoaderBase.java:1301)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1158)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1119)
… 11 more
Caused by: java.lang.IllegalStateException: Illegal access: this web application instance has been stopped already. Could not load [org.elasticsearch.index.engine.Engine$NoOp]. The following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access.
at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading(WebappClassLoaderBase.java:1311)
at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForClassLoading(WebappClassLoaderBase.java:1299)
… 13 more
Exception in thread “elasticsearch[Node 1][generic][T#1]” java.lang.NoClassDefFoundError: org/elasticsearch/index/translog/Translog$Delete
at org.elasticsearch.index.translog.Translog$Operation.readOperation(Translog.java:885)
at org.elasticsearch.index.translog.Translog.readOperation(Translog.java:1432)
at org.elasticsearch.index.translog.BaseTranslogReader.read(BaseTranslogReader.java:103)
at org.elasticsearch.index.translog.TranslogSnapshot.readOperation(TranslogSnapshot.java:73)
at org.elasticsearch.index.translog.TranslogSnapshot.next(TranslogSnapshot.java:64)
at org.elasticsearch.index.translog.MultiSnapshot.next(MultiSnapshot.java:70)
at org.elasticsearch.index.shard.IndexShard.runTranslogRecovery(IndexShard.java:1271)
at org.elasticsearch.index.engine.InternalEngine.recoverFromTranslogInternal(InternalEngine.java:471)
at org.elasticsearch.index.engine.InternalEngine.recoverFromTranslog(InternalEngine.java:393)
at org.elasticsearch.index.engine.InternalEngine.recoverFromTranslog(InternalEngine.java:99)
at org.elasticsearch.index.shard.IndexShard.openIndexAndRecoveryFromTranslog(IndexShard.java:1332)
at org.elasticsearch.index.shard.StoreRecovery.internalRecoverFromStore(StoreRecovery.java:404)
at org.elasticsearch.index.shard.StoreRecovery.lambda$recoverFromStore$0(StoreRecovery.java:94)
at org.elasticsearch.index.shard.StoreRecovery.executeRecovery(StoreRecovery.java:300)
at org.elasticsearch.index.shard.StoreRecovery.recoverFromStore(StoreRecovery.java:92)
at org.elasticsearch.index.shard.IndexShard.recoverFromStore(IndexShard.java:1607)
at org.elasticsearch.index.shard.IndexShard.lambda$startRecovery$6(IndexShard.java:2039)
at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingRunnable.run(ThreadContext.java:573)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
Exception in thread “elasticsearch[Node 1][generic][T#4]” java.lang.NoClassDefFoundError: org/elasticsearch/index/translog/Translog$Delete
at org.elasticsearch.index.translog.Translog$Operation.readOperation(Translog.java:885)
at org.elasticsearch.index.translog.Translog.readOperation(Translog.java:1432)
at org.elasticsearch.index.translog.BaseTranslogReader.read(BaseTranslogReader.java:103)
at org.elasticsearch.index.translog.TranslogSnapshot.readOperation(TranslogSnapshot.java:73)
at org.elasticsearch.index.translog.TranslogSnapshot.next(TranslogSnapshot.java:64)
at org.elasticsearch.index.translog.MultiSnapshot.next(MultiSnapshot.java:70)
at org.elasticsearch.index.shard.IndexShard.runTranslogRecovery(IndexShard.java:1271)
at org.elasticsearch.index.engine.InternalEngine.recoverFromTranslogInternal(InternalEngine.java:471)
at org.elasticsearch.index.engine.InternalEngine.recoverFromTranslog(InternalEngine.java:393)
at org.elasticsearch.index.engine.InternalEngine.recoverFromTranslog(InternalEngine.java:99)
at org.elasticsearch.index.shard.IndexShard.openIndexAndRecoveryFromTranslog(IndexShard.java:1332)
at org.elasticsearch.index.shard.StoreRecovery.internalRecoverFromStore(StoreRecovery.java:404)
at org.elasticsearch.index.shard.StoreRecovery.lambda$recoverFromStore$0(StoreRecovery.java:94)
at org.elasticsearch.index.shard.StoreRecovery.executeRecovery(StoreRecovery.java:300)
at org.elasticsearch.index.shard.StoreRecovery.recoverFromStore(StoreRecovery.java:92)
at org.elasticsearch.index.shard.IndexShard.recoverFromStore(IndexShard.java:1607)
at org.elasticsearch.index.shard.IndexShard.lambda$startRecovery$6(IndexShard.java:2039)
at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingRunnable.run(ThreadContext.java:573)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
Exception in thread “elasticsearch[Node 1][generic][T#5]” java.lang.NoClassDefFoundError: org/elasticsearch/index/translog/Translog$Delete
at org.elasticsearch.index.translog.Translog$Operation.readOperation(Translog.java:885)
at org.elasticsearch.index.translog.Translog.readOperation(Translog.java:1432)
at org.elasticsearch.index.translog.BaseTranslogReader.read(BaseTranslogReader.java:103)
at org.elasticsearch.index.translog.TranslogSnapshot.readOperation(TranslogSnapshot.java:73)
at org.elasticsearch.index.translog.TranslogSnapshot.next(TranslogSnapshot.java:64)
at org.elasticsearch.index.translog.MultiSnapshot.next(MultiSnapshot.java:70)
at org.elasticsearch.index.shard.IndexShard.runTranslogRecovery(IndexShard.java:1271)
at org.elasticsearch.index.engine.InternalEngine.recoverFromTranslogInternal(InternalEngine.java:471)
at org.elasticsearch.index.engine.InternalEngine.recoverFromTranslog(InternalEngine.java:393)
at org.elasticsearch.index.engine.InternalEngine.recoverFromTranslog(InternalEngine.java:99)
at org.elasticsearch.index.shard.IndexShard.openIndexAndRecoveryFromTranslog(IndexShard.java:1332)
at org.elasticsearch.index.shard.StoreRecovery.internalRecoverFromStore(StoreRecovery.java:404)
at org.elasticsearch.index.shard.StoreRecovery.lambda$recoverFromStore$0(StoreRecovery.java:94)
at org.elasticsearch.index.shard.StoreRecovery.executeRecovery(StoreRecovery.java:300)
at org.elasticsearch.index.shard.StoreRecovery.recoverFromStore(StoreRecovery.java:92)
at org.elasticsearch.index.shard.IndexShard.recoverFromStore(IndexShard.java:1607)
at org.elasticsearch.index.shard.IndexShard.lambda$startRecovery$6(IndexShard.java:2039)
at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingRunnable.run(ThreadContext.java:573)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
T

(from github.com/marevol)
Try an external elasticsearch cluster.
Embedded Elasticsearch is not recommended for production use.