problem with check_ack

Clovertech Forums Read Only Archives Cloverleaf Cloverleaf problem with check_ack

  • Creator
    Topic
  • #51215
    David Barr
    Participant

      We’ve had an ongoing problem with one of our threads that sends ADT data.

    Viewing 5 reply threads
    • Author
      Replies
      • #69227
        Keith McLeod
        Participant

          It appears as though you are trying to resend the message with this proc.  I am guessing PROTO is the key but it does not appear as though you have supplied a message handle to include as the value in the keyed list.  Just like

          KILL $mh

          PROTO $mh

          I do question why you would want to resend the message if the ACK back already indicated it was a bad message.  I would suggest taking the Value in the ACK message located in MSA:3 and writing it to the USERDATA metadata of the original message and doing a disposition of

          ERROR $mh

          Or if you feel resending 3 times and then change the disposition to ERROR $mh.

          I found some check ACK programs that send the message out.  The program sends back a negative ACK and the check ACK resends the bad message again and once again you receive a bad ACK……this can be your loop.  Hope this provides some help….

        • #69228
          Charlie Bursell
          Participant

            What version of Cloverleaf?  If you have the check_ack proc from recover_33 and are running 5.6 or 5.7 this would make sense since the global is ot set.

            Assuming you are on pre-5.6 then I would suggest you have not configured the send_OK proc and possibly not the resend proc.  The variable my_mh is set from a global in pre_5.6 and from OBMSGID in 5.6+

            I would suggest you contact Support with a copy of your NetConfig.

            Kieth:

            checkack has been used for years in thousands of interfaces with no problems.  If properly configured it does exactly what it is supposed to do.

            If indeed one does not want to resend after an AR response od check the ACK, then hcitpsmsgkill is the best option.

          • #69229
            Keith McLeod
            Participant

              Understood Charlie.  I don’t discount the value of a check ACK.  I was simply stating that I have come across versions that would resend the message over and over each time after being Negatively Acknowledged thereby creating an infinite loop.  They had no break value or condition defined to prevent this from happening.

            • #69230
              David Barr
              Participant

                Charlie Bursell wrote:

                What version of Cloverleaf?

              • #69231
                Troy Morton
                Participant

                  David,

                  Somewhere I have seen a pdl that will echo the entire message received as HEX in the process log.  This might help you diagnose what the application is sending you.  You could also try adding some echo statements in your check_ack program and save it to a different name called check_ack_debug and use that to try to track what is going on.

                  Troy

                • #69232
                  Jim Kosloskey
                  Participant

                    Troy,

                    No need for a special PDL or modification to the existing PDL, just turn the engine noise level up (EO Config). Set properly it will display the PDL message received or sent in a hex dump.

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

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