MutliServer setting on CL 6.1.1

Clovertech Forums Read Only Archives Cloverleaf Cloverleaf MutliServer setting on CL 6.1.1

  • Creator
    Topic
  • #55114
    Femina Jaffer
    Participant

      Hello,

      Can someone explain when would the time to use the multiserver setting from an inbound connection?  I have been using CL for many years, but someone had recently   Someone suggested that we should use “MultServer” setting to accept multiple orders at one time from a source IP.  Is this correct?  What would the configuration have to be?

      A client is complaining that the first orders being placed and sent are successful, but subsequent ones fail.

      Thanks,

      Femina

    Viewing 9 reply threads
    • Author
      Replies
      • #84138
        Jim Kosloskey
        Participant

          What is the failure the client is reporting? Is the client unable to connect after the first successful exchange? Does the client receive an acknowledgment for the successful transaction?

          email: jim.kosloskey@jim-kosloskey.com 29+ years Cloverleaf, 59 years IT - old fart.

        • #84139
          Femina Jaffer
          Participant

            Well, the client is saying they can only send a handful of ORM messages together, but the first one goes and the other subsequent ORM messages fail to be sent because they are rejected.  “It appears only a few are making it outbound before sjmc receives a NAK and by default shuts the interface down. “

            Funny enough, this just started happening a couple of days ago.

          • #84140
            Jim Kosloskey
            Participant

              Do you have any code to send a NAK (I suspect not)?

              If not then who are they receeiving the NAK from?

              I am assuming they mean an HL/7 NAK and not a TCP/IP or other NAK.

              email: jim.kosloskey@jim-kosloskey.com 29+ years Cloverleaf, 59 years IT - old fart.

            • #84141
              Femina Jaffer
              Participant

                It’s definitely not the HL7 or application NACK, but the tcp/ip level NACK.

              • #84142
                Femina Jaffer
                Participant

                  They are stating. “From previous experience with Cloverleaf when we have the multi-server turned on it appears to eliminate the issues from when we attempt to send messages repeatedly with little pause in between. when we try multiple telnet in non-prod we are able to connect for each occurrence however in prod this is not the case eventually having to wait ~5 seconds before attempting to re-connect. Is multi-server enabled in both environments?

                  Honestly, I do not think “MultiServer” option is going to fix this matter.

                  But I do need to understand when to apply this option.  The question again is when I select multiserver, I have a “configure” button, what do I need to put in there?

                • #84143
                  Jim Kosloskey
                  Participant

                    In the Configure for Multi-Server:

                    Maximum Clients is the number of connections you want to allow at one time.

                    Maximum Outbound Queue Depth and Maximum Pre-translate Queue depth – I have never set to anythng other than zero and am not sure how I would use them at this point.

                    Check Save client IP and port to Driver Control so your acknowledgment proc (you are sending an acknowledgment correct?) can send the acknowledgment to the correct Client.

                    Now is your client sayinng he is sending messages without waiting for acknowledgments – if so that is just bad.

                    On the other hand, is he saying he connects with each message?  Unless the connection is disconnected before another connection is tried, the second and subsequent connection will be rejected since a connection already exists.

                    Is there a VPN or firewall involved (on the client side or on your side)? If so there could be an issue there.

                    It sounds to me like they are asking the Cloverleaf shops to misuse Mullti-Server to make up for either their lack of concern to find out what the real issue is or to correct it.

                    If this just started – what changed?

                    email: jim.kosloskey@jim-kosloskey.com 29+ years Cloverleaf, 59 years IT - old fart.

                  • #84144

                    Multiserver allows the tcp/ip connection to listen for multiple connections on the same port and uses a different socket for each connection. The hl7raw_ack proc which comes installed with Cloverleaf is configured to handle multiserver ACKing correctly.

                    Multiserver connections inbound or outbound are often used when traversing firewalls because firewalls will kill the tcp/ip connections without closing them cleanly first. MS allows applications to create new sockets and the stale ones will eventually timeout and cleanup.

                    The first thing I’d check is the ACK proc you are using. It should be coded to handle multiserver and it should be the first proc called in inbound TPS. If you are not using hl7raw_ack, then you can read through that code to see how multiserver ACKs are handled.

                    Cloverleaf can handle very fast communication and very high volumes with a normal tcp/ip connection or multiserver.

                    -- Max Drown (Infor)

                  • #84145
                    Femina Jaffer
                    Participant

                      Thanks so much for the explanation.  Makes sense now.

                    • #84146
                      Henry Bauer
                      Participant

                        We are attempting Multi-Server with a connection from EPIC to Cloverleaf, the current hl7Raw_ack.tcl contains:

                        # For multiserver

                                   msgmetaset $obMsg DRIVERCTL [msgmetaget $mh DRIVERCTL]

                                   if {[string equal $ackSubs::ackType “AA”]} {

                                       return “{CONTINUE $mh} {OVER $obMsg}”

                                   }

                        I have seen posts referring to needing to have this code:

                        set ackmsgDriverCtl [msgmetaget $mh DRIVERCTL]

                         msgmetaset $ackmh DRIVERCTL $ackmsgDriverCtl

                        Is this additional code that needs to be added to the native hl7Raw_ack.tcl or an updated version of the hl7Raw_ack.tcl

                      • #84147
                        Charlie Bursell
                        Participant

                          msgmetaset $obMsg DRIVERCTL [msgmetaget $mh DRIVERCTL]

                          If you wanted two commands it would be:

                          set ackmsgDriverCtl [msgmetaget $mh DRIVERCTL]

                          msgmetaset DRIVERCTL $ackmsgDriverCtl

                          You are setting the metadata and not a variable.

                      Viewing 9 reply threads
                      • The forum ‘Cloverleaf’ is closed to new topics and replies.