This is an automated email from the ASF dual-hosted git repository.

btellier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git

commit 5767c105d736be4ee222940786579946b9c5e6c8
Author: Quan Tran <hqt...@linagora.com>
AuthorDate: Tue Dec 10 11:50:05 2024 +0700

    [FIX] MDC: Lower log level upon IllegalArgumentException
    
    James logged an error upon user POP3 input error for example:
    ```json
    
    
{"timestamp":"2024-12-10T04:32:03.703Z","level":"ERROR","thread":"pop3server-11","mdc":{"charset":"US-ASCII","protocol":"POP3","sessionId":"6fec7ab7","ip":"192.168.43.3"},"logger":"org.apache.james.util.MDCBuilder","message":"Got
 error, logging its 
context","context":"default","exception":"java.lang.IllegalArgumentException: 
Domain parts ASCII chars must be a-z A-Z 0-9 - or _ in govmu,org
            at 
com.google.common.base.Preconditions.checkArgument(Preconditions.java:220)
            at org.apache.james.core.Domain.of(Domain.java:58)
            at 
org.apache.james.core.Username.fromLocalPartWithDomain(Username.java:52)
            at org.apache.james.core.Username.of(Username.java:46)
            at 
org.apache.james.protocols.pop3.core.UserCmdHandler.user(UserCmdHandler.java:73)
            at 
org.apache.james.protocols.pop3.core.UserCmdHandler.lambda$onCommand$0(UserCmdHandler.java:66)
            at org.apache.james.util.MDCBuilder.withMdc(MDCBuilder.java:44)
            at 
org.apache.james.protocols.pop3.core.UserCmdHandler.lambda$onCommand$1(UserCmdHandler.java:61)
            at 
org.apache.james.metrics.api.MetricFactory.decorateSupplierWithTimerMetric(MetricFactory.java:37)
            at 
org.apache.james.protocols.pop3.core.UserCmdHandler.onCommand(UserCmdHandler.java:60)
            at 
org.apache.james.protocols.pop3.core.UserCmdHandler.onCommand(UserCmdHandler.java:42)
            at 
org.apache.james.protocols.api.handler.CommandDispatcher.dispatchCommandHandlers(CommandDispatcher.java:165)
            at 
org.apache.james.protocols.api.handler.CommandDispatcher.onLine(CommandDispatcher.java:142)
            at 
org.apache.james.protocols.netty.BasicChannelInboundHandler.channelRead(BasicChannelInboundHandler.java:195)
            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.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.access$600(AbstractChannelHandlerContext.java:61)
            at 
io.netty.channel.AbstractChannelHandlerContext$7.run(AbstractChannelHandlerContext.java:425)
            at 
io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:173)
            at 
io.netty.util.concurrent.DefaultEventExecutor.run(DefaultEventExecutor.java:66)
            at 
io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:994)
            at 
io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
            at java.base/java.lang.Thread.run(Unknown Source)
    "}
    ```
---
 .../container/util/src/main/java/org/apache/james/util/MDCBuilder.java | 3 +++
 1 file changed, 3 insertions(+)

diff --git 
a/server/container/util/src/main/java/org/apache/james/util/MDCBuilder.java 
b/server/container/util/src/main/java/org/apache/james/util/MDCBuilder.java
index 5d7c625f26..3cb2bb0290 100644
--- a/server/container/util/src/main/java/org/apache/james/util/MDCBuilder.java
+++ b/server/container/util/src/main/java/org/apache/james/util/MDCBuilder.java
@@ -44,6 +44,9 @@ public class MDCBuilder {
             return answerSupplier.get();
         } catch (IOException e) {
             throw new RuntimeException(e);
+        }  catch (IllegalArgumentException e) {
+            LOGGER.warn("Got IllegalArgumentException, logging its context", 
e);
+            throw e;
         } catch (RuntimeException e) {
             LOGGER.error("Got error, logging its context", e);
             throw e;


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscr...@james.apache.org
For additional commands, e-mail: notifications-h...@james.apache.org

Reply via email to