System Properties
The below table defines system property variables for FileCatalyst Server.
System Property | Product | Default value | Known values |
Description |
filecatalyst.embedded.webserver.enable.cache | All clients | true | true,false |
System property that determines whether or not browsers should be caching files that are supplied by the internal web server. In networks with high amounts of latency, enabling this property will reduce the amount of time that it takes for web browsers to load the web-based resources after they have been successfully loaded for the first time. |
java.io.tmpdir | All | blank | File system path to a temp directory. | The java.io.tmpdir system property indicates the temporary directory used by the Java Virtual Machine (JVM) to create and store temporary files. The default value is typically "/tmp", or "/var/tmp" on Unix-like platforms. On Microsoft Windows systems the java.io.tmpdir property is typically "C:\WINNT\TEMP". When creating zip archives, the FileCatalyst Server creates the archives in the java.io.tmpdir. If this is not desirable, the java.io.tmpdir can be set to a more suitable location. |
lmza_dict | HotFolder, Server | 16 | 0-28 |
2n value for dictionary size (16 represents 64K dictionary) 7-ZIP library specifies the following in their documentation: -d{N}: set dictionary - [0,28], default: 23 (8MB) Default value was lowered to allow faster throughput per core and keep RAM requirements reasonable. |
lmza_fb | HotFolder, Server | 8 | Integer, 5-273 |
Change the value of LMZA fast bytes. 7-ZIP library specifies the following in their documentation: -fb{N}: set number of fast bytes - [5, 273], default: 128 Default value was lowered to allow faster throughput per core and keep RAM requirements reasonable. |
lmza_mf | HotFolder, Server | 1 | 0 (EMatchFinderTypeBT2), 1 (EMatchFinderTypeBT4) |
Set Match Finder. Default: bt4 7-ZIP library specifies the following in their documentation: -mf{MF_ID}: set Match Finder. Default: bt4. Default value was lowered to allow faster throughput per core and keep RAM requirements reasonable. |
tc_masquerade_local_ssl.address | Server | false | true, false | Server switch to enable masquerade only if local, and only if SSL. |
unlimited.core.filesystem.msab.readAheadBlocks | Server | 10 | positive integer value | When using the Azure Blob EFS provider, this value controls the maximum amount of data that will be pre-cached during sequential reads. |
unlimited.core.filesystem.jclouds.readAheadBlocks | Server | 10 | positive integer value | When using the Dropbox, Google Cloud Storage, or Backblaze B2 EFS provider, this value controls maximum amount of data that will be pre-cached during sequential reads. |
unlimited.core.filesystem.s3.maxReadAheadSize | Server | 20480000 | positive integer value (bytes) | When using the Amazon S3 EFS provider, this value controls the maximum amount of data that will be pre-cached during sequential reads. |
unlimited.core.filesystem.s3.readAheadBlocks | Server | 10 | positive integer value | When using the Amazon S3 EFS provider, this value controls the number of blocks that will be pre-cached during sequential reads. |
unlimited.core.filesystem.s3.usehttp | Server | false | true, false | When using the Amazon S3 EFS provider, setting this property to true will force the use of HTTP instead of the default HTTPS. |
unlimited.core.filesystem.swift3.maxReadAheadSize | Server | 20480000 | positive integer value (bytes) | When using the Openstack Swift3 or Wasabi EFS providers, this value controls the maximum amount of data that will be pre-cached during sequential reads. |
unlimited.core.filesystem.swift3.readAheadBlocks | Server | 10 | positive integer value | When using the Openstack Swift3 or Wasabi EFS providers, this value controls the number of blocks that will be pre-cached during sequential reads. |
unlimited.core.filesystem.swift3.usehttp | Server | false | true, false | When using the OpenStack Swift3 EFS provider, setting this property to true will force the use of HTTP instead of the default HTTPS. |
unlimited.core.io.ftptransfer.receive.bufsize | HotFolder, Server | 40960 | Any positive integer value | Use this value to control the size if the receive buffer (in bytes) for FTP transfers. This value also controls the size of storage write operations. Increasing this value may increase write performance, particularly when writing against object storage. This value should be kept in sync with the "unlimited.core.io.ftptransfer.transmit.bufsize" value on the transmit side of the FTP transfer. |
unlimited.core.io.ftptransfer.transmit.bufsize | HotFolder, Server | 40960 | Any positive integer value | Use this value to control the size if the transmit buffer (in bytes) for FTP transfers. This value also controls the size of storage read operations. Increasing this value may increase read performance, particularly when reading object storage. This value should be kept in sync with the "unlimited.core.io.ftptransfer.receive.bufsize" value on the receive side of the FTP transfer. |
unlimited.core.util.MD5.MAX_BUFFER_SIZE | Server | 4096000 | Any positive integer value | Use this value to control the size if the MD5 read buffer. A larger buffer may increase the speed of MD5 calculations, in particular when the file is located on a cloud storage backed EFS. |
unlimited.fc.allowRestrictedCharacters | All clients | false | true,false | System property that allows filenames/paths to use characters restricted on windows. Due to the fact you can never really know what OS is managing mounted network storage, we skip (and log the skip) file paths that would fail in windows. |
unlimited.fc.blockBufferMultiplier | Server | 2 | Any positive integer value | Used in combination with unlimited.fc.blocksWrittenOutOfOrder. It controls the amount of block buffering. The amount of blocks buffered will be number of sender threads X this multiplier. |
unlimited.fc.blocksWrittenOutOfOrder | Server | true | true, false |
Use this value to control how blocks are written to disk. If set to False, blocks will only be written in sequential order. Warning: blocksWrittenOutOfOrder is considered a Labs feature as changing this value may have unexpected impact on other features. For example, setting this value to False will break congestion control. |
unlimited.fc.database.maxActiveConnections | Server, Central | 8 | Any non-zero integer value (negative or positive) | Numerical value used to set the max number of active connections the internal SQL database can have. If no value is supplied then the default active connection amount of eight connections will be used. If a negative value is provided, the database will have no limit for active connections. |
unlimited.fc.database.maxConnectionWaitTimeMillis | Server, Central | -1 | Any non-zero long value (negative or positive) | Numerical value used to set the amount of time that an idle database connection will wait for until it is exhausted. If no value is supplied then the default timeout value of -1 will be used. If a negative value is provided, then the database will never timeout an idle connection. |
unlimited.fc.database.maxIdleConnections | Server, Central | 8 | Any non-zero integer value (negative or positive) | Numerical value used to set the max number of idle connections the internal SQL database can have. If no value is supplied then the default idle connection amount of eight connections will be used. If a negative value is provided, the database will have no limit for active connections. |
unlimited.fc.delete_filesonly_after_transfer | HotFolder | false | true, false | When the HotFolder task uses the feature delete source files after transfer, it also normally removes the directory structure as well. This flag tells the HotFolder to maintain the source directory tree. |
unlimited.fc.deployment.security.enforcement.strict | All clients | false | true, false | Strict SSL. This feature blocks SSL connections to the FileCatalyst server from being established if the server certificate is not trusted by your client. This feature is only applicable when SSL is enabled. When this is set to true on your client, the SSL certificate configured on the server must be trusted by your client. Your client must be stopped and restarted for this property to take effect. |
unlimited.fc.deployment.security.enforcement.truststore | All clients | <not set> | Path to truststore file | Strict SSL - additional option. This setting is optional and only applicable when strict SSL is enabled. If you choose to provide a custom truststore file to assert the trust of the certificate you have configured in the server, you can specify the path to your truststore file with this property. If not set, the default truststore file provided by the your Java Runtime Environment is used. Your client must be stopped and restarted for this property to take effect. |
unlimited.fc.diagnostics.captureHeapOnShutdown | All | false | true, false | This is an optional value that will generate a diagnostic when the application is shut down. |
unlimited.fc.diagnostics.logSystemStats | Server | false | true, false | This will turn on system stats logging, logging cpu and memory useage on a one minute schedule, useful for troubleshooting. |
unlimited.fc.diagnostics.maxOptionalFileSize | All clients | 200 | Max size of logs pulled into diagnostics file in MB | This is an optional value that can change the default maximum size of files pulled into the diagnostics zip file. |
unlimited.fc.diagnostics.maxOptionalFileAge | All clients | 86400000 | Max age of the last modified stamp on the file | This is an optional value that can change the default maximum age of files pulled into the diagnostics zip file. |
unlimited.fc.direct.disk_backed | HotFolder, Server | false | true, false | When performing transfers of very large file sets, the data must be loaded into memory. A 4GB heap can handle roughly 3 million files. In cases where increasing memory is not an option, setting this option to true will move the data structures to disk to save memory. In this case even a small heap is able to handled very large numbers of files. This will incur a performance hit because values must be retrieved from disk instead of memory. |
unlimited.fc.direct.forceClientSideFilter | HotFolder | false | true, false | Isolated case where server-side filtering (downloads) was not working for customer. This switch brings back older behaviour of Server returning entire remote file list and forces client to then filter through the files it needs. |
unlimited.fc.direct.httpUsePortsOutsideRange | Server | false | true, false | FileCatalyst HTTP transfers may use up TCP ports in the server port range quickly, leaving the server starved for ports, and preventing new transfers from taking place until the ports are released by the OS (up to 240 seconds on Windows). By setting this property to true, when connections to the server are via the HTTP servlet running inside the server, it will use ports outside the port range. |
unlimited.fc.direct.udp_receive_timeout | HotFolder, Server | 60 | integer value 60 or larger in seconds | By default, the application will wait 60 seconds waiting for packets to be received before declaring that packets are being blocked by a firewall or network has dropped. This values allows someone to increase it beyond 60 seconds. Values below the default 60 seconds are discarded. |
unlimited.fc.direct.useCreateTimeForFilter | HotFolder, Server | false | true, false |
This feature works with the "Transfer files older/newer than" feature on the HotFolder task "File Set" tab. When this feature is enabled, the filter will use the creation time rather than the modified time when comparing and deciding if a file should be transferred. If you are doing downloads, this property needs to be added to the Server (since filtering happens server side when it is getting the list of files to download). For uploads it needs to be added to the HotFolder. |
unlimited.fc.direct_mem.disabled | All | false | true, false |
Forces application to create regular byte buffers instead of direct memory byte buffers. Performance may degrade when this is used, but is helpful when constrained by platform or memory limitations. Java8 API description: A byte buffer is either direct or non-direct. Given a direct byte buffer, the Java virtual machine will make a best effort to perform native I/O operations directly upon it. That is, it will attempt to avoid copying the buffer's content to (or from) an intermediate buffer before (or after) each invocation of one of the underlying operating system's native I/O operations. |
unlimited.fc.direct_tcp_keepalive | HotFolder | Varies on JVM | true, false |
Triggers the Java Socket SO_KEEPALIVE value for the client control channel. Java8 API description: When the keepalive option is set for a TCP socket and no data has been exchanged across the socket in either direction for 2 hours (NOTE: the actual value is implementation dependent), TCP automatically sends a keepalive probe to the peer. This probe is a TCP segment to which the peer must respond. One of three responses is expected: 1. The peer responds with the expected ACK. The application is not notified (since everything is OK). TCP will send another probe following another 2 hours of inactivity. 2. The peer responds with an RST, which tells the local TCP that the peer host has crashed and rebooted. The socket is closed. 3. There is no response from the peer. The socket is closed. The purpose of this option is to detect if the peer host crashes. Valid only for TCP socket: SocketImpl |
unlimited.fc.disableGlobalByteBufferPool | Server, HotFolder | false | true, false | Disables use of a global byte buffer pool in the application. |
unlimited.fc.disableMD5OnTheFly | HotFolder, Server | false | true, false | By default, during UDP transfers, FileCatalyst will verify each block using MD5. Value needs to be set in the product doing the transmitting (ie: Server for downloads, HotFolder for uploads). To disable this option set this property to true and restart the product. |
unlimited.fc.doFullMD5WhenReconnected | HotFolder | false | true, false | If set to true, when doing a progressive transfer, if the connection is lost, upon reconnection the entire destination file will be verified using MD5 before attempting to append. |
unlimited.fc.doMD5onProgressiveAppend | HotFolder | false | true, false | If set to true, when doing a progressive transfer, for each append the previous block will be verified using MD5 to ensure integrity. If set to false, this check is only performed if the connection was lost. |
unlimited.fc.enable_delete_temp_file_thread | Server | true | true, false |
FileCatalyst Server will periodically scan user home directories for temporary files and clean up any that are no longer needed. Setting this property to false will disable this feature. This includes files with the following extensions: .fctmp, .fczip, .fcsigs, and .fcdeltas. Note: User home directories that are backed by EFS storage are not scanned for performance reasons. |
unlimited.fc.fastio.disable_attribute_cache | HotFolder, Server | false | true, false | FileCatalyst caches recently accessed file attributes (size, modification time, etc) to speed up file system performance. Disabling this value may slow down directory listings on larger structures, but will ensure that we hit the native file system directly rather then rely on cached metadata. This setting may be toggled if the HotFolder is not picking up file changes fast enough for frequently executed tasks (less than 30 minutes). |
unlimited.fc.fastio.max_cache_age | HotFolder, Server | 120000 | integer, age of cache in ms | FileCatalyst caches recently accessed file attributes (size, modification time, etc) to speed up file system performance. This value determines the length of time the cached value is stored before expiring it. The default value of 2 minutes (120000 ms). |
unlimited.fc.follow_symlinks | Server | false | true, false | If this value is set to true, the server will follow symbolic links instead of ignoring them. This does not prevent access to files outside of the users home directory and files may end up being pulled from outside of the user's sandbox. This was previously called unlimited.fc.allow_symlink_download and this label is backwards compatible. |
unlimited.fc.force.ownership_throw_on_error | Server, HotFolder, TransferAgent, Command Line | true | true, false | If this value is set to true, the force file ownership feature will cause all failed force file ownership operations to mark the transfer as a failure. If the value is set to false, then failed force file ownership operations will be logged, but the file will continue to transfer as normal. When the transfer completes, the destination file will have the same user ownership of the FileCatalyst application. |
unlimited.fc.globalMD5RateLimit | 0 | Integer value for rate in Kbps, for example, 10000 | When set, all MD5 checks will be limited in speed to the specified rate. Default is 0 (no limit). | |
unlimited.fc.hideWelcomeMessageVersionString | Server | false | true, false | If set to true, FileCatalyst Server will not return a version string in its welcome message. Instead the version string is returned as part of the reply to the SYST command. Note that if this option is enabled, only FileCatalyst clients v3.6 and higher will be able to connect. |
unlimited.fc.idleBandwidthShareRatio | HotFolder | 4 | 1-99 | Value indicates 1/n bandwidth that idle clients will be given compared to active clients. Setting to a lower value (for example, 1/20) may slow down transfers which toggle between states (moving from idle to active will not receive any new bandwidth until the next bandwidth reallocation broadcast every second). Should only be used to fine tune for optimal performance. |
unlimited.fc.iptos_tcp | HotFolder, Server | 0 | An integer value between 0 and 255 inclusive | Sets the DSCP traffic class or type-of-service octet in the IP header for packets sent using TCP sockets in FileCatalyst. As the underlying network implementation may ignore this value, it should only be considered a hint to the OS. |
unlimited.fc.iptos_udp | HotFolder, Server | 0 | An integer value between 0 and 255 inclusive | Sets the DSCP traffic class or type-of-service octet in the IP header for packets sent using UDP sockets in FileCatalyst. As the underlying network implementation may ignore this value, it should only be considered a hint to the OS. |
unlimited.fc.log_file_listing_growth | All | 20000 | Integer value | Used by application for logging progress of large sorts of data items. By default, the application will output logs every 20000 items during filtering or sorting of larger directory structure. This value may be tuned up or down as needed. |
unlimited.fc.maintain_uid_gid | Server, HotFolder, CommandLine and Transfer Agent | false | true, false | When set, use UID/GID rather than user name/group name. This will require the property to be set on the client side for uploads, and the server side for downloads. It is recommended to set the property on both sides to make it work for both upload and download. |
unlimited.fc.no_so_linger | HotFolder, Server | false | true, false |
Force to not use SO_LINGER property on the socket. Setting to true will remove the SO_LINGER. |
unlimited.fc.output_timestamp | All clients | false | true, false | Run-time flag for logging statistic measurements in CLI. Timestamp will reflect transfer time and remove setup time, and will spit out to System.out string value containing transfer time in seconds. |
unlimited.fc.packetlossThreshold | HotFolder, Server | 2 | Integer, 2-10000 | Advanced setting for congestion control. Indicates how many packets may be skipped (gotten out of sequence) before the congestion control considers it a packet loss event. |
unlimited.fc.postURL.encodeAllPathsParameter | HotFolder, TransferAgent, Server | false | true, false | A system property that allows the FileCatalyst application to URL encode the "allFiles" parameter that is sent to web applications when performing HTTP based Post URL operations. If the value is set to false, the "allFiles" parameter will be non-encoded and will contain the raw text of all files that were transferred. If the value is set to true, each file in the "allFiles" parameter will be URL encoded in the same manner as the remote paths and local paths parameters. |
unlimited.fc.preallocation | HotFolder, Server | false | true, false | FileCatalyst does not pre-allocate files to their full size when transferring. It relies on the underlying file system to optimize file write operations. If you wish to pre-allocation the entire file, set this value to true. |
unlimited.fc.progressiveDelayBeforeAppending | HotFolder | 0 | Delay value, in seconds | When performing a progressive transfer, if this value is set, after each progressive append the transfer will delay X seconds to allow more growth before continuing with another append. |
unlimited.fc.showHiddenFiles | HotFolder, Server, Transfer Agent,Express | false | true, false | FileCatalyst has the ability to toggle hidden files as a system property so that customers can modify behaviour based on their needs. By default, value is set to false (we hide hidden files). |
unlimited.fc.udpbuffersize | HotFolder, Server | 32768000 (default 8388608 if AIX detected) | Integer value, in bytes |
Sets the UDP socket buffer for sender/receiver, in bytes. Java8 API description ReceiveBufferSize Java8 API description SendBufferSize value is normally overridden by operating system settings to be smaller. IBM JVM on AIX only allows buffer sizes of 1MB, 4MB, and 8MB. It is important to match these up with values on the OS level. See support knowledge base article for details. |
unlimited.fc.use.fast.md5 | Server, HotFolder, Central, TransferAgent | true | true, false | When attempting to verify the integrity of a given transfer, an MD5 checksum is calculated for both the source and destination files. If this property is enabled when the MD5 is generated, the application will use an MD5 implementation that is usually much faster than standard Java-based implementations. If this property is disabled when the MD5 is created, then a slower MD5 generation algorithm will be used to generate the MD5 checksums. |
unlimited.fc.verifySizeAfterTransfer | HotFolder | false | true, false | If set to true, upon completion of a transfer, the size of the source and destination file will be compared. The transfer will fail if the size does not match. |
unlimited.fc.waitForSourceFileToBeStatic | HotFolder | 0 | Integer, time value in seconds | This value if set, will not transfer a file unless it has been static for up to X seconds. Must also set "unlimited.fc.waitForSourceFileToBeStaticFilter" for this feature to work. |
unlimited.fc.waitForSourceFileToBeStaticFilter | HotFolder | blank | String value of file filter, for example, *.mxf | When set, will apply the "unlimited.fc.waitForSourceFileToBeStatic" only to files that match the specified include filter. This is GLOBAL, meaning it affects all tasks. Default is blank. If the Hotfolders "Wait for file growth to cease" feature is being used in a task, using the same file filters in this feature would cause the matched files to wait the sum of both configured delays. |