Check Ack Issue

Clovertech Forums Read Only Archives Cloverleaf Cloverleaf Check Ack Issue

  • Creator
    Topic
  • #52912
    Alka Sharma
    Participant

      Here is my scenario: Cloverleaf 5.8 windows platform)

      My check ack proc is erroring when the message is resent. The time out to receive a reply is set to 10secs. When I do not receive the ACK, I resend the message and below is the error. I have the thread with the radio button resend OB message.

      [pd  :pdtd:WARN/0:rxj_adtord_out:01/25/2012 00:05:36] Timed out while awaiting replies on thread. Resending reserved OB Message

      [pd  :pdtd:WARN/0:rxj_adtord_out:01/25/2012 00:05:46] Timed out while awaiting replies on thread. Resending reserved OB Message

      [pd  :pdtd:WARN/0:rxj_adtord_out:01/25/2012 00:05:56] Timed out while awaiting replies on thread. Resending reserved OB Message

      [pd  :pdtd:WARN/0:rxj_adtord_out:01/25/2012 00:06:06] Timed out while awaiting replies on thread. Resending reserved OB Message

      [pd  :pdtd:WARN/0:rxj_adtord_out:01/25/2012 00:06:16] Timed out while awaiting replies on thread. Resending reserved OB Message

      [pd  :pdtd:WARN/0:rxj_adtord_out:01/25/2012 00:06:26] Timed out while awaiting replies on thread. Resending reserved OB Message

      [pd  :pdtd:WARN/0:rxj_adtord_out:01/25/2012 00:06:36] Timed out while awaiting replies on thread. Resending reserved OB Message

      [pd  :pdtd:WARN/0:rxj_adtord_out:01/25/2012 00:06:46] Timed out while awaiting replies on thread. Resending reserved OB Message

      rxj_adtord_out/check_ack_new : Received AE response

      Message to Error Database

      Reply is:

      MSH|^~&|||||||ACK||P|

      MSA|AE|

      Message is:

      MSH|^~@|PMS|UCHC|||201201250004||ADT^A08|CHPFQP03|P|2.3

      EVN|A08|201201250004|201201161233||

      PID|||11111111^^^HFT^PN~xxxxxxx^^HFT^MR||XXXXX^XXXXX^^^^^L||19310209|F

      PV1|0001|I|XXX^4040^P|X|||15569^XXXXXXX|||INT||||EO||N| |I|000003406746|R^20120115||||||||||||||||||||||||201201151423

      ZP1|||||||||||||||||||N|””

      ZCR|||||||F|||084^0576.00^M|1^065.10^M

      ZVS||||||||||000008422709||||||||||||||^^%PTFT^^5~^^%PTIN^^5.00~^^%PTLB^^186~^^%PTOZ^^7.28~^^2PRECER1^^5321828500

      rxj_adtord_out/check_ack_new : Received AE response

      Message to Error Database

      Reply is:

      MSH|^~&|||||||ACK||P|

      MSA|AE|

      Message is:

      [sms :sms :ERR /0:rxj_adtord_out:01/25/2012 00:06:48] Tcl error:

      msgId = message0

      proc = ‘check_ack_new’

      args = ”

      result = ‘bad msgId “”‘

      errorInfo: ‘

      bad msgId “”

         while executing

      “msgget $my_mh”

         (“AE” arm line 13)

         invoked from within

      “switch -exact — $acktype {

      AA – CA {

         # Good ACK – Clean up

         set send_cnt 0 ;# Init counter

         return “{KILLREPLY $mh} {KILL $my_m…”

         (“run” arm line 29)

         invoked from within

      “switch -exact — $mode {

      start {

         set ob_save “” ;# Clear save buffer

         set send_cnt 0 ;# Init resend counter

         return “”

      }

      run {

         k…”

         (procedure “check_ack_new” line 11)

         invoked from within

      “check_ack_new {MSGID message0} {CONTEXT sms_ib_reply} {ARGS {}} {MODE run} {VERSION 3.0}”‘

    Viewing 6 reply threads
    • Author
      Replies
      • #75901
        David Barr
        Participant

          Make sure your thread has “outbound only” checked on the inbound tab. You’re getting this error because you received an ACK inbound while you were no longer waiting for one. If you check “outbound only” then these extra ACKs will be ignored.

        • #75902
          Alka Sharma
          Participant

            I do have it checked.

          • #75903
            Michael Hertel
            Participant

              I don’t see OBMSGID in the args, why wouldn’t that be there?

              “check_ack_new {MSGID message0} {CONTEXT sms_ib_reply} {ARGS {}} {MODE run} {VERSION 3.0}”‘

            • #75904
              David Barr
              Participant

                Is it possible that you haven’t restarted your process since you checked the “outbound only” setting?

              • #75905
                Michael Hertel
                Participant

                  The answer is that the target system received and processed all of the resent transactions in addition to the normal traffic. Therefore Cloverleaf received a bunch of ACK messages it wasn’t expecting.

                  Basically the ACKs got out of sync with the messages being sent.

                  The check_ack script processed an extra AE response.

                  Since there was no Outbound message, there was no OBMSGID.

                  Thus the script errored.

                • #75906
                  David Barr
                  Participant

                    I thought the “outbound only” setting was supposed to prevent this. It should do this by causing the thread to ignore any ACKs it receives while not waiting for an ACK. Please correct me if I’m wrong.

                  • #75907
                    Michael Hertel
                    Participant

                      Interesting…

                      I understand the engine working as the 5.7 doc states below.

                      Your description matches the 5.8 explanation.

                      Alka is on 5.8 Windows.

                      Someone needs to test this on 5.8 to see if it really is behaving that way.

                      If you search the forum for OBMSGID, you will find a posting that doesn’t appear to have been resolved about disappearing OBMSGID.

                      It is titled: Where has OBMSGID gone?

                      https://usspvlclovertch2.infor.com/viewtopic.php?t=5165&highlight=obmsgid

                      The 5.7 doc says:

                      Code:


                      Outbound Only
                      Click the checkbox to make the connection send-only. The engine receives only reply messages from the host.

                      Clicking this button disables all other configuration entries in this pane.

                      The 5.8 doc says:

                      Outbound Only
                      Click the checkbox to make the connection send-only. The engine receives only reply messages from the host.  Clicking this button disables all other configuration entries in this pane.

                      Outbound Only checked

                      If the Outbound Only checkbox is checked, then Cloverleaf[code]
                      Outbound Only
                      Click the checkbox to make the connection send-only. The engine receives only reply messages from the host.  Clicking this button disables all other configuration entries in this pane.

                      Outbound Only checked

                      If the Outbound Only checkbox is checked, then Cloverleaf

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