Topic
11 replies Latest Post - ‏2013-12-18T14:40:50Z by Kumaraswamy M
luclm
luclm
6 Posts
ACCEPTED ANSWER

Pinned topic web service configuration ?

‏2013-12-05T18:55:53Z |

Hello,

I don't understand the behavior of the web serveur concerning  the RPE license availability... I am using RPE 1.2 (1.2.0 or 1.2.0.1)  

When I add a new job to execute, and if the number of licenses is reached on the distant machine, the new job is aborted and I have to recreate again the job. It seems that the "queue" concept is not used.

Am I wrong somewhere ? is there some configuration to do ? I have not seen in the documentation any "maxConcurrency" feature as in the 1.1 version. 

Regards

Luc

 

  • Dragos.Cojocari
    Dragos.Cojocari
    1606 Posts
    ACCEPTED ANSWER

    Re: web service configuration ?

    ‏2013-12-06T10:26:43Z  in response to luclm

    Hey Luc,

     

    the concurrency limit in RPE is meant to limit the number of concurrent docgens so that RPE's remote docgen does not deplete the CPU. This functionality only takes into account the limit defined by the admin and the number of running processes and not the number of available licenses.

    The RPE webservices work like this:

    • a request for a new docgen comes  from a client
    • if the number of current docgens is higher or equal to the limit defined by "com.ibm.rational.rpe.docgen.concurentlimit" the request is queued
    • if the number of current docgens is lowed than the limit defined by "com.ibm.rational.rpe.docgen.concurentlimit" a new docgen process is started. This process will try to check out  a license and if that fails the process is aborted

    But what you describe is a valid scenario for which we added the license retry functionality in RPE 1.2.1. See the "com.ibm.rational.rpe.license.attempts.count" and "com.ibm.rational.rpe.license.retry.timeout" in the "Available remote flags" twistie in http://pic.dhe.ibm.com/infocenter/rpehelp/v1r2m1/index.jsp?re=1&topic=/com.ibm.rational.pe.install.doc/topics/t_flags_remote_tomcat.html&scope=null

    So with these flags in place the process becomes

    • a request for a new docgen comes  from a client
    • if the number of current docgens is higher or equal to the limit defined by "com.ibm.rational.rpe.docgen.concurentlimit" the request is queued
    • if the number of current docgens is lowed than the limit defined by "com.ibm.rational.rpe.docgen.concurentlimit" a new docgen process is started. This process will try to check out  a license and if that fails the process will sleep for "com.ibm.rational.rpe.license.retry.timeout" ( to give a chance for other processes to end and return a license) and then retry the license checkout. This process is repeated until a license is acquired or the number of retries exceeds the value defined by "com.ibm.rational.rpe.license.attempts.count"

     

    Regards,

        Dragos

     

    • luclm
      luclm
      6 Posts
      ACCEPTED ANSWER

      Re: web service configuration ?

      ‏2013-12-06T15:29:40Z  in response to Dragos.Cojocari

      Hi Dragos,

      Thanks for the information. I add some parameter to my tomcat service, in the registry key  HLM/Sofwtare/Apache.../Procrun 2.0/Tomcat/Parameters/Java,  mainly -Dcom.ibm.rational.rpe.docgen.concurentlimit=1 and restart the server.

      But it seems not to work ... I have a job already executing, and when added a new one, it tried immediately to run and abort because of the missing licence (limited also to 1). I don't understand what's wrong, according your information (I am using 1.2.0.1 and not 1.2.1, so no retry feature ...)

      I join a file showing my configuration.

      Best regards,

      Luc

       

       

       

      Attachments

      • Dragos.Cojocari
        Dragos.Cojocari
        1606 Posts
        ACCEPTED ANSWER

        Re: web service configuration ?

        ‏2013-12-10T13:39:28Z  in response to luclm

        Hey Luc,

         

        there is a typo in the documentation. The flag is "com.ibm.rational.rpe.docgen.concurrentlimit" ( double r) and not "com.ibm.rational.rpe.docgen.concurentlimit"

         

        Please use the double r version and you should  see the expected behavior.

         

        Regards,

            Dragos

        • luclm
          luclm
          6 Posts
          ACCEPTED ANSWER

          Re: web service configuration ?

          ‏2013-12-10T17:29:36Z  in response to Dragos.Cojocari

          Hi Dragos,

          Thanks for your point . Effectivelly the behavior is now better, and the  new jobs are added to the queue  ... but I have still an issue: even if previous jobs are terminated or deleted, the queued jobs never start ...

          I have checked that in fact the  RPE license is not released even afetr aborted and deleted the running job.

          Also, after reboot of the server, to be sure that the licence is release, the jobs continue to be in the queue and are not starting ... (I am continue to use 1.2.0.1) 

          some ideas ?

          Best regards,

          Luc

          • Dragos.Cojocari
            Dragos.Cojocari
            1606 Posts
            ACCEPTED ANSWER

            Re: web service configuration ?

            ‏2013-12-11T10:28:24Z  in response to luclm

            Hey Luc,

             

            can you upload the tomcat logs?

             

            Regards,

                Dragos

            • luclm
              luclm
              6 Posts
              ACCEPTED ANSWER

              Re: web service configuration ?

              ‏2013-12-13T15:09:59Z  in response to Dragos.Cojocari

              Hi Dragos,

              Here the tomcat logs. After a reboot of the VM, the job is still in queue and is not starting.

              Regards,

              Luc

               

              Attachments

              • Kumaraswamy M
                Kumaraswamy M
                231 Posts
                ACCEPTED ANSWER

                Re: web service configuration ?

                ‏2013-12-17T05:50:21Z  in response to luclm

                Hi Luc,

                The attached log doesn't help much. Please perform the following steps to log more details.

                1. Stop tomcat server

                2. Copy the attached files under %tomcat_home%\webapps\rpews\WEB-INF\classes

                3. Start tomcat server

                Once you replicate the issue again, please share %tomcat_home%\temp\RPE\rpews.log. Also attache tomcat*stdout*.log and tomcat*stderr*.log.

                 

                Thanks,

                Kumar

                • luclm
                  luclm
                  6 Posts
                  ACCEPTED ANSWER

                  Re: web service configuration ?

                  ‏2013-12-17T10:31:08Z  in response to Kumaraswamy M

                  Hi,

                  Today I make again the test after having restart the server and deleted the old jobs. 

                  Here the sequence of actions:

                  - send a job, that will take some time to execute, it's running

                  - send the same job again, it's in queue

                  - after some time, I cancel the first job - status is cancelling , but never cancelled ...

                  - I delete the job

                  - the other job is still in queue, but not starting

                  - the RPE_PUBLISH licence taken by the deleted job is not released (there is only one licence available on the server)

                  I join screendumps and log files in the attached word file

                  Regards,

                  luc

                  Attachments

                  • Kumaraswamy M
                    Kumaraswamy M
                    231 Posts
                    ACCEPTED ANSWER

                    Re: web service configuration ?

                    ‏2013-12-17T13:11:00Z  in response to luclm

                    Hi Luc,

                    Please try the following scenario

                    - restart tomcat server

                    - start document generation job A (which takes around a minute to complete)

                    - start document generation job B

                    - Let job A run to completion... job B should be in queue until then

                    Let me know the results.

                     

                    Thanks

                    Kumar

                    • luclm
                      luclm
                      6 Posts
                      ACCEPTED ANSWER

                      Re: web service configuration ?

                      ‏2013-12-18T14:00:32Z  in response to Kumaraswamy M

                      Hi,

                      Finally I have now a satisfying behavior of my web service. It seems that you may have trouble on the job management when for exemple a job take a long time to execute, or when a job is "blocked" in case of error. In these conditions cancelling/deleteing  the job will not release the licence, and the service is blocked. This is probably the explanation of my previous issue. Also I have seen that is some conditions, a job in the queue may be aborted because of a missing licence, there is some critical section bafore the execution of the job, where the licence is expected to be OK but it finally not when running.

                      regards,

                      Luc

                      • Kumaraswamy M
                        Kumaraswamy M
                        231 Posts
                        ACCEPTED ANSWER

                        Re: web service configuration ?

                        ‏2013-12-18T14:40:50Z  in response to luclm

                        Hi Luc,

                        Good to know that it worked in positive scenario.

                        >>> It seems that you may have trouble on the job management when for exemple a job take a long time to execute, or when a job is "blocked" in case of error. In these conditions cancelling/deleteing  the job will not release the licence, and the service is blocked.

                        When a job is killed it doesn't get killed immediately. For eg, if RPE document generation has reached a point where it is reading data from CLM / DOORS / etc, killing the job doesn't get killed immediately. The job gets killed once the data is retrieved and the control is back on RPE side. There are few other such cases as well. May be you hit one of those cases.

                         

                        Thanks,

                        Kumar