'Connection is aborted due to timeout or other failure'

516 views
Skip to first unread message

Marc Lang

unread,
Mar 9, 2012, 12:13:09 PM3/9/12
to InterSystems: Ensemble in Healthcare
Hi,

We have a VB system connecting to Ensemble via TCP. It runs in eBiz.
Every so often the socket in VB reports an error:

'Connection is aborted due to timeout or other failure'

This has only started happening since we pointed it to Ensemble - previously it pointed directly to a third party system and it never happened.
Has anyone got any ideas why Ensemble would trigger this error?

The Ensemble HL7 inbound adapter that it points to is "Stay Connected = -1" which I thought would always remain connected.
This error hasn't appeared in the logs for the 3 years until Ensemble was put in place, so there must be something new happening...

Thanks

Dale du Preez

unread,
Mar 9, 2012, 12:25:12 PM3/9/12
to Ensemble-in...@googlegroups.com
Hi Marc,

That does sound rather odd, especially given the previous stability. Is there anything on the Ensemble side to indicate what may be happening? This may be in the Event Log, but you may also want to check whether there is any information in the system log (accessed via the ^SYSLOG routine in %SYS) to work out what kind of OS-level errors may be occurring. (As a side note, ^SYSLOG primarily logs errors that are reported from the operating system, so the exact meaning of the codes will depend on your OS and version.) Additionally, are the timeouts/failures occurring at consistent time intervals? Or consistent intervals relative to the last activity? There may be some sort of issue related to keepalive on the TCP socket.

I hope these ideas help in diagnosing what the problem may be.

Dale
--
You received this message because you are subscribed to the Google Groups "InterSystems: Ensemble in Healthcare Community" group.
To post to this group, send email to Ensemble-in...@googlegroups.com
To unsubscribe from this group, send email to Ensemble-in-Healt...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/Ensemble-in-Healthcare?hl=en

James MacKeith

unread,
Mar 9, 2012, 3:59:48 PM3/9/12
to ensemble-in...@googlegroups.com
Hi Marc

Can the VB system make more than one connection at once and if so is Job Per Connection true for the Ensemble Business Service?

A Wireshark trace would also be helpful. 

Ensemble checks the TCP connection at frequent intervals whilst still listening and will report a disconnect. 

