Problems with msiAttach.

Clovertech Forums Read Only Archives Cloverleaf Cloverleaf Problems with msiAttach.

  • Creator
    Topic
  • #48138
    John Mercogliano
    Participant

      I’m attempting to run msiAttach from within a tps. Even though I’m using a catch statment, it still errors the first time the process starts. Not only that it changes the HciConnName global variable to “hcitcl”. If I stop/start the connection everything is back to normal but if i stop and start the process it errors. Here is the tps I used for testing:

      Code:

      proc tpsTestMSI { args } {
         keylget args MODE mode               ;# Fetch mode
         global HciConnName

         set dispList {} ;# Nothing to return

         switch -exact — $mode {
             start {
                 # Perform special init functions
         # N.B.: there may or may not be a MSGID key in args
      puts “In Start HciConnName is $HciConnName before MSIAttach”
      catch { [ msiAttach ] }
      puts “In Start HciConnName is $HciConnName after MSIAttach”
            }

             run {
         # ‘run’ mode always has a MSGID; fetch and process it
                 keylget args MSGID mh
                lappend dispList “CONTINUE $mh”
             }

             time {
                 # Timer-based processing
         # N.B.: there may or may not be a MSGID key in args
             }
             
             shutdown {
         # Doing some clean-up work
      }
         }

         return $dispList
      }

      This is the output after starting the process for the first time:

      In Start HciConnName is to_john before MSIAttach

      11/10/2005 14:01:42

      [msi :msi :ERR /0:      to_john] msiGlobalInit: Called more than once!

      In Start HciConnName is hcitcl after MSIAttach

      Notice the msi :ERR and the second puts is displaying hcitcl.

      This is the output after stopping and starting the connection only:

      In Start HciConnName is to_john before MSIAttach

      In Start HciConnName is to_john after MSIAttach

      I placed this tps in the outbound data tps section of the connection.  For testing this so that I can reproduce my problem I made a simple site with two connections and this was the only tps running.  

      I would appreciate it if anyone could reproduce this results or if anyone has an idea of why this is happening.

      I am running QDX(TM) Integration Services 5.2.1P2 US

      Thanks,

      John Mercogliano III

      Contractor, TekSystems

      Systems Integration

      Sentara Health Care

      John Mercogliano
      Sentara Healthcare
      Hampton Roads, VA

    Viewing 7 reply threads
    • Author
      Replies
      • #57794
        Rentian Huang
        Participant

          We have a similar tps but was placed inside the “Read TPS” of an IB thread, which was defined as PROTOCOL:upoc. It works fine without any error.

          Since you are place it in the OB data tps and get this error, msiGlobalInit: Called more than once!, is it possible that at some point msiAttach was called?

          my 2 cents..

        • #57795
          John Mercogliano
          Participant

            Unless quovadx is running it on it’s own, I’m sure there is no way I’m calling it.  I’ve created an empty site and this is the only tps being called.  I’ll try and call it from my inbound tps and see if I get differnet results.

            John Mercogliano
            Sentara Healthcare
            Hampton Roads, VA

          • #57796
            Jim Kosloskey
            Participant

              If you have started the engine, then MsiAttach was started.

              The engine gets it’s stats for the status display the same place you are getting them from and so needs to attach to the shared memory.

              I think the error you are seeing is really an advisory simply telling you the region is already active.

              I normally do a catch for the MsiAttach simply so that I can control the issuance of the ‘advisory’ and still assure I get connected in case the region is not active when I start. I do not take any extraordinary action when the catch happens as I am still going to get my stats.

              I don’t know if you are aware you can get msi stats from a command line Tcl proc.

              Jim Kosloskey

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

            • #57797
              John Mercogliano
              Participant

                Rentian,

                I moved it to the tps inbound data and I also tried to run it from the startup proc for the protocal and changing the protocal from tcp to upoc and I still get the same problems.  Could you tell me what version of quovadx you are using?

                Thanks for the input

                John Mercogliano III

                Contractor, TekSystems

                Systems Integration

                Sentara Health Care

                John Mercogliano
                Sentara Healthcare
                Hampton Roads, VA

              • #57798
                Rentian Huang
                Participant

                  We are runing QDX 5.2.1P2 on AIX. This can be an issue to be addressed to Quovadx.

                • #57799
                  Jonathan Hamilton
                  Participant

                    It looks like it’s a bug.  I just verified it’s also a problem in qdx5.3 Rev.3 on AIX.

                    Code:

                           start {

                               echo $HciConnName

                               echo [catch {msiAttach}]

                               echo $HciConnName

                           }

                    Log:

                    adt_smrt_out

                    11/11/2005 09:10:29

                    [msi :msi :ERR /0: adt_smrt_out] msiGlobalInit: Called more than once!

                    0

                    hcitcl

                  • #57800
                    John Mercogliano
                    Participant

                      Jim thanks for the reply, I plan on placing a call with quovadx.  The problem I’m experiencing is that only when I start a site, it appears that qdx is ignoring the catch command and I’m seeing the error in the log. Also, if I don’t try and run the msiAttach, none of the other msi commands work.  The error would not be so bad but when msiAttach errors on startup, it changes the HciConnName for the connection to hcitcl, so I’m concerned with what else it could be corrupting.  This also appears to be a per process problem and not a connection problem as I can attatch this tps to multiple connections and only the first time it is run does the error and connection name change happen.

                      Thanks again

                      John Mercogliano
                      Sentara Healthcare
                      Hampton Roads, VA

                    • #57801
                      John Mercogliano
                      Participant

                        Jonathan,

                          Thanks, at least now I know I’m not crazy 😀 Although this one instance might not be a good benchmark to measure my sanity.

                        John Mercogliano
                        Sentara Healthcare
                        Hampton Roads, VA

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