3 Replies Latest reply: Sep 16, 2013 8:27 AM by Todd Little-Oracle RSS

    How to disconnect pending/persistent connections

    user13587348

      Hello,

       

      I have a problem on my tuxedo server : i have every time pending connections (i cannot recognize them) that prevent other new client from connection to the server.

       

      This is the output of the pclt command :

       

      > pclt

      LMID    User Name  Client NameTimeStatus  Bgn/Cmmt/Abrt

      --------------- --------------- --------------- -------- ------- -------------

      dvdi89   apptux     JSH         0:14:43 IDLE0/0/0
      dvdi89   aptux     JSH         0:14:43 IDLE0/0/0
      dvdi89   aptux     JSH         0:14:43 IDLE0/0/0
      dvdi89   aptux     JSH         0:14:43 IDLE0/0/0
      dvdi89   aptux     JSH         0:14:43 IDLE0/0/0
      dvdi89   aptux     JSH         0:14:43 IDLE0/0/0
      dvdi89   aptux     JSH         0:14:43 IDLE0/0/0
      dvdi89   aptux     JSH         0:14:43 IDLE0/0/0
      dvdi89   aptux     JSH         0:14:43 IDLE0/0/0
      dvdi89   aptux     JSH         0:14:43 IDLE0/0/0
      dvdi89   aptux     JSH         0:14:43 IDLE0/0/0
      dvdi89   aptux     JSH         0:14:43 IDLE0/0/0
      dvdi89   aptux     JSH         0:14:43 IDLE0/0/0
      dvdi89   aptux     JSH         0:14:43 IDLE0/0/0
      dvdi89   aptux     JSH         0:14:43 IDLE0/0/0
      dvdi89   aptux     JSH         0:14:43 IDLE0/0/0
      dvdi89   aptux     JSH         0:14:43 IDLE0/0/0
      dvdi89   aptux     JSH         0:14:43 IDLE0/0/0
      dvdi89   aptuxJSH         0:14:43 IDLE0/0/0
      dvdi89   aptux     JSH         0:14:43 IDLE0/0/0
      dvdi89   aptux     JSH         0:14:43 IDLE0/0/0
      dvdi89   aptux     JSH         0:14:43 IDLE0/0/0
      dvdi89   aptux     JSH         0:14:43 IDLE0/0/0
      dvdi89   aptux     JSH         0:14:43 IDLE0/0/0
      dvdi89   aptux     JSH         0:14:43 IDLE0/0/0
      dvdi89   aptux     WSH         0:14:43 IDLE0/0/0
      dvdi89   aptux     WSH         0:14:43 IDLE0/0/0
      dvdi89   aptux     WSH         0:14:43 IDLE0/0/0
      dvdi89   aptux     WSH         0:14:43 IDLE0/0/0
      dvdi89   aptux     WSH         0:14:43 IDLE0/0/0
      dvdi89   aptux     tmadmin     0:01:57 IDLE0/0/0

       

       

      I have 3 JSL running :

      JSL -g 100 -i 100 -u dvdi89 -U /tmp/ULOG -m 0 -- -d /dev/tcp -m10 -M20 -x30 -n //dvdi89:20001

      JSL -g 100 -i 200 -u dvdi89 -U /tmp/ULOG -m 0 -- -d /dev/tcp -m5 -M5 -x5 -I30 -T60 -n //dvdi89:20002

      JSL -g 100 -i 300 -u dvdi89 -U /tmp/ULOG -m 0 -- -d /dev/tcp -m10 -M20 -x30 -I20 -n //dvdi89:20003

       

       

      and 1 WSL :

      exec WSL -- -d /dev/tcp -m5 -M5 -x30 -n //dvdi89:20004

       

      So, i need to have a way to connect my client app by disconnecting at least 1 of those GHOST client.

       

      Note : i tried to increase the -x swith for the concerned JSL but mysteriously, another connections take place immediately.

       

      1000 Thanks in advance.

        • 1. Re: How to disconnect pending/persistent connections
          Per Lindström

          Hi,

           

          what you see is actually perfectly normal. The JSL (and WSL) is only a point-of-entry for the clients, all "real" work is done by a JSH (WSH) process that the JSL (WSL) will redirect the client to.

           

          And these JSH (WSH) processes actually are native clients of your Tuxedo application, but special clients that are able to act as proxies for the "real" clients coming in from the network. Each of them can juggle a number of "real" clients, typically 10 but modifiable by the -x option (in your case 5 or 30 clients per JSH (WSH)). The JSL (WSL) is able to start new JSH (WSH) processes as needed if they become "fully occupied" but in your case you have specified that you want a minimum number oh JSH (WSH) processes started right away to ensure immediate availability of JSH (WSH) processes should a lot of network clients connect at the same time. The -m option specifies the minimum number of JSH (WSH) processes to keep, and as you've specified -m 10, -m5 and -m10 you'll never see less than 25 JSH "clients" connected to your application, plus 5 (-m5) WSH "clients".

           

          The problem is probably that you have either run out of MAXWSCLIENTS (a *MACHINES parameter in ubbconfig) or MAXACCESSERS (a *RESOURCES or *MACHINES parameter in ubbconfig), or both of them. What values do you have for these parameters? What error message(s) do you get when you try to connect with a "real" client?

           

          Hope this helps,

          /Per

          • 2. Re: How to disconnect pending/persistent connections
            user13587348

            Thank you very much

            *RESOURCES

            IPCKEY          123556

             

            MASTER          dvdsi829

            MAXSERVERS      1000

            MAXSERVICES     10000

            MAXACCESSERS    400

            MODEL           SHM

            LDBAL           Y

             

            #//////////////////////////////////////////////////////////////////////

            #                       CONFIGURATION

            #//////////////////////////////////////////////////////////////////////

            *MACHINES

            DEFAULT:

                            APPDIR="/users/plazil/bin"

                            TUXCONFIG="/users/plazil/reference/tuxconfig"

                            TUXDIR="/exec/products/tuxedo/v10.0"

                            ULOGPFX="/tmp/ULOG"

             

            dvdi89        LMID=dvdsi829

                            MAXWSCLIENTS=200

                            CMPLIMIT="1024,1024"

             

            cat ULOG.091113

            181710.dvdi89!JSH.10959.2684416144.-2: JOLT_CAT:1185: "INFO: Userid: [clipptux], Clientid: [webuser] timed out due to inactivity"

            181710.dvdi89!JSH.10959.2684416144.-2: JOLT_CAT:1198: "WARN: Forced shutdown of client; user name 'clipptux'; client name 'webuser'"

             

            Thank you.

            • 3. Re: How to disconnect pending/persistent connections
              Todd Little-Oracle

              Hi,

               

              Well machine dvdi89 is going to have a maximum of 200 clients allowed to be connected.   The actual number of users may be less depending upon how many servers you have.  As well, having MAXSERVERS above MAXACCESSERS doesn't make sense as other than the BBL and a few other administrative processes, every server counts against MAXACCESSERS.

               

              What symptom exactly are you seeing, because that ULOG entry just indicates that a client timed out, not that some limit was reached.  I'm pretty sure you'll get a ULOG entry that some limit such as MAXWSCLIENTS was reached if that is preventing someone from connecting.  With your current configuration of JSLs and WSLs, you'll be able to have at maximum

               

              600 Jolt clients connected to //dvdi89:20001

              25 Jolt clients connected to //dvdi89:20002

              600 Jolt clients connected to //dvdi89:20003

              150 Workstation clients connected to //dvdi89:20004

               

              If you have more than those trying to connect, the ones over those numbers will fail to be able to connect.  Are you seeing any other messages in the ULOG?  What error is the client getting when it can't connect and to which port is it trying to connect?

               

              Regards,

              Todd Little

              Oracle Tuxedo Chief Architect