Skip to content

Improve SocketAppenderReconnectTest reliability #3004

@garydgregory

Description

@garydgregory

Description

SocketAppenderReconnectTest is unreliable

SocketAppenderReconnectTest.lambda$verifyLoggingSuccess$2:360 » AppenderLogging Error writing to TCP:localhost:53217 for connection localhost/127.0.0.1:53217

Configuration

Version: 2.x at 01125b1

Operating system:
Microsoft Windows [Version 10.0.19045.4780

JDK:
Apache Maven 3.9.9 (8e8579a9e76f7d015ee5ec7bfcdc97d260186937)
Maven home: C:\java\apache-maven-3.9.9
Java version: 17.0.12, vendor: Eclipse Adoptium, runtime: C:\Program Files\Eclipse Adoptium\jdk-17.0.12.7-hotspot
Default locale: en_US, platform encoding: UTF-8
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"

Logs

[ERROR] Tests run: 3, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 7.934 s <<< FAILURE! -- in org.apache.logging.log4j.core.appender.SocketAppenderReconnectTest
[ERROR] org.apache.logging.log4j.core.appender.SocketAppenderReconnectTest.repeating_reconnect_failures_should_be_propagated -- Time elapsed: 2.457 s <<< ERROR!
org.apache.logging.log4j.core.appender.AppenderLoggingException: Error writing to TCP:localhost:53217 for connection localhost/127.0.0.1:53217
        at org.apache.logging.log4j.core.net.TcpSocketManager.write(TcpSocketManager.java:299)
        at org.apache.logging.log4j.core.appender.OutputStreamManager.write(OutputStreamManager.java:202)
        at org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.writeByteArrayToManager(AbstractOutputStreamAppender.java:236)
        at org.apache.logging.log4j.core.appender.SocketAppender.directEncodeEvent(SocketAppender.java:598)
        at org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.tryAppend(AbstractOutputStreamAppender.java:220)
        at org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.append(AbstractOutputStreamAppender.java:211)
        at org.apache.logging.log4j.core.config.AppenderControl.tryCallAppender(AppenderControl.java:160)
        at org.apache.logging.log4j.core.config.AppenderControl.callAppender0(AppenderControl.java:133)
        at org.apache.logging.log4j.core.config.AppenderControl.callAppenderPreventRecursion(AppenderControl.java:124)
        at org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:88)
        at org.apache.logging.log4j.core.config.LoggerConfig.callAppenders(LoggerConfig.java:714)
        at org.apache.logging.log4j.core.config.LoggerConfig.processLogEvent(LoggerConfig.java:672)
        at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:648)
        at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:584)
        at org.apache.logging.log4j.core.config.AwaitCompletionReliabilityStrategy.log(AwaitCompletionReliabilityStrategy.java:92)
        at org.apache.logging.log4j.core.Logger.log(Logger.java:240)
        at org.apache.logging.log4j.spi.AbstractLogger.tryLogMessage(AbstractLogger.java:2908)
        at org.apache.logging.log4j.spi.AbstractLogger.logMessageTrackRecursion(AbstractLogger.java:2861)
        at org.apache.logging.log4j.spi.AbstractLogger.logMessageSafely(AbstractLogger.java:2843)
        at org.apache.logging.log4j.spi.AbstractLogger.logMessage(AbstractLogger.java:2622)
        at org.apache.logging.log4j.spi.AbstractLogger.logIfEnabled(AbstractLogger.java:2569)
        at org.apache.logging.log4j.spi.AbstractLogger.info(AbstractLogger.java:1572)
        at org.apache.logging.log4j.core.appender.SocketAppenderReconnectTest.lambda$verifyLoggingSuccess$2(SocketAppenderReconnectTest.java:360)
        at org.awaitility.core.CallableCondition$ConditionEvaluationWrapper.eval(CallableCondition.java:99)
        at org.awaitility.core.ConditionAwaiter$ConditionPoller.call(ConditionAwaiter.java:248)
        at org.awaitility.core.ConditionAwaiter$ConditionPoller.call(ConditionAwaiter.java:235)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
        at java.base/java.lang.Thread.run(Thread.java:840)
Caused by: java.net.SocketException: Connection reset by peer
        at java.base/sun.nio.ch.NioSocketImpl.implWrite(NioSocketImpl.java:425)
        at java.base/sun.nio.ch.NioSocketImpl.write(NioSocketImpl.java:445)
        at java.base/sun.nio.ch.NioSocketImpl$2.write(NioSocketImpl.java:831)
        at java.base/java.net.Socket$SocketOutputStream.write(Socket.java:1035)
        at org.apache.logging.log4j.core.net.TcpSocketManager.writeAndFlush(TcpSocketManager.java:308)
        at org.apache.logging.log4j.core.net.TcpSocketManager.write(TcpSocketManager.java:269)
        ... 29 more

Reproduction

mvn clean install

Metadata

Metadata

Assignees

Labels

testsPull requests or issues related to tests

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions