User Community Service Desk Downloads
If you can't find the product or version you're looking for, visit support.ataccama.com/downloads

JVM Configuration

As a Java application, ONE Runtime Server is subject to the Java Virtual Machine settings.

When using ONE Runtime Server in server mode, these parameters are passed in the <ATACCAMA_HOME>/bin/onlinectl.[bat|sh] script. See How to Start or Stop the Server.

When using ONE Runtime Server in batch mode, these parameters are passed in the <ATTACAMA_HOME>/bin/runcif.[bat|sh] script. See Run Plans from the Command Line.

Memory management

The following settings ensure ONE Runtime Server has enough memory to run memory-intensive plans and prevent java.lang.OutOfMemoryError errors.

Parameter Description

-Xms<number><unit>

Sets the memory allocated to the Java heap on startup.

Example: Use -Xms1024m or -Xms1g to set the initial heap size to 1024 MB (1 GB).

-Xmx<number><unit>

Sets the maximum memory that can be allocated to the Java heap. Useful in case of the java.lang.OutOfMemoryError: Java heap space error.

Example: Use -Xmx4096m or -Xmx4g to set the maximum heap size to 4096 MB (4 GB).

-XX:PermSize<number><unit>

(Java 7 and older) Sets the size of permanent generation on startup.

-XX:MaxPermSize<number><unit>

(Java 7 and older) Sets the maximum size of permanent generation. Useful in case of the java.lang.OutOfMemoryError: PermGen error.

-XX:+HeapDumpOnOutOfMemoryError

Instructs Java to generate a heap dump when memory allocation is not possible and an OutOfMemory exception is thrown.

-XX:HeapDumpPath=<path to dump file>

Provides instructions to Java about where to save the heap dump.

Garbage Collector settings

The Java Garbage Collector (GC) is an out-of-the-box program within the Java Virtual Machine that automatically deallocates unused objects from memory. The following are the some of the settings for choosing the GC strategy and debugging problems with garbage collection related to ONE Runtime Server.

Parameter Description

-XX:+UseG1GC

Instructs Java to use the G1 Garbage Collector. G1 GC is the recommended option for applications that need to run with as little interruption as possible: web services and web applications (for example, using ONE Runtime Server in the server mode). G1 GC is targeted at powerful multi-processor machines with large amounts of memory. See Getting Started with the G1 Garbage Collector for more information.

-XX:-UseParallelGC

Instructs Java to use the parallel garbage collection strategy, which ensures high throughput at the cost of lower latency (because of longer pauses) and is generally recommended for large batch jobs. Parallel GC is the default GC strategy in Java 7 and 8.

-XX:+PrintGC

Outputs information about heap size reduction and the time it took to achieve.

-XX:+PrintGCDetails

Ouputs detailed information about reduction in young, old, and perm size generation to GC logs.

-XX:+PrintGCTimeStamps

Adds the time passed since the JVM start to each line of GC logs.

-XX:+PrintGCDateStamps

Adds a full timestamp to each line of GC logs.

-Xloggc:<file>

Writes GC logs to a file instead of the console, for example, -Xloggc:"../server/logs/GC.log".

-XX:+UseGCLogFileRotation
   -XX:NumberOfGCLogFiles=<number of files>
   -XX:GCLogFileSize=<size>

Enables GC log rotation:

  • <number of files>: The maximum number of logs.

  • <size>: The size of the file (for example, 16K is 16 kilobytes, 128M is 128 megabytes, and so on). Rolled files are appended with .<number>, where the smaller the number, the older the file. Applicable for Oracle Java (1.6_34, 1.7, or newer).

Java temporary folder

The setting -Djava.io.tmpdir=<path> defines the path to the Java temporary folder, which stores the data during plan execution.

Changing the temporary folder might be useful when the user running ONE Runtime Server does not have permission to access the current temporary folder location or when there is not enough memory on the partition with the temporary folder.

On Windows, the default temporary folder reflects the value of the TMP or TEMP environmental variables. On Linux, the default temporary folder is usually /tmp or /var/tmp.

Authentication

Parameter Description

-Dmail.smtp.auth=true

Enables SMTP authentication. Use to enable sending email notifications when executing a plan (Sendmail step) or workflow (Send Mail workflow task) from a SMTP server secured with TLS/SSL.

mail.smtp.starttls.enable=true

Directs the Identity Manager Server to use SSL to communicate to SMTP.

mail.smtp.ssl.protocols=TLSv1.2

Specifies the SSL protocols that will be enabled for SSL connections. The property value is a whitespace-separated list of tokens acceptable to the javax.net .ssl.SSLSocket.setEnabledProtocols method.

Debugging

Parameters for debugging on several records. For more information about logging, see Logging Configuration.

Parameter Description

-Dsql.monitorPerformance=true

Logs the query in the SQL Select and SQL Execute steps. Useful when the query is parametrized.

-Dconnector.showDDL=true

Logs the DDL expressions executed by the plan.

-Djavax.net.debug=all

Logs the SSL connection details.

Disable trimming space characters in string columns

ONE Runtime Server automatically trims leading and trailing space characters from all records when profiling. Space characters can be preserved by adding the following parameter.

Parameter Description

-Dengine.trimStringValues=false

Turns off removing leading and trailing space characters in STRING columns.

When space trimming is enabled, records that consist of only space characters are treated as NULL values because empty strings are handled as NULL on the Ataccama platform.

Was this page useful?