Hi,
I recently upgraded from 3.7.4 to james 3.8 .
The server reports warnings like below
"[WARN ] o.a.j.PeriodicalHealthChecks - DEGRADED: EventDeadLettersHealthCheck : 
EventDeadLetters contain events. This might indicate transient failure on event 
processing” 

When I try to see the details of the events using the webadmin API  "curl -XGET 
http: //ip:port/events/deadLetter/groups" I get the following error as a 
response

{
     "statusCode": 500,
     "type": "ServerError",
     "message": "WebAdmin encountered an unexpected internal error",
     "details": null
}

From the java trace I cannot understand why it's trying to use elasticsearch 
when this is a new opensearch installation. 



13:13:57.700 [INFO ] o.a.j.w.m.LoggingRequestFilter - WebAdmin request received
13:13:57.712 [ERROR] s.h.m.GeneralError - 
java.lang.ClassNotFoundException: 
org.apache.james.mailbox.elasticsearch.v7.events.ElasticSearchListeningMessageSearchIndex$ElasticSearchListeningMessageSearchIndexGroup
        at 
java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
        at 
java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
        at java.base/java.lang.Class.forName0(Native Method)
        at java.base/java.lang.Class.forName(Class.java:315)
        at org.apache.james.events.Group.deserialize(Group.java:48)
        ... 39 common frames omitted
Wrapped by: org.apache.james.events.Group$GroupDeserializationException: 
java.lang.ClassNotFoundException: 
org.apache.james.mailbox.elasticsearch.v7.events.ElasticSearchListeningMessageSearchIndex$ElasticSearchListeningMessageSearchIndexGroup
        at org.apache.james.events.Group.deserialize(Group.java:51)
        at 
org.apache.james.events.CassandraEventDeadLettersGroupDAO.lambda$retrieveAllGroups$0(CassandraEventDeadLettersGroupDAO.java:79)
        at 
com.github.fge.lambdas.functions.FunctionChainer.doApply(FunctionChainer.java:20)
        at 
com.github.fge.lambdas.functions.ThrowingFunction.apply(ThrowingFunction.java:17)
        ... 36 common frames omitted
Wrapped by: com.github.fge.lambdas.ThrownByLambdaException: 
org.apache.james.events.Group$GroupDeserializationException: 
java.lang.ClassNotFoundException: 
org.apache.james.mailbox.elasticsearch.v7.events.ElasticSearchListeningMessageSearchIndex$ElasticSearchListeningMessageSearchIndexGroup
        at 
com.github.fge.lambdas.functions.ThrowingFunction.apply(ThrowingFunction.java:21)
        at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:106)
        at 
com.datastax.dse.driver.internal.core.cql.reactive.ReactiveResultSetSubscription.doOnNext(ReactiveResultSetSubscription.java:364)
        at 
com.datastax.dse.driver.internal.core.cql.reactive.ReactiveResultSetSubscription.drain(ReactiveResultSetSubscription.java:236)
        at 
com.datastax.dse.driver.internal.core.cql.reactive.ReactiveResultSetSubscription.lambda$fetchNextPageAndEnqueue$2(ReactiveResultSetSubscription.java:358)
        at 
java.base/java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:714)
        at 
java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
        at 
java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2073)
        at 
com.datastax.oss.driver.internal.core.cql.CqlRequestHandler.setFinalResult(CqlRequestHandler.java:324)
        at 
com.datastax.oss.driver.internal.core.cql.CqlRequestHandler.access$1500(CqlRequestHandler.java:95)
        at 
com.datastax.oss.driver.internal.core.cql.CqlRequestHandler$NodeResponseCallback.onResponse(CqlRequestHandler.java:655)
        at 
com.datastax.oss.driver.internal.core.channel.InFlightHandler.channelRead(InFlightHandler.java:257)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
        at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
        at 
io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
        at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
        at 
io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346)
        at 
io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
        at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
        at 
io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
        at 
io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
        at 
io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
        at 
io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
        at 
io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
        at 
io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
        at 
io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
        at 
io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
        at 
io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
        at java.base/java.lang.Thread.run(Thread.java:834)
        Suppressed: java.lang.Exception: #block terminated with an error
                at 
reactor.core.publisher.BlockingSingleSubscriber.blockingGet(BlockingSingleSubscriber.java:99)
                at reactor.core.publisher.Mono.block(Mono.java:1710)
                at 
org.apache.james.webadmin.service.EventDeadLettersService.listGroupsAsStrings(EventDeadLettersService.java:52)
                at 
org.apache.james.webadmin.routes.EventDeadLettersRoutes.listGroups(EventDeadLettersRoutes.java:90)
                at 
spark.ResponseTransformerRouteImpl$1.handle(ResponseTransformerRouteImpl.java:47)
                at spark.http.matching.Routes.execute(Routes.java:61)
                at 
spark.http.matching.MatcherFilter.doFilter(MatcherFilter.java:134)
                at 
spark.embeddedserver.jetty.JettyHandler.doHandle(JettyHandler.java:50)
                at 
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1598)
                at 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
                at 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
                at org.eclipse.jetty.server.Server.handle(Server.java:516)
                at 
org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:487)
                at 
org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:732)
                at 
org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:479)
                at 
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277)
                at 
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
                at 
org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
                at 
org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
                at 
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883)
                at 
org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034)


Any help is appreciated, thank you!



Reply via email to