Killing in Write TPS UPoC

Clovertech Forums Read Only Archives Cloverleaf Cloverleaf Killing in Write TPS UPoC

  • Creator
    Topic
  • #49213
    Daniel Lee
    Participant

      I have an outbound upoc thread that is using ODBC to write to a MS SQL db in the Write TPS.  We’re trying to kill the message if the thread can not connect to the database.  The Cloverleaf docs say that KILL is a valid disposition from Write TPS but every time we try the engine says

      Quote:

      Unsupported disposition from protocol write TPS: KILL

      .

      When there is a failure or some type of connectivity problem the engine resends the messages to all outbound threads in that process instead of just letting us kill the message in that thread.  This results in the message being sent multiple times to other outbound threads in this process.

      Does anyone know a way to deal with the message in the Write TPS?

    Viewing 7 reply threads
    • Author
      Replies
      • #61119
        Bill Bertera
        Participant

          I believe “CONTINUE” will give you the functionality as KILL in a write Upoc.

        • #61120
          Steve Robertson
          Participant

            I have to disagree with Bill. The CONTINUE disposition will leave the message in Cloverleaf’s recovery database, where it will reside for eternity. Or until you delete it.

            Here is how I kill a message in a write UPoC:

            lappend dispList “KILL $mh”

            mh is the message handle. The kill needs to be in double quotes. The dispList is returned to Cloverleaf and the proc is exited using this statement:

            return $dispList

          • #61121
            Daniel Lee
            Participant

              Steve,

              We’ve tried killing this message but the engine is telling us that kill is an unsupported disposition for a write TPS protocol.  If you are correct about the continue leaving the message in the recovery database it would explain why this thread ends up panicking the thread.

            • #61122
              Steve Robertson
              Participant

                Daniel,

                So maybe Cloverleaf doesn’t support killing a message on a PROTOCOL: upoc? Do you have to use PROTOCOL: upoc?

                Maybe the problem is the way you have the thread set up. I went back to check my threads that use ODBC to write to the database, then kill the message. Mine are set up as PROTOCOL: file, even though I’m not writing to a file. I specifiy my tcl proc (the one that does the ODBC stuff and kills the message) in the TPS Outbound Data field on the Outbound tab.

                Give that a try.

                Best regards,

                Steve Robertson

                Team Health, Inc.

              • #61123
                Charlie Bursell
                Participant

                  Sorry Steve, I have t disagree with you  ðŸ™‚

                  In a Write UPoC driver, CONTINUE and KILL accomplish the same thing.

                  From Page 250, Cloverleaf

                • #61124
                  Steve Robertson
                  Participant

                    Charlie,

                    I see where I’m in error – In the original post, I missed that the thread was set up as PROTOCOL: upoc. My threads that do something similar are set up as PROTOCOL: file (even though I’m not writing to a file) and the tcl proc is invoked on the Outbound tab. The KILL/CONTINUE will act differently in this case.

                    Steve

                  • #61125
                    Steve Robertson
                    Participant

                      Daniel,

                      I just thought of something else: If you set up your thread like I suggest (PROTOCOL: file), the tcl proc that writes to ODBC will have to kill ALL messages, even the ones that go to the database successfully. If you don’t kill them all, they will fill up the Cloverleaf recovery database.

                      Steve

                    • #61126
                      Daniel Lee
                      Participant

                        Thanks for clearing that up guys.  We may try using a file interface anyway.  The main reason is because we want to be able to error the message if there’s a problem and the write upoc isn’t allowing us to do that.

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