Details
-
Feature
-
Status: Dismissed (View Workflow)
-
Minor
-
Resolution: Works as designed
-
1.12.8
-
None
Description
Current Situation
- When two or more Agent instances are running on the same server then the Agents read the same ./lib/log4j.xml configuration.
- The log4j files has configuration ${java.io.tmpdir}/jade-client.log file, which creates the_ jade-client.log_ file at ${java.io.tmpdir} directory.
- As a result, multiple instances of YADE JITL job are writing to the same log file.
- Also if a user wants to configure the log location or temp directory on a per Agent basis, it's not possible. According to KB article How do you change the directory JobScheduler uses for temporary files If a user tries to configure as JAVA_OPTIONS JAVA_OPTIONS="-Djava.io.tmpdir=/tmp/agentA in ./bin/jobscheduler_agent_instance.sh script, it does not have any effect, the Agent does not read this java.io.tmpdir parameter.
Desired Behavior
- The temp directory for should be configurable per agent basis in the ./bin/jobscheduler_agent_instance.sh script.
Maintainer Note
- There are already all possibilities to assign Java options per Agent or per Job.
- Settings can be made in the instance script ./bin/jobscheduler_agent_[port].sh for each Agent instance separately.
- The environment variable JAVA_OPTIONS only determines the Java options of the Agent and not the Java options of the Jobs.
- If you set JAVA_OPTIONS="-Djava.io.tmpdir=/path/to/myDir" then you will see that the Agent also uses this temporary directory, because e.g. temporary files are created there by the Agent.
- Since
JS-1751the environment variable SCHEDULER_JOB_JAVA_OPTIONS was introduced in the Agent's instance script, with which the Java options of all jobs can be set which are processed by the Agent instance.- Here -Djava.io.tmpdir=/path/to/myDir has to be set to be considered by the logger of the JITL jobs such as YADE job.
- You can also set Java options per Job with
<job process_class="myAgent" java_options="-Djava.io.tmpdir=/path/to/myDir"> <params /> <script language="java:javascript"> <![CDATA[ function spooler_process(){ spooler_log.info(java.lang.System.getProperty("java.io.tmpdir")); return false; } ]]> </script> <run_time /> </job>
Attachments
Issue Links
- requires
-
JS-1751 Agent start script should consider -job-java-options command line option
- Released