Wanted to see if you guys had any ideas before moving on to support for an ‘odd’ issue we’re having. We’re migrating to cloverleaf from eGate and we’re doing it kind of blindly. Our team has taken all of the classes and all Level 3 and TCL certified. Some of our legacy ideals are probably hampering our move forward but that’s what the overall management/leads have decided for us going forward. A few notes to start us off:
The basic idea of what is happening is we are ‘losing’ messages when we restart certain inbounds from intersite communications. SiteA sends ADT to SiteB before being processed and sent to the vendor. That A to B connection is where the oddities are happening. The way we know it’s being lost there is we have a kind of ‘custom’ journaling set up in place of SMAT (Legacy item, our policy is to hold messages forever basically). We journal in two main places. The Inbound (in TPS Inbound Data, after the ack script) and outbound (in Prewrite Procs on the outbound thread).
What happens is we apply an update to a thread in SiteB, restart the thread, and we will sometimes lose a message. It all seems to come down to timing. An overview of our thread setup:
SiteA
ADT_in –> ADT2siteb_out (ADT_in.journal and adt2siteb_out.journal are created)
SiteB
ADTfromSiteA_in –> ADT2vendor_out (ADTfromSiteA_in.journal and ADT2vendor_out.journal are created).
When the restart happens, the message will flow and be written in both of SiteA’s journal files, but will NOT write to siteB’s journal files. As far as we can tell, it looks like the sending thread (2siteB) sends the message, the receiving thread (fromSiteA) receives the message, sends the ACK but does not journal the message, put it in the Recovery database in siteB, nor does it log any errors in either site. It looks like the shutdown causes it to vanish during those HL7 ACK handshakes.
Has anyone seen anything like this? I know the explanation is probably a bit wonky, but I will clarify the best I can. If the community does not have any ideas, support is our next stop.