Uploaded image for project: 'JS - JobScheduler'
  1. JS - JobScheduler
  2. JS-1748

Different JAVA options in factory.ini for JobScheduler process and other process

    XMLWordPrintable

Details

    • Feature
    • Status: Released (View Workflow)
    • Minor
    • Resolution: Fixed
    • 1.9.12, 1.10.8, 1.11.4
    • 1.9.13, 1.11.5, 1.12
    • None
    • None

    Description

      Current Situation

      1. Users can face out-of-memory errors raised by the Java Virtual Machine. This can be due to the fact that a JVM 1.8 will by default assign a share of the available memory to each job. Frequently this share is too high and should be adjusted by use of Java options. Find details from the How to manage the Java heap space article.
      2. Java options are applied to:
        1. All jobs with JobScheduler Master using Java/JavaScript as programming/script language.
        2. All jobs with JobScheduler Master that use pre- or post-processing monitors in Java or JavaScript.
        3. The JobScheduler Master main process.
        4. Command line call to the JobScheduler start script bin/jobscheduler.sh status jobs
        5. All jobs with JobScheduler Agent that use the same languages as 2.1 and 2.2
      3. There are three levels at which Java options are available:
        1. Master
          1. Globally for the Master instance and for all jobs with the the following entry in ./config/factory.ini:
            [java] 
            options = 
            
          1. Globally for all jobs with the command line option -job-java-options.
            • Example: The parameter -job-java-options=-Xmx64m can be set as an environment variable SCHEDULER_START_PARAMS with the ./bin/jobscheduler_environment_variables.sh script.
            • This parameter is applied to the jobs executed on JobScheduler Master, it is not forwarded to jobs executed with Agents.
              SCHEDULER_START_PARAMS="$SCHEDULER_PARAMS  \"-pid-file=$SCHEDULER_PID\" \"-job-java-options=-Xmx64m\""
              
          1. On a per job basis with the <job java_options="..."/> attribute.
        1. Agent
          1. Globally for the Agent instance with the JAVA_OPTIONS environment variable that can be set with the Agent instance start script.
          2. Globally for all jobs with the command line option -job-java-options, see 3.2 and JS-1751.
          3. Settings on a per job basis are forwarded by the Master to the Agent, see 3.3.

      Desired Behavior

      • Desired behavior for above points 2.1, 2.2:
        • Java settings that can be specified from the -job-java-options command line option should in addition be configurable as job_options setting with the [java] section from ./config/factory.ini.
      • Desired behavior for above point 2.3:
        • The behavior remains unchanged, i.e. the options setting with the [java] section from ./config/factory.iniĀ  is applied to the Master instance.
      • Desired behavior for above point 2.4:
        • Java settings should be considered for command line use: for jobscheduler.sh --send-cmd Java options should be applied. This functionality will be provided with JS-1750 and is out-of-scope of this issue.
      • Desired behavior for above point 2.5:
        • Java settings should be considered for jobs with Agents. This functionality will be provided with JS-1751 and is out-of-scope of this issue.

      Workaround

      • For Java options that should be applied to jobs with the Master use the solution explained with 3.2

      Attachments

        Issue Links

          Activity

            People

              jz Joacim Zschimmer
              mp Mahendra Patidar
              Mahendra Patidar Mahendra Patidar
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: