Tellier Benoit created JAMES-2556: ------------------------------------- Summary: Impossible to reprocess a mailqueue when a key is not found Key: JAMES-2556 URL: https://issues.apache.org/jira/browse/JAMES-2556 Project: James Server Issue Type: Bug Components: MailStore & MailRepository, webadmin Affects Versions: master, 3.1.0 Reporter: Tellier Benoit Fix For: 3.2.0
We miss a null check on mailRepository.retrieve(key) This can happen for instance in the face of concurrent deletes {code:java} 11:56:43.579 [ERROR] o.a.j.t.MemoryTaskManager - Error while running task java.lang.NullPointerException: null at org.apache.james.webadmin.service.ReprocessingService.reprocess(ReprocessingService.java:72) at org.apache.james.webadmin.service.ReprocessingService.lambda$null$0(ReprocessingService.java:59) at com.github.fge.lambdas.consumers.ConsumerChainer.doAccept(ConsumerChainer.java:20) at com.github.fge.lambdas.consumers.ThrowingConsumer.accept(ThrowingConsumer.java:22) at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184) at java.util.stream.ReferencePipeline$11$1.accept(ReferencePipeline.java:373) at java.util.Iterator.forEachRemaining(Iterator.java:116) at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801) at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151) at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174) at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418) at org.apache.james.webadmin.service.ReprocessingService.lambda$reprocessAll$1(ReprocessingService.java:59) at com.github.fge.lambdas.consumers.ConsumerChainer.lambda$sneakyThrow$9(ConsumerChainer.java:73) at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382) at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:580) at org.apache.james.webadmin.service.ReprocessingService.reprocessAll(ReprocessingService.java:56) at org.apache.james.webadmin.service.ReprocessingAllMailsTask.run(ReprocessingAllMailsTask.java:99) at org.apache.james.task.MemoryTaskManager.run(MemoryTaskManager.java:84) at org.apache.james.task.MemoryTaskManager.lambda$runWithMdc$2(MemoryTaskManager.java:77) at org.apache.james.util.MDCBuilder.lambda$withMdc$0(MDCBuilder.java:60) at org.apache.james.util.MDCBuilder.withMdc(MDCBuilder.java:48) at org.apache.james.util.MDCBuilder.withMdc(MDCBuilder.java:59) at org.apache.james.task.MemoryTaskManager.runWithMdc(MemoryTaskManager.java:72) at org.apache.james.task.MemoryTaskManager.lambda$submit$1(MemoryTaskManager.java:67) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org