Description:
Workstation/webstart login requests not fulfilled by MOM
Workstatio/Webstart end user fials to login. WS logs highlight time out on socket read:-
9/12/11 05:02:23 PM IST [VERBOSE] [Workstation.Login] Failed to connect to EM using plain socket: java.net.SocketTimeoutException: Read timed out
9/12/11 05:02:23 PM IST [WARN] [Workstation] Error attempting to connect to the Enterprise Manager "*******".
9/12/11 05:02:23 PM IST [VERBOSE] [Workstation]
com.wily.introscope.console.thornhill.manager.nexus.ConnectionFailedException: Error attempting to connect to the Enterprise Manager "*******".
at com.wily.introscope.console.thornhill.manager.nexus.WorkstationNexusManager.throwConnectionFailureException(WorkstationNexusManager.java:738)
at com.wily.introscope.console.thornhill.manager.nexus.WorkstationNexusManager.loginIsengard(WorkstationNexusManager.java:637)
at com.wily.introscope.console.thornhill.manager.nexus.WorkstationNexusManager.login(WorkstationNexusManager.java:331)
at com.wily.introscope.console.thornhill.ui.nexus.NexusLoginPanel$LoginHandler.login(NexusLoginPanel.java:821)
at com.wily.introscope.console.thornhill.ui.nexus.NexusLoginPanel$LoginHandler.run(NexusLoginPanel.java:854)
Caused by: java.net.SocketTimeoutException: Read timed out
The MOM server initially accepts the socket connection but when it tries to send data it encounters a broken pipe socket exception as follows:-
9/12/11 10:33:52 AM CDT [INFO] [Manager.IncomingConnectionListener] Incoming Connection threw exception. This may happen normally when a Workstation logs in:
java.net.SocketException: Broken pipe
at java.net.SocketOutputStream.socketWrite0(Native Method)
Solution:
Rogue network setup on MOM server caused the problem:-
The following changes in /etc/sysctl.conf caused the issue.
After removing changes to /etc/sysctl.conf
and reboot the machine, the logons to ****** are normal.
Before:
net.ipv4.tcp_keepalive_probes = 3
net.ipv4.tcp_keepalive_time = 60
net.ipv4.tcp_keepalive_intvl = 10
Changes which caused the problem:
net.ipv4.tcp_keepalive_probes = 9
net.ipv4.tcp_keepalive_time = 3600