Expand my Community achievements bar.

Don’t miss the AEM Skill Exchange in SF on Nov 14—hear from industry leaders, learn best practices, and enhance your AEM strategy with practical tips.
SOLVED

LDAP error resulting from Active Directory server connection reset / MaxConnIdleTime

Avatar

Level 2

We integrate with 2 LDAP domains (Active Directory) and frequently see the error below in our error.log files.  It is not causing any issues that I am aware of.  After reviewing a network trace, I see the Active Directory server close the connection (a reset/RST actually) after 15 minutes of inactivity/idle time.  It appears this is a result of the AD MaxConnIdleTime setting (https://technet.microsoft.com/en-us/library/cc770976(v=ws.11).aspx and http://ldapwiki.com/wiki/MaxConnIdleTime). The default is 15 minutes, which I confirmed is what our AD servers are set to.

Is there something I can set in AEM to match this configuration and avoid the error message?

19.07.2017 00:33:42.977 *WARN* [NioProcessor-1783] org.apache.directory.ldap.client.api.LdapNetworkConnection Connection reset by peer

java.io.IOException: Connection reset by peer

        at sun.nio.ch.FileDispatcherImpl.read0(Native Method)

        at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:51)

        at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:237)

        at sun.nio.ch.IOUtil.read(IOUtil.java:210)

        at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:373)

        at org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:273)

        at org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:44)

        at org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:690)

        at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:664)

        at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:653)

        at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$600(AbstractPollingIoProcessor.java:67)

        at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:1124)

        at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)

        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1156)

        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:626)

        at java.lang.Thread.run(Thread.java:780)

(a reset/RST actually)

1 Accepted Solution

Avatar

Correct answer by
Level 2

I contacted Support and the error is benign.  Specifically:

"Your understanding about the warning is absolutely right.  AEM doesn't have a function to disconnect with the LDAP. However, If you are using Active Directory, it will be disconnected by a "MaxConnIdleTime" policy of AD. The default value is 15 minutes.  AD will send a "rest" packet at intervals determined by the "MaxConnIdleTime".

              

Hence this WARN can be ignored from your end. I don't see an AEM configuration that could help this case as AEM has nothing to do in this but trace logs as this is initiated by AD.

However if you want to remove these from your error log you can create a separate logger for the above api such that it can be purged later."

View solution in original post

1 Reply

Avatar

Correct answer by
Level 2

I contacted Support and the error is benign.  Specifically:

"Your understanding about the warning is absolutely right.  AEM doesn't have a function to disconnect with the LDAP. However, If you are using Active Directory, it will be disconnected by a "MaxConnIdleTime" policy of AD. The default value is 15 minutes.  AD will send a "rest" packet at intervals determined by the "MaxConnIdleTime".

              

Hence this WARN can be ignored from your end. I don't see an AEM configuration that could help this case as AEM has nothing to do in this but trace logs as this is initiated by AD.

However if you want to remove these from your error log you can create a separate logger for the above api such that it can be purged later."