LDAP error resulting from Active Directory server connection reset / MaxConnIdleTime | Community
Skip to main content
Level 2
July 25, 2017
Solved

LDAP error resulting from Active Directory server connection reset / MaxConnIdleTime

  • July 25, 2017
  • 1 reply
  • 5060 views

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)

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by 25793466

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."

1 reply

25793466AuthorAccepted solution
Level 2
August 23, 2017

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."