1 Reply Latest reply: Aug 8, 2013 4:54 AM by Per Lindström RSS

    Why a reply is being sent to 2 different clients when using the Q Component?

    0be072be-755c-46ad-b6b3-5f6637b2a659

      I configured the qsample app with the following ubbconfig file:

       

       

       

      *RESOURCES

      ...

      MODEL     SHM

      ...

       

      *MACHINES

      <machine1> LMID=SITE1...

       

      *GROUPS

       

      GROUP1 LMID=SITE1 GRPNO = 1  TMSNAME= TMS   TMSCOUNT= 2

       

      QUE1  LMID= SITE1 

        GRPNO       = 2

        TMSNAME     = TMS_QM

        TMSCOUNT    = 2

        OPENINFO    = "TUXEDO/QM:APPDIR/QUE1:QSPACE"

       

      QUE2 LMID  = SITE1 

        GRPNO       = 3

        TMSNAME     = TMS_QM

        TMSCOUNT    = 2

        OPENINFO    = "TUXEDO/QM:APPDIR/QUE2:QSPACE"

       

      QUE3  LMID = SITE1 

        GRPNO       = 4

        TMSNAME     = TMS_QM

        TMSCOUNT    = 2

        OPENINFO    = "TUXEDO/QM:APPDIR/QUE3:QSPACE"

       

      *SERVERS

      #

      DEFAULT:  CLOPT="-A"

      server    SRVGRP  = GROUP1  SRVID   = 1

       

       

      TMQUEUE

        SRVGRP  = QUE1 

        SRVID   = 1

        GRACE   = 0 

        RESTART = Y

        CONV    = N

        MAXGEN  = 10

        CLOPT   = "-s QSPACE:TMQUEUE --  "

       

       

      TMQFORWARD

        SRVGRP  = QUE1

        SRVID   = 3

        GRACE   = 0

        RESTART = Y

        CONV    = N

        MAXGEN  = 10

        CLOPT   = "-- -i 0 -q STRING"

       

       

      TMQUEUE

        SRVGRP  = QUE2 

        SRVID   = 5

        GRACE   = 0 

        RESTART = Y

        CONV    = N

        MAXGEN  = 10

        CLOPT   = "-s QSPACE:TMQUEUE --  "

       

       

      TMQFORWARD

        SRVGRP  = QUE2

        SRVID   = 7

        GRACE   = 0

        RESTART = Y

        CONV    = N

        MAXGEN  = 10

        CLOPT   = "-- -i 0 -q STRING"

       

       

      TMQUEUE

        SRVGRP  = QUE3 

        SRVID   = 9

        GRACE   = 0 

        RESTART = Y

        CONV    = N

        MAXGEN  = 10

        CLOPT   = "-s QSPACE:TMQUEUE --  "

       

       

      TMQFORWARD

        SRVGRP  = QUE3

        SRVID   = 11

        GRACE   = 0

        RESTART = Y

        CONV    = N

        MAXGEN  = 10

        CLOPT   = "-- -i 0 -q STRING"

       

      *SERVICES

      # empty

       

      I also modified the client.c to use argv[1] as the argument to be passed to the server (as in simpapp). When I run the command `for i in {1..6}; do client hello$i & done`, I get some of the output `hello$i` repeated twice (e.g. hello5, twice).

       

      It looks like the TMQFORWARD server is giving the same output to 2 different clients. After that, a message in a RPLYQ is left out and I have to manually remove it. What could the problem be?

        • 1. Re: Why a reply is being sent to 2 different clients when using the Q Component?
          Per Lindström

          I would guess that one of TMQFORWARDS "clients" is actually aborting a transaction (and possibly also generating a message for the REPLYQ). When the transaction is aborted TMQFORWARD is (depending on the retry configuration for the queue) often supposed to make another try.

           

          I don't know the workings of the qsample app but it would be reasonable to assume that a transaction abort would be part of the scenario.

           

          Maybe you should run the application with TMTRACE=on in the environment. This will show you (in the ULOG) what goes on wrt transactions and other things.

           

          Hope this helps,

          /Per