Java VM Options

Applies to Collaborator 13.5, last modified on December 21, 2021

This topic describes some of the most frequently used Java Virtual Machine options.

VM Options Files

You can find the options for the Java Virtual Machine in the .vmoptions files that are located in Collaborator install folder. The file name corresponds to the name of the appropriate executable file.

For server the path will be: <Collaborator Server>/ccollab-server.vmoptions

For command-line client the path will be: <Collaborator Client>/ccollab.vmoptions 

For GUI client the path will be: <Collaborator Client>/ccollabgui.vmoptions 

You must restart the Collaborator server or client before these settings take effect.

File Format

To specify Java system properties that will be available to Collaborator, use this syntax:

-Dvariable_name=value

The last line in the .vmoptions files must be empty, that is, you must enter a new line after the last line with data.

Collaborator Server Properties

com.smartbear.ccollab.binary.converter.threads

The maximum number of threads allocated to convert binary documents into images for review. This value must be a positive integer. Default is 4.

com.smartbear.ccollab.license.noperiodicupdate

If set to a non-blank value, this property prevents the Collaborator server from checking for license updates.

com.smartbear.collab.datamodel.activity.update.interval

The number of seconds to wait for user activity requests in order to update user's time in review. Collaborator server queries for review activity every 15 seconds and updates the time counter if any of these requests were successful during time interval specified by this VM option. Default value is 60 seconds. Minimal allowed value is 16 seconds (values lesser then 16 seconds will be increased to 16 seconds automatically). To disable time tracking of user activity, set this VM option to 0.

com.smartbear.ccollab.datamodel.drift.disable

A Boolean setting (values: true/false) to disable in-product chat for trial users.

com.smartbear.ccollab.notification.max.retry.interval

The number of milliseconds to wait between attempts to connect to the SMTP server.

com.smartbear.server.email.max.num.per.execution

The maximum number of e-mails sent during a single check up for stalled reviews and reviews approaching deadline. Default is 100.

com.smartbear.server.sso.disable

A Boolean setting (values: true/false) to disable SAML or Crowd single sign-on authentication.

com.smartbear.server.disable.comments

A Boolean setting (values: true/false) to disable comments in review materials. If enabled, only defects can be added. Default is false.

com.smartbear.database.longquerythreshold

The time in milliseconds to allow database queries to run before logging a warning message. This is used to help debug bottlenecks and characterize the behavior of complex queries such as those used by the custom reports system. Default is 2000 milliseconds.

com.smartbear.collab.datamodel.remotesystem.cache.size

In order to decrease number of calls to repository hosting servers, Collaborator caches some of the most often retrieved entities from APIs (commits, pull request diffs, commit diffs). This setting specifies the number of entries to keep in cache for each of the remote systems. Default is 20000. To disable caching, set this option to 0.

com.smartbear.collab.datamodel.remotesystem.api.client.retry.seconds

The time in seconds to wait before trying to re-connect when the remote repository server is not accessible. Can have values from 1 to 30. Default is 1.

If the remote repository server is still not accessible, Collaborator will retry to connect in increasing time intervals until the remote server responds or until the maximal number of attempts is reached. Wait time is increased with each attempt: wait_time*1, wait_time*2, wait_time*3 and so on.

If the server did not respond after all attempts, Collaborator will mark the respective webhook as inactive and put an exception to remoteSystem.log

com.smartbear.collab.datamodel.remotesystem.api.client.retry.attempts

The maximal number of attempts to re-connect when the remote repository server is not accessible. Can have values from 1 to 5. Default is 3.

com.smartbear.collab.datamodel.remotesystemitem.update.interval

The time in milliseconds to wait between updating remote system item statuses. For those remote systems which do not support webhooks. Default is 120000 milliseconds.

com.smartbear.collab.datamodel.remotesystem.issuemeta.update.interval

The time in milliseconds to wait for issue creation meta info from the remote issue-tracker. Default is 60000 milliseconds.

com.smartbear.collab.datamodel.remotesystem.bitbucketserver.api.delay

The time in milliseconds to wait between pull request update and a call to Bitbucket server API. Default is 5000 milliseconds.

com.smartbear.collab.datamodel.remotesystem.socket.timeout

Specifies the timeout (in milliseconds) of the remote system connection when updating remote system item statuses. Default is 3000 milliseconds.

com.smartbear.collab.database.search.review

Specifies the preselected search scopes for reviews in the Oracle database. Can be empty (no preselected scopes), or can contain any combination of the following comma-separated values:

  • id - Search for substring matches among review identifiers.
  • title - Search for substring matches among review titles.
  • creator - Search for substring matches among review creators.
  • reviewCustomFields - Search for substring matches in review custom fields.
  • checklistCustomFields - Search for substring matches in checklist custom fields.
  • participantCustomFields - Search for substring matches in participant custom fields.

com.smartbear.collab.database.search.changelist

Specifies the preselected search scopes for changelists in the Oracle database. Can be empty (no preselected scopes), or can contain any combination of the following comma-separated values:

  • comment - Search for substring matches in changelist comments.
  • author - Search for substring matches among changelist authors.
  • scmIdentifier - Search for substring matches among changelist identifiers.

com.smartbear.collab.database.search.file

Specifies the preselected search scopes for files in the Oracle database. Can be empty (no preselected scopes), or can contain the fileName value to preselect a search scope for substring matches in filenames.

com.smartbear.collab.database.search.defect

Specifies the preselected search scopes for defects in the Oracle database. Can be empty (no preselected scopes), or can contain any combination of the following comma-separated values:

  • text - Search for substring matches in defect descriptions.
  • customFields - Search for substring matches in defect custom fields.

com.smartbear.collab.database.search.comment

Specifies the preselected search scopes for comments in the Oracle database. Can be empty (no preselected scopes), or can contain the conversations value to preselect a search scope for substring matches in review comments.

com.smartbear.collab.enable_statistics

Specifies whether Collaborator server should collect and send usage statistics to SmartBear. To learn about our privacy policy, visit https://smartbear.com/privacy/.

com.smartbear.diff.cache.maxentries.memory

The number of entries allowed in the diff cache. The size of any given entry can vary significantly, but this tuning parameter provides a rough mechanism for tuning the cache size. Default is 2000.

com.smartbear.diff.image.conversion.framework

Switches between Aspose.Total and Apache PDFBox frameworks for converting new documents into images. Possible values are: ASPOSE and APACHE. Default is APACHE.

Applies when converting Word processing documents, PDFs, presentations and vector graphics.

com.smartbear.diff.image.resolution.scale

The resolution scale of converting documents into images displayed in DiffViewer. Default is 162.

We do not recommend changing this option unless DiffViewer has troubles displaying small characters, diagrams or documents look blurry. In this case, to get clear images, you will need to increase the resolution scale, restart Collaborator server and clear browser cache.

Applies when converting Word processing documents, PDFs, presentations and vector graphics.

com.smartbear.lines.cache.size

The maximum size of the parse lines cache. Values should be a memory size in kilobytes or megabytes indicated by the case-insensitive suffixes "k" and "m" respectively. For example, 20 megabytes could be indicated by "20m" or "20M". Default value is 5 megabytes.

com.smartbear.web.debug.max.log.entries

The maximum number of entries in the client log file which is enabled by Capture Debugging Log. The default value is 160000 which results in a log file that is approximately 50MB.

smartbear.appstate.period

The delay, in milliseconds, between runs of the application state recorder. The state recorder periodically writes information about the state of the application into the database for future trend analysis. Default is 15 minutes.

smartbear.appstate.startup.delay

The delay, in milliseconds, before the application state recorder starts. Delaying the application state recorder allows the application initialization process to complete before anything is written to the database. Default is 5 minutes.

smartbear.chat.request.limit

The maximum number of chat update requests allowed per minute. This value will be used for active reviews and the clients and servers will automatically scale back the request rate as activity on the review declines.

smartbear.news.disable

A Boolean setting (values: true/false) to hide the Collaborator News panel in the WebUI.

flash.enabled

Specifies whether Web Clients will use Adobe Flash component to upload files. By default, the option is disabled and Web Clients use more secure HTML5 component for uploads.

