My Oracle Support Banner

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 NOVEMBER 16, 2020

Applies to:

Oracle Virtual Directory - Version 10.1.4.3 to 11.1.1.9.0 [Release 10gR3 to 11g]
Information in this document applies to any platform.

Goal

Oracle Virtual Directory (OVD) 10g or 11g.

This may happen even if not going through the Load Balancer.

One scenario: 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.

 

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 OVD logs:

Example from OVD 11g access.log:
[2017-09-19T11:11:26.215-04:00] .... [] [com.octetstring.accesslog] [tid: xx] [ecid: <ECID>] conn=15,691 fd=0 slot=0 connection from=<IP_ADDRESS>:<PORT> to <IP_ADDRESS>:<PORT> port <PORT>
[2017-09-19T11:11:31.196-04:00] .... [OVD-20043] [com.octetstring.accesslog] [tid: xx] [ecid: <ECID>] conn=15,691 op=0 SRCH base=ou=<OU>,dc=<DOMAIN>,dc=com scope=2 filter=(&(uid=<UID>)(myID=*)) requestedAttributes=[xxx, xxx] sizelimit=1 timelimit=0 typesOnly=FALSE
[2017-09-19T11:11:31.318-04:00] ....  [OVD-20070] [com.octetstring.accesslog] [tid: xxxx] [ecid: <ECID>] conn=15,691 op=1 UNBIND
[2017-09-19T11:11:31.318-04:00] .... [OVD-20071] [com.octetstring.accesslog] [tid: xxxxx] [ecid: <ECID number>] conn=15,691 op=1 fd=0 closed - U1
[2017-09-19T11:11:31.377-04:00] .... [OVD-20044] [com.octetstring.accesslog] [tid: xx] [ecid: <ECID number>] conn=15,691 op=0 RESULT err=0 tag=0 nentries=0 etime=181 dbtime=0 mem=1,101,153,456/2,121,269,248
Example from OVD 11g diagnostic.log:
[2017-09-19T11:11:31.195-04:00] [octetstring] [ERROR] [] [com.octetstring.vde.OperationHandler] [tid: xx] [ecid: <ECID>] Operation error {0} [[
com.octetstring.vde.util.DirectoryException: Error occurred in communicating with client: java.net.SocketException: Socket is closed.

 

Example from OVD 10g vde.log:
[2009-10-27 08:06:50,515] ERROR - MessageHandler: Transmission error : Socket is closed [WorkThread# 11]
Example from OVD 10g 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 backend server closed the connection?  Is there a way to limit the length of time that OVD keeps connections open to backend stores?

 

Question 2:  Explain the following OVD startup -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

To view full details, sign in with your My Oracle Support account.

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


In this Document
Goal
Solution
References

My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.