Also on the Ensemble side it is possible to increase the logging in the Ensemble Event log by setting the ^Ens.Debug("TraceCat") flag  (http://docs.intersystems.com/ens20121/csp/docbook/DocBook.UI.Page.cls?KEY=EMONITOR_tracing#EMONITOR_B202760)

The WRC will also be able to help if necessary. 

Kind regards

James

Marc Lang

unread,
Mar 12, 2012, 5:15:58 AM3/12/12
to ensemble-in...@googlegroups.com
VB system can only connect once, and sends everything down the one connection.

There are two things happening - an adapter where eBiz sends to Ensemble, and one where Ensemble sends back.

With the one where Ensemble sends to eBiz, the eBiz components throws said error just over every hour.
For example, at 03:56:25 then again at 04:57:32 then again at 05:58:38.
Seconds after a disconnect though, it shows a connection accepted.
Ensemble event log doesn't show any of this.


For the components where eBiz sends into Ensemble, the same roughly happens.
Seems to disconnect after just over an hour after last traffic.
The Ensemble event log for this shows warning TCPInboundAdapter.TestConnection() with "Lost TCP Connection on <port><-<ip> - detected via $zu(189)"
Followed by an info "Disconnecting from <port><ip>", and an attempt to reconnect, which fails with "No connection made on port within interval 5"

James MacKeith

unread,
Mar 13, 2012, 9:32:30 AM3/13/12
to ensemble-in...@googlegroups.com

Hi Marc

 

To see if keep alive coming into play has the keep alive time been changed from the default 2 hours to 1 hour?  

 

When Ensemble reports “Lost TCP Connection on <port><-<ip> - detected via $zu(189)" this is a result of a tcp level query being told the connection is not valid.

 

A Wireshark/tcp trace would be useful to see what packets are being sent between the 2 systems.

 

Kind regards

 

James

 


Marc Lang

unread,
Mar 13, 2012, 10:01:33 AM3/13/12
to ensemble-in...@googlegroups.com
Hi James,

I haven't consciously changed the Keep Alive time - where is that set?

Yeah have a Wireshark trace when one of them happened.

Trying to capture it again, to make sure it's consistent.
TCP flags are new to me, so will have to read up on what they do.

There is an RST, but don't see TCP Keep-Alive flag that I can see.

James MacKeith

unread,
Mar 13, 2012, 10:56:02 AM3/13/12
to ensemble-in...@googlegroups.com
Hi Marc

For Windows they are in the registry see:  http://technet.microsoft.com/en-us/library/bb726981.aspx#EDAA

Where we have seen keep alive probes coming into play (I think once)  was where Ensemble tcp job sends a keep alive probe and the external system issued a reset on receiving.  The wireshark in this case did show the keep alive probe being sent.  From 2010.2.0 it is possible to disable the keep alive probe if we need to go this route but naturally too early to say. 

Depending on the configuration we have also seen where a firewall between 2 systems will close an inactive tcp connection after a given period.  So knowing what else changed in the configuration  when Ensemble entered the picture would also be helpful.  

Kind regards

James

yborokhov

unread,
Jul 3, 2013, 12:22:00 PM7/3/13
to Ensemble-in...@googlegroups.com, ensemble-in...@googlegroups.com
James,

where is this setting to disable keep alive anyway? This would be AIX OS.

Thanks

Yuriy

To post to this group, send email to Ensemble-i...@googlegroups.com
To unsubscribe from this group, send email to Ensemble-in-Healthcare-unsub...@googlegroups.com

--
You received this message because you are subscribed to the Google Groups "InterSystems: Ensemble in Healthcare Community" group.

To post to this group, send email to Ensemble-i...@googlegroups.com
To unsubscribe from this group, send email to Ensemble-in-Healthcare-unsub...@googlegroups.com

--
You received this message because you are subscribed to the Google Groups "InterSystems: Ensemble in Healthcare Community" group.

To post to this group, send email to Ensemble-i...@googlegroups.com
To unsubscribe from this group, send email to Ensemble-in-Healthcare-unsub...@googlegroups.com

--
You received this message because you are subscribed to the Google Groups "InterSystems: Ensemble in Healthcare Community" group.

To post to this group, send email to Ensemble-i...@googlegroups.com
To unsubscribe from this group, send email to Ensemble-in-Healthcare-unsub...@googlegroups.com

--
You received this message because you are subscribed to the Google Groups "InterSystems: Ensemble in Healthcare Community" group.
To post to this group, send email to Ensemble-i...@googlegroups.com
To unsubscribe from this group, send email to Ensemble-in-Healthcare-unsub...@googlegroups.com

--
You received this message because you are subscribed to the Google Groups "InterSystems: Ensemble in Healthcare Community" group.
To post to this group, send email to Ensemble-i...@googlegroups.com
To unsubscribe from this group, send email to Ensemble-in-Healthcare-unsub...@googlegroups.com

James MacKeith

unread,
Jul 8, 2013, 9:07:19 AM7/8/13
to Ensemble-in...@googlegroups.com

Hi Yuriy

 

We have a TCP device open keyword /NOKEEPALIVE

 

See:

 

http://docs.intersystems.com/ens20131/csp/docbook/DocBook.UI.Page.cls?KEY=GIOD_tcp

 

For Ensemble TCP inbound and outbound adapter one would override the Connect method to make use of this setting.

 

Kind regards

 

James


To post to this group, send email to Ensemble-in...@googlegroups.com
To unsubscribe from this group, send email to Ensemble-in-Healt...@googlegroups.com

---
You received this message because you are subscribed to the Google Groups "InterSystems: Ensemble in Healthcare" group.
To unsubscribe from this group and stop receiving emails from it, send an email to Ensemble-in-Healt...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Reply all
Reply to author
Forward
0 new messages