Contents Index

3.15 Java Support Installation

Compiled Java programs may be executed (under HTCondor) on any execution site with a Java Virtual Machine (JVM). To do this, HTCondor must be informed of some details of the JVM installation.

Begin by installing a Java distribution according to the vendor’s instructions. Your machine may have been delivered with a JVM already installed – installed code is frequently found in /usr/bin/java.

HTCondor’s configuration includes the location of the installed JVM. Edit the configuration file. Modify the JAVA entry to point to the JVM binary, typically /usr/bin/java. Restart the condor_startd daemon on that host. For example,

% condor_restart -startd bluejay

The condor_startd daemon takes a few moments to exercise the Java capabilities of the condor_starter, query its properties, and then advertise the machine to the pool as Java-capable. If the set up succeeded, then condor_status will tell you the host is now Java-capable by printing the Java vendor and the version number:

% condor_status -java bluejay

After a suitable amount of time, if this command does not give any output, then the condor_starter is having difficulty executing the JVM. The exact cause of the problem depends on the details of the JVM, the local installation, and a variety of other factors. We can offer only limited advice on these matters, but here is an approach to solving the problem.

To reproduce the test that the condor_starter is attempting, try running the Java condor_starter directly. To find where the condor_starter is installed, run this command:

% condor_config_val STARTER

This command prints out the path to the condor_starter, perhaps something like this:

/usr/condor/sbin/condor_starter

Use this path to execute the condor_starter directly with the -classad argument. This tells the starter to run its tests and display its properties.

/usr/condor/sbin/condor_starter -classad

This command will display a short list of cryptic properties, such as:

IsDaemonCore = True  
HasFileTransfer = True  
HasMPI = True  
CondorVersion = "$CondorVersion: 7.1.0 Mar 26 2008 BuildID: 80210 $"

If the Java configuration is correct, there will also be a short list of Java properties, such as:

JavaVendor = "Sun Microsystems Inc."  
JavaVersion = "1.2.2"  
JavaMFlops = 9.279696  
HasJava = True

If the Java installation is incorrect, then any error messages from the shell or Java will be printed on the error stream instead.

Many implementations of the JVM set a value of the Java maximum heap size that is too small for particular applications. HTCondor uses this value. The administrator can change this value through configuration by setting a different value for JAVA_EXTRA_ARGUMENTS .

JAVA_EXTRA_ARGUMENTS = -Xmx1024m

Note that if a specific job sets the value in the submit description file, using the submit command java_vm_args, the job’s value takes precedence over a configured value.

     Contents Index