This is the documentation for FishEye 3.7. View the latest version of

Unknown macro: {spacejump}

or visit the latest FishEye documentation home page.

Administrators can configure the Java Virtual Machine system properties described on this page to control low level aspects of FishEye and Crucible's operation. 

The recommended approach is to add the property to the FISHEYE_INST/system.properties file. Add this as a new text file, using the Java .properties format, if it doesn't already exist.

Properties can also be set by passing them with the -D parameter to the JVM using the FISHEYE_OPTS environment variable.

Note that:

  • System properties that only relate to Crucible have names beginning with crucible.
  • When integrating FishEye/Crucible with Single Sign On applications, you may require an adjustment to the JVM properties, specifically the HTTP header size. This may also be useful in other circumstances where FishEye's default HTTP header is too small (at 4096 bytes).

FishEye/Crucible must be restarted for changes to become effective.

Verify the setting by using the command-line tool jinfo <pid> after the application starts up.

On this page:

General properties

 

PropertyLegal valuesDefault valuesDescriptionVersion
crucible.detect.metadata.revision.changestrue/falsetrueIf true, detects and disables creation of reviews from changesets which contain metadata only changes (e.g svn property changes). Read more here.2.6.0+
crucible.review.content.size.limitnumber of file revisions allowed in a review800Limits the "size" of a review to prevent extremely large reviews accidentally being created and potentially slowing the instance down.2.10.0+
fisheye.blame.calc.enabletrue/falsetrueControls whether blames are calculated during indexing.
This property is enabled by default. Disabling it means blames are not calculated during indexing and will be missing (but can optionally be retrieved at request time).
3.4.0+
fisheye.branch.recently.active.check.limit number of branches250Used in CommitGraph to control sorting of branches. If more than the limit, sorted alphabetically, otherwise sorted by recent activity.2.6.0+
fisheye.changeset.paths.limitnumber of paths10000This setting is to prevent extremely large changesets (which are often the result of an error) from slowing FishEye/Crucible down. See Indexed paths truncated at 10000 for the messages that are logged if the value is reached. 
fisheye.git.http-backend-timeout Integer milliseconds3600000This property sets the amount of time that the FishEye server should allow the underlying Git process to execute when attempting to serve a Git push or pull request.2.7.3+
fisheye.p4.disable.ancestrytrue/falsefalseIf true, stops FishEye from processing P4 ancestry information. Change lists will still be assigned to branches. If you do not use stable Perforce branchspecs to manage branches, set this to true.2.7.5+
fisheye.p4.disable.branchspecstrue/falsefalseIf true, stops FishEye from reading Perforce branch specs. All change lists will appear on the 'head' branch. If you do not use stable Perforce branchspecs to manage branches, set this to true.2.7.13+
fisheye.search.max.repositoriesnumber of repositories100Used by FishEye to limit the search to the top n repositories (by alphabetical order) when a cross-repository search is performed.2.7.12+
jetty.http.headerbuffersizebytes4096This controls the size of the largest HTTP header value that FishEye will allow (through its embedded servlet engine, Jetty). Some authentication systems, such as Single Sign On applications, require larger header values.1.6.5+
org.eclipse.jetty.server.Request.maxFormContentSizebytes3000000

Max form content size – increase this value if your Git push fails with HTTP error 411 (see this KB article: Git PUSH results in RPC failed, result=22, HTTP code = 413)

3.0.0+
crucible.users.per.group.in.review
 10Maximum number of users that will be added from a group when adding a group to a review3.5.2+

FishEye pipeline indexing

See Pipelined indexing.

PropertyLegal valuesDefault ValueDescriptionFishEye version
fisheye.pipeline.batch.cslimit1 - 5000010000The pipeline processes changesets in batches. A bigger batch size reduces the number of calls to the underlying SCM, but also increases heap consumption and reduces the concurrency of the pipeline. Smaller batch sizes increase the concurrency of the pipeline, reduce heap consumption, but result in more calls to the underlying SCM.3.0.0+
fisheye.pipeline.batch.pathlimit1000 - 12000060000The pipeline processes changesets in batches. This property sets the maximum allowed number of unique paths in a batch (summed across changesets). A higher value will reduce the number of calls to the underlying SCM, at the expense of more heap consumption.3.0.0+
fisheye.pipeline.fairnesstrue, falsetrue

If true, repositories are processed in a round-robin fashion by the pipeline. This means that all repositories currently indexing will incrementally progress.

If false, the pipeline always favours newer changesets, regardless of which repository they belong to. This means that repositories with newer changesets will take priority over repositories with older changesets. This results in faster processing for newer repositories, but with the possibility of stalling indexing of repositories with older commits.

3.0.0+
fisheye.pipeline.threads4-1000The number of processor cores detected, or 4, whichever is greaterThe number of threads available to work on indexing tasks. A higher value allows for potentially greater concurrency in indexing activities, but will increase the load on the server and the load on your SCM.3.0.0+

Git manifest

PropertyLegal valuesDefault valueDescriptionVersion
fisheye.manifest.forceupgradetrue or falsetrueControls whether manifests are upgraded before repository indexing continues or as a background process as time permits during regular indexing3.4.0+
fisheye.manifest.maxdepth1-1003Controls how many delta manifests are written in a chain before a full manifest is written3.4.0+
fisheye.manifest.maxupgradepaths100 upwards500000The maximum number of paths that will be upgraded before a batch is committed to the FishEye index3.4.0+
fisheye.manifest.upgradebatch10 upwards1000When performing background upgrading this is the minimum number of changesets that will be upgraded in each indexing poll period.3.4.0+

Mail client

You can tune the mail client in FishEye with system properties.

The available system properties are listed and described at https://javamail.java.net/nonav/docs/api/com/sun/mail/smtp/package-summary.html.

For example, mail.smtp.quitwait=false can be used in cases where the FishEye mail server doesn't respond to a QUIT message, and causes the mail client to hang.


Changing JVM properties when the Windows installer is used

If you used the FishEye or Crucible installer for Windows, you can edit JVM properties as follows.

For FishEye/Crucible 3.4.4 and later:

Edit JVM properties using the tool included with the installer. Launch the tool by going to one of:

  • Start > All Programs > FishEye > Configure FishEye
  • Start > All Programs > Crucible > Configure Crucible

Ensure that you restart the FishEye or Crucible service after changing the JVM properties.

For FishEye/Crucible 3.4.3 and earlier:

Edit JVM properties using this tool:

http://www.apache.org/dist/commons/daemon/binaries/windows/commons-daemon-1.0.15-bin-windows.zip

To use it, you need to rename prunmgr.exe from the zip file to Atlassian FishEye.exe or Atlassian Crucible.exe depending on which installer you used. Then JVM properties such as Xmx and XX:MaxPermSize can be edited on the Java tab.

Do not reference any environment variables in the settings (e.g. %FISHEYE_INST%). Instead, set the actual path.

  • No labels