Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
Bedrock Mission!

Learn more

View all

Sign in to view all badges

SOLVED

LDAP error resulting from Active Directory server connection reset / MaxConnIdleTime

25793466
Level 2
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
25793466
Correct answer by
Level 2
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
25793466
Correct answer by
Level 2
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."