smartbear.internal.p4DisableAuthorCheck

A Boolean setting (values: true/false) that specifies whether to disable author check-up of Perforce changelists. If set to true, users could upload changelists of other authors.

smartbear.mail.smtp.connectiontimeout

The timeout, in milliseconds, for SMTP connections. The value must be a positive integer.

smartbear.mail.smtp.timeout

The timeout, in milliseconds, for SMTP requests. The value must be a positive integer.

smartbear.reports.ignore.accepted.comments

A Boolean setting (values: true/false) to indicate whether or not accepted comments should be ignored in the reporting of review statistics in the Review Detailed Report.

smartbear.trigger.timeout.seconds

Applies to the triggers on the Admin > Triggers page. Specifies the maximum allowable time for the trigger execution in seconds. If the execution time exceeds this value, Collaborator stops the trigger and logs an exception. 0 means there is no limit set.

smartbear.userauth.class

Specifies the authentication adapter used to authenticate users. Do not set this property unless directed by SmartBear technical support.

com.smartbear.review.workflow.phase.rework.notification

Specifies if the reviewers in Waiting state will receive notifications of other participant/author activity during the Rework phase. If this option is not specified or is true, reviewers will get notifications, otherwise they will not.

com.smartbear.reviewpools.lock.regex

Prevents review pools from being deleted. If a review pool group name matches the specified regular expression, this group cannot be deleted.

com.smartbear.reviewpools.lock.allowrolechange

A Boolean setting to allow the roles of the locked review pools to be changed by anyone.

This setting has effect only if the com.smartbear.reviewpools.lock.regex setting is specified.

com.smartbear.reviewpools.lock.rolesallowedtomodify

A comma-separated list of system role names that are allowed to modify locked review pools and their roles. Administrators are always allowed to modify the locked review pools and their roles.

This setting has effect only if the com.smartbear.reviewpools.lock.regex setting is specified.

javax.net.ssl.trustStore

A generic Java machine option that specifies the location of the Java keystore file containing the collection of CA certificates trusted by this application process (trust store).

For example: -Djavax.net.ssl.trustStore=<Collaborator Server>/tomcat/conf/collab.ks

This option is NOT recommended. To set trust store location for Collaborator tomcat server it is better to use truststoreFile attribute the Connector element of the <Collaborator Server>/tomcat/conf/server.xml configuration file.

com.smartbear.code.metrics.style

Specifies whether to include comments and whitespaces when calculating line of code (LOC) metrics. If set to SLOC, comments and whitespaces will be ignored in metric calculations.

com.smartbear.ccollab.datamodel.manager.chunk.for.32.jdk

If set to a non-blank value, this property indicates that Collaborator server is running on 32-bit Java virtual machine. This indication is needed for accurate creation of dump file.

com.smartbear.collab.datamodel.remotesystem.webhooks.ssl.enable

A Boolean setting (values: true/false) that specifies whether webhooks created by the Easy Add Repository would have SSL verification enabled or disabled.

By default, SSL verification of webhooks is disabled to avoid handshake issues on Collaborator servers with self-signed or untrusted certificate authority (CA) root certificates.

com.smartbear.web.diffviewer.zoom.scale.min

Specifies the minimum zoom level (in percentage) of images, Word and PDF files displayed in Diff Viewer. Default is 10.

com.smartbear.web.diffviewer.zoom.scale.max

Specifies the maximum zoom level (in percentage) of images, Word and PDF files displayed in Diff Viewer. Default is 500.

com.smartbear.web.diffviewer.zoom.scale.increments

Specifies the increment of zoom level (in percentage) of images, Word and PDF files displayed in Diff Viewer. Default is 10.

com.smartbear.database.disable_oracle_regexp_like

A Boolean setting (values: true/false) that specifies which predicate (REGEXP_LIKE or LIKE) Collaborator will use to query the data from Oracle database.

By default, when this option is not specified or when the option is set to false, Collaborator uses REGEXP_LIKE predicate in queries.

When the option is set to true, Collaborator will use a faster LIKE predicate in queries. We recommend to use this option if you encounter performance issues on Oracle database.

Client Properties

The following properties are specific to Collaborator clients:

smartbear.ccollab.upload.truncate.size

The size, in bytes, to truncate uploaded files in the changelist. This threshold prevents clients from inadvertently overloading the server with files too large to process. The minimum threshold value is 4MB.

If any of your clients uses this option, avoid using the ensure-diffs-reviewed and ensure-content-reviewed triggers. In this case, these two triggers will compare only the remaining parts of the truncated files. Consider using the ensure-reviewed trigger instead.

smartbear.ccollab.upload.ignore.binary.file

A Boolean setting (values: true/false) to indicate whether or not certain binary files (specified by the Binary File Types setting) are ignored when uploading changelists.

com.smartbear.ptc.forceprojectpath

A Boolean setting (values: true/false) to use project path instead of configpath if your PTC projects have variant sub-projects.

Java Memory Settings

There are two aspects that affect the Java Virtual Machine regarding memory management and that may affect application performance. One is the maximum heap size and the other is the configuration of the garbage collector (GC).

  • The default maximum heap size that is available for Collaborator client applications depends on the Java Runtime Environment (JRE) version being used: 64 MB if you have JRE version 5.0 and earlier, or 1 GB or one quarter of physical memory (whichever is smaller) for later versions, unless your computer has only one processor or less than 2 GB of RAM (in this case, 64 MB will be used).

    By default, the maximum heap size for the Collaborator Server is set to 1 GB. You can increase the maximum heap size by using the -Xmx switch. For example, to set the maximum heap to 2 GB, use the following line:

    -Xmx2G

    You can use the letters G, M and K to specify gigabytes, megabytes and kilobytes. You can specify only whole numbers. So, for example, instead of using -Xmx1.5G, you have to use -Xmx1536M. Note that some Java virtual machines do not support the -X option.

    Increasing the maximum heap size can help you if you got the errors like java.lang.OutOfMemoryError: Java heap space errors in your logs.

    We recommend that you increase the maximum heap size to 2 GB or even more, depending on the typical size of documents that your users upload to the server.

  • In addition to increasing the heap size, you will also likely need to change the garbage collector's settings, especially if you see the "java.lang.OutOfMemoryError: GC overhead limit" error in your server logs, or experience severe performance degradation.

    To change the garbage collector settings for the Collaborator Server, add the following line to the ccollab-server.vmoptions file:

    -XX:+UseConcMarkSweepGC

    If you are using Java 7 Update 45 or later, use the following line instead:

    -XX:+UseG1GC

    We do not recommend applying these settings, if your computer has 2 or fewer processors (cores). If you are running into performance issues when performing reviews, you should consider running the Collaborator Server in a system that has at least 4 processors (cores). Changing these garbage collector settings will improve your server performance, especially if you also use the -Xmx option to increase the maximum heap size.

    Note that the operating system can report that your Java process consumes more memory than the maximum heap size you specified. This happens because other parts of the Java runtime, for example, PermGen, consume memory as well. You can try using the -XX parameters to tune these parts. See Oracle HotSpot VM documentation for complete information. Note that quite often the -X/-XX options are JVM-specific and Oracle can change them without notice. We recommend that you consult documentation of your Java Virtual Machine.

Server Temporary Folder

By default, the server will use the <Collaborator Server>/tomcat/temp subfolder under the Collaborator Server installation folder as the temporary folder. To use an alternate location, specify the Java temporary folder variable in ccollab-server.vmoptions, for example:

-Djava.io.tmpdir=/path/to/temp/folder

Similarly (though less likely to be needed), this can be done for the Collaborator clients in the corresponding .vmoptions files.

Network Proxy Settings

To configure server proxies, use the ccollab-server.vmoptions file. See Network Configuration for information on available settings.

Network Connection Debugging

To debug LDAP or SSL connection problems as well as other network related issues, add the following line to the ccollab-server.vmoptions file:

-Djavax.net.debug=all

After restart, Collaborator will create an additional log file, output.log, on the server computer with trace information on the issue.

See Also

System Requirements
Technical Specifications
Java Compatibility Matrix

Highlight search results