OVD: What Does vde.log Error: "Transmission error : Socket is closed" Mean? How Does OVD Handles Connections To The Backend Server(s)? (Doc ID 960922.1)

Last updated on MARCH 08, 2017

Applies to:

Oracle Virtual Directory - Version 10.1.4.3 and later
Information in this document applies to any platform.
***Checked for relevance on 08-Dec-2014***


Goal

Oracle Virtual Directory (OVD), i.e., 10.1.4.3.0 with the latest merge patch (i.e., #38) applied, or higher.

Sending OVD requests to a hardware load balancer with a connection timeout set to 15 minutes.  The load balancer is set to close connections after 900 seconds of inactivity.  The backend directory server has an idle timeout set to 900 seconds as well. This may happen even if not going through the Load Balancer.

 

Question 1:  Not sure if or how this is affecting OVD, but seeing following errors in OVD logs saying the connections are reset on occasion.  Have been receiving these messages in the vde.log even before the #38 patch was applied:

From vde.log:
[2009-10-27 08:06:50,515] ERROR - MessageHandler: Transmission error : Socket is closed [WorkThread# 11]
From vde.log.exception:
[2009-10-27 08:06:50,516] Transmission error : Socket is closed
java.net.SocketException: Socket is closed
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.checkEOF(SSLSocketImpl.java:1246)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.checkWrite(SSLSocketImpl.java:1267)
at com.sun.net.ssl.internal.ssl.AppOutputStream.write(AppOutputStream.java:60)
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
at com.octetstring.vde.Connection.sendResponse(Connection.java:240)
at com.octetstring.vde.MessageHandler.sendResponse(MessageHandler.java:676)
at com.octetstring.vde.MessageHandler.doBind(MessageHandler.java:374)
at com.octetstring.vde.MessageHandler.answerRequest(MessageHandler.java:159)
at com.octetstring.vde.WorkThread.run(WorkThread.java:89)

If OVD is always keeping a single connection open as per <Note 602230.1>, it would eventually run into a close on the last connection. If OVD handles this condition, is the message just informational? Is this a "normal" message saying that the backed LDAP server closed the connection?  Is there a way to limit the length of time that OVD keeps connections open to backend LDAP stores?

 

Question 2:  Please explain the following vde_startup.sh -D parameters:
-Dvde.reconnInConnPool=false
-Dvde.soTimeoutFrontend=0
-Dvde.soTimeoutBackend=0

The reconnInConnPool option is pretty clear - it basically checks if the connection in the connection pool is active before using the connection. Thought this would have fixed the disconnect messages, but it did not.

The other two options, soTimeoutFrontend and soTimeoutBackend, say they help to detect and safely close orphaned socket connections. Yet, they are to be set as a timeout value. Is this only active during an active LDAP call?

 

Question 3:  With the Adapter Heartbeat Interval set to 60 seconds, would expect the idle timeout on the Load Balancer never to occur?  Does OVD only heartbeat one connection, and perhaps that is why other connections are timing out?

 

Question 4:  What does this message mean:

2009-10-27 02:13:55,714 ERROR - MessageHandler: Transmission error : Socket is closed WorkThread# 17
2009-10-27 02:14:59,471 WARN - ConnectionHandler: Peer is not available anymore : Received fatal alert: bad_certificate LDAP-21875

What peer or certificate is it talking about?

Solution

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms