System configuration [VC 21.3 GEN]
Indexing configuration
The indexing configuration contains the parameters that relate to search and indexing.
-
Where Vidispine can reach Solr or ZooKeeper.
-
When to commit or soft commit.
-
The Solr query request parameters.
-
The default field settings.
This configuration replaces the configuration properties listed under Search and indexing.
Example
Full text indexing could be disabled for all fields, unless explicitly specified for a field, using:
<IndexingConfigurationDocument xmlns="http://xml.vidispine.com/schema/vidispine">
<solrPath>http://localhost:8088/solr</solrPath>
<fieldDefault>
<name>*</name>
<fullText>false</fullText>
</fieldDefault>
</IndexingConfigurationDocument>
Metrics configuration
See StatsD on how to configure how metrics are sent to StatsD. The configuration resource is described at Metrics settings.
FTP pool configuration
By default jobs that need to read or write to an FTP server will establish, use and end separate connections to the server. By configuring a FTP connection pool you can change so that the jobs share and reuse FTP connections. This can reduce the time it takes to transfer files over high latency connections.
For example, to create a connection pool with the default settings:
PUT /configuration/ftp-pool
Content-Type: application/xml
<FtpPoolConfigurationDocument xmlns="http://xml.vidispine.com/schema/vidispine">
<pool/>
<FtpPoolConfigurationDocument/>
If no pool is specified then pooling will be disabled. Unless overridden, the pool will be unbounded, and connections will expire after 1 minute. That is, the above configuration is identical to:
PUT /configuration/ftp-pool
Content-Type: application/xml
<FtpPoolConfigurationDocument xmlns="http://xml.vidispine.com/schema/vidispine">
<pool>
<minSize>0</minSize>
<maxSize>-1</maxSize>
<evictionInterval>30000</evictionInterval>
<minIdleTime>60000</minIdleTime>
</pool>
</FtpPoolConfigurationDocument>
The FTP pool configuration resource is described at FTP pool configuration.
Database purging
Vidispine supports mechanisms for purging old information in database tables. Especially four tables can grow quite large without purging enabled.
Updated method for purging configuration
The preferred way of updating the database purging configuration is by create a DatabasePurgingConfigurationDocument, see Database purging configuration.
Change-log table
The change-log table holds information about data that should be sent to other sites. If multi-site is disabled (disableSiteCrunching), this table grows forever.
To enable purging of the table, two configuration properties are used: changeLogPurgingTime and changeLogForcePurgingTime. The first one controls deletion of entries that have been processed, the other one controls deletion of entries regardless of state.
Sensible values are 43200 and 86400, corresponding to one and two months, respectively.
Configuration can also be controlled via DatabasePurgingConfigurationDocument. For example:
<DatabasePurgingConfigurationDocument xmlns="http://xml.vidispine.com/schema/vidispine">
<changeLog>
<age>43200</age>
<forceAge>86400</forceAge>
</changeLog>
</DatabasePurgingConfigurationDocument>
Audit trail table
The audit trail table contains all API requests, see Audit trails.
To enable purging of the table, two configuration properties are used: auditTrailPurgingTime and auditTrailPurgingDirectory. Both must be set in order for purging to take place.
When purging is enabled, entries that are older than auditTrailPurgingTime minutes will be removed and put in a file inside the auditTrailPurgingDirectory folder.
A sensible value is 43200 or higher, corresponding to one month.
Configuration can also be controlled via DatabasePurgingConfigurationDocument. For example:
<DatabasePurgingConfigurationDocument xmlns="http://xml.vidispine.com/schema/vidispine">
<auditTrail>
<age>43200</age>
<uri>s3://key:secret@archival-bucket/requests/</uri>
</auditTrail>
</DatabasePurgingConfigurationDocument>
By setting the compress element in the configuration document, entries will be stored using gzip compression. The default value is true.
The entries are stored in batches. The number of entries per batch is controlled by the batch element in the configuration document. The default value is 10000 entries. If there are less than 10000 entries that fulfill the time criteria, the purging of the audit trail table will pause.
By setting the body element in the configuration document, entries will also include the request bodies and response codes. The default value is false.
The directory can be a full URI, such as a S3 or FTP location.
Job table
To enable purging of the table, two configuration properties are used: jobPurgingTime and jobPurgingDirectory. Both must be set in order for purging to take place.
When purging is enabled, entries that are older than jobPurgingTime minutes will be removed and put in a file inside the jobPurgingDirectory folder.
Configuration can also be controlled via DatabasePurgingConfigurationDocument. For example:
<DatabasePurgingConfigurationDocument xmlns="http://xml.vidispine.com/schema/vidispine">
<job>
<age>43200</age>
<uri>s3://key:secret@archival-bucket/job/</uri>
</job>
</DatabasePurgingConfigurationDocument>
By setting the compress element in the configuration document, entries will be stored using gzip compression. The default value is true.
The directory can be a full URI, such as a S3 or FTP location.
Transfer log table
Configuration is controlled via DatabasePurgingConfigurationDocument. For example:
<DatabasePurgingConfigurationDocument xmlns="http://xml.vidispine.com/schema/vidispine">
<transferLog>
<age>1440</age>
<uri>s3://key:secret@archival-bucket/transfers/</uri>
</transferLog>
</DatabasePurgingConfigurationDocument>
Both the age and uri element has to be set. Entries than represents a finished transfer older than age minutes are exported to the destination.
The forceAge element controls exports of non-finished transfers - transfers that have disappeared for some reason. The default value of forceAge is the value of the age element.
By setting the compress element in the configuration document, entries will be stored using gzip compression. The default value is true.
The entries are stored in batches. The number of entries per batch is controlled by the batch element in the configuration document. The default value is 10000 entries. If there are less than 10000 entries that fulfill the time criteria, the purging of the transfer log table will pause.
Default job priority
New in version 5.2.1.
The default job priorities are configurable by type. For example, the following configuration document will make IMPORT jobs default to MEDIUM priority and EXPORT jobs default to HIGH priority:
<JobPriorityConfigurationDocument xmlns="http://xml.vidispine.com/schema/vidispine">
<job type="IMPORT">MEDIUM</job>
<job type="EXPORT">HIGH</job>
</JobPriorityConfigurationDocument>
If no default priority has been specified for a given job type, the job will default to MEDIUM priority.
CORS configuration
New in version 4.15.
Vidispine can be configured to emit Cross-Origin Resource Sharing (CORS) headers.
The CORS configuration is set using the CORS configuration resource. The configuration document consists of a number of entries, each of them are checked for CORS evaluation. If an entry condition matches the incoming request, the CORS headers set in the entry are outputted, and no other entries are matched. For example:
PUT /configuration/cors
<CORSConfigurationDocument xmlns="http://xml.vidispine.com/schema/vidispine">
<entry>
<request/>
<response>
<allowOrigin>*</allowOrigin>
</response>
</entry>
</CORSConfigurationDocument>
The conditions in each entry can match HTTP method, the request path, the CORS origin, or any other header. For example:
<CORSConfigurationDocument xmlns="http://xml.vidispine.com/schema/vidispine">
<entry>
<request>
<pathRegex>API.*/item/.*</pathRegex>
<headerRegex>
<key>connection</key>
<value>.*aliv.*</value>
</headerRegex>
</request>
<response>
<allowOrigin>*</allowOrigin>
<allowMaxAge>86400</allowMaxAge>
</response>
</entry>
</CORSConfigurationDocument>
Semantics are as follows.
-
Multiple methods can be set per entry. If one entry method matches the request method, the entry matches as far as for method. If no methods are set on the entry, the entry matches.
-
Origins can be specified both exact or via regular expressions. If one entry origin matches the request origin, the entry matches as far as for origin. If no origins are set on the entry, the entry matches.
-
Request paths can be specified via regular expressions. If one entry path matches the request path, the entry matches as far as for path. If no paths are set on the entry, the entry matches.
-
Request headers can be specified via regular expressions. All specified headers for the entry must match the request. If the HTTP request does not contain a value for a specified header, the entry does not match. If the HTTP request contains multiple values for a specified header, it is sufficient that only one value matched the entry header condition.
When the entry matches, the entry may contain which origin that is allowed, the max age for the access, which methods that are allowed, which HTTP headers. The entry can also contain other, arbitrary, headers. If methods are not specified, the methods are automatically deduced from the API methods.
Configuration properties
Configuration properties are used in Vidispine to control system-wide parameters.
Since 5.3, configuration properties can be used to control some system property settings, see below.
See also
See Create/modify configuration properties for more information about how to configure properties.
Some configuration properties are cached locally, and it may take up to 5 minutes until the new value is observed. These configuration properties are marked with “Cached: yes” below.
General
-
apiUri URI to Application Server. Used by transcoder(s), so need to be a proper host if transcoder(s) run on another machine.
Mandatory: Yes
Example: http://localhost:8080/API/
-
apiNoauthUri URI to Application Server, to use to access the no-auth API. Used by transcoder(s), so need to be a proper host if transcoder(s) run on another machine.
Example: http://localhost:8080
-
clusterName Optional alphanumerical identifier for the Vidispine installation/cluster. Must be set (to a unique identifier) if multiple Vidispine installations are to share a common set of transcoders.
Example: ABPRD,ABDEV,BCPRD
-
disableSiteCrunching Do not build site replication packages. Recommended to be set to
truefor systems not running site replication.Default: truesince 4.2.6. Previous versions:false
-
validatexml Enable schema validation of the incoming and outgoing xml document.
Default: false
-
slaveLicenseProxy Use a proxy for Connection to Vidispine Online Licensing System. Format is
-
http://IP:port/or -
socks://IP:port/
Proxy authentication is not supported.
Default: none
-
-
defaultTranscoder Default transcoder resource to use. Valid values are:
-
vidinet- To use the first available transcoder from Vidinet. -
A resource id - To use the transcoder with that id.
Example: VX-1Default: none
-
Search and indexing
Deprecated since version 4.2: The Solr and ZooKeeper properties are deprecated. Use Indexing configuration instead.
-
solrPath URI ( not path! ) to Solr.
Mandatory: Yes (No for SolrCloud)
Example: http://localhost:8081/solr/
-
elasticsearchPath URI to Elasticsearch’s RESTful interface.
Mandatory: Yes (if using Elasticsearch). Optional if
urlhas already been configured in search backendExample: http://localhost:9200/
-
zkHost For SolrCloud: A comma separated list of host:port pairs to the servers in the ZooKeeper ensemble.
Mandatory: No (Yes for SolrCloud)
Example: localhost:3000,example.com:3001
-
solrCollection For SolrCloud: The collection in Solr to be used by Vidispine.
Mandatory: No (Yes for SolrCloud)
Example: collection1
-
solrQueryTimeout The request timeout in milliseconds to use when querying Solr.
Default: 60000
-
solrGroupLimit The maximum number of timespans to return per item or collection.
Mandatory: No
Example: 10
-
solrPingAttempts The number of times to ping a Solr node before aborting an active request.
Default: 5
-
solrPingTimeout The request timeout in milliseconds to use when checking if a Solr node. is alive
Default: 5000
-
solrCommitInterval The interval (in milliseconds) of Vidispine sending hard commit to Solr.
Default: 10000
-
solrSoftCommitInterval The interval (in milliseconds) of Vidispine sending soft commit to Solr.
Default: -1(disable)
-
solrAutoSoftCommit If Vidispine should send soft commit to Solr automatically.
Default: true
-
solrUpdateQueueSize Number of documents Vidispine will send in batch to Solr.
Default: 100
-
solrDeleteMergeSize The number of delete queries to merge into one before sending to Solr.
Changed in version 5.6: The default was changed from
-1(do not merge any delete queries) to100.Default: 100
-
elasticsearchWorkerCount Number of worker threads to use when sending documents to Elasticsearch.
Default: 1Since: 5.6
-
elasticsearchBulkBuffer The document buffer size (in bytes) in the Elasticsearch worker thread.
Default: 10000Since: 5.6
-
indexFieldGroups If metadata field groups should be indexed in Solr. Setting this to
falsecan reduce the load and the size of the index if items have a large number of groups in the metadata, but will mean that no results will be available when searching for field groups.Default: true
-
indexCollectionItemOrder If the order of an item in a collection should be indexed in Solr. Settings this to
falsecan greatly reduce the number of fields created in Solr and improve performance on systems with a lot of collections. This affects collection item retrieval. See also Retrieve the child-collections of a collection.Recommended to be set to
falsefor applications not relying on that feature. Requires a clean Solr index and a full re-index to take effect.Default: false
-
indexTimespans If time coded metadata should be indexed in Solr. Setting this to
falsecan reduce the load and the size of the index if items/collections have a large number of timespans in the metadata, but will mean that no time coded metadata can be found.Default: true
-
maxSearchResults Maximum number of search results allowed to be returned (see Search items).
Default: 100
-
legacyTransientFieldTypes This setting controls the datatype of the transient metadata fields. If
truethen all transient fields will be of typestring. Iffalsethe*_sizeand*_countfields will be of typeinteger, and the rest will have typestring.Default: true
-
skipLibraryIndexUpdates If set to
true, the auto-refreshing libraries won’t be updated after item metadata changes.Default: false
-
indexDocumentMetadata If document metadata should be indexed. Setting this to
falsecan reduce the load and size of the index. Document metadata is not searchable if this property is is set tofalse.Default: falseSince: 5.0
-
indexQueueLimit This setting throttles indexing to a maximum number of messages in the ActiveMQ queue. In a system where indexing (Solr/Elastic) is slower than the database, this setting avoids that too many messages are stored on the queue. Set this value to
0to specify no limit. See alsoactiveMQAdminUrl.Default: 0Since: 5.7.1
Cached:
Metadata
-
disableMetadataSchema If a metadata schema has been defined (see Metadata schema), allows metadata that does not comply to the schema.
Default: false
-
useAbsoluteSccTimeCode If set to true Vidicore will not try to adjust the time codes in the SCC sidecar file to the usual relative (zero-based) timecodes for each item when imported.
Default: falseSince: 5.6
Bulky Metadata
-
bulkyMetadataMigrationThreads Number of threads to use for bulky metadata migration.
Default: 1Since: 5.4.5
Authentication
-
passwordHashAlgorithm The hash algorithm used to hash all user passwords. Note that changing this will make it impossible to authenticate with any existing user.
Default: MD5
-
ldapAuthentication If set to true, LDAP authenticated will be enabled.
Default: false
-
userTokenMaxInterval Maximum token time for token created by regular user, in seconds.
Default: 60
-
userTokenDefaultInterval Default token expiration time, in seconds.
Default: 60
-
userTokenRefreshInterval Minimum time between token refreshments, in seconds.
Default: 10
Jobs and imports
-
concurrentJobs Number of jobs that are allowed to be started.
Default: 3
-
dedicatedJobPool Enable/disable dedicated job pool configuration.
Default: false
-
jobRetryCount Number of retries for a job step before job continues with next step.
Default: 5
-
jobExclusiveStepMaxWait The maximum number of seconds that a job step will wait before executing if there’s a job step running from another job for the same item or file. This exists to reduce the number of optimistic locking exceptions for job steps that are known to conflict.
Only applies to steps with the exclusive flag (0x0100000) set.
Default: 1
-
defaultIngestStorage The default destination storage for imports and transcodes. Note that storages selected by storage rules will take priority over this.
Example: VX-1
-
parseFileMetadata If set to true, file metadata will be metadata parsed and inserted as Item metadata. Supported formats for this type of metadata include Office formats and PDF files.
Default: false
-
maxFileMetadataLength The max length of file content (in characters) that will be extracted as Item metadata.
-1means unlimited.Default: 100000
-
parseXMP If set to true, XMP metadata will be parsed and inserted as Item metadata.
Default: false
-
xmpIgnoreElements Contains comma-separated list of elements that are not read when parsing XMP data.
Default: DocumentAncestors,Pantry,History
-
simpleImageProcessor If false, use ImageMagick (must be installed, see Using ImageMagick for image handling). Otherwise, use built-in image handling.
Default: true
-
disableThumbnailGeneration Will disable thumbnail generation by default. Can be overridden on a per job basis.
Default: false
-
alwaysGenerateThumbnails When
true, thumbnails will be generated on import even if no transcoding takes place.Default: false
-
disableThumbnailReindexing When
false, the thumbnail index will be rebuild when items are reindexed.Default: true
-
mediaCheckInterval The retry interval of media check (seconds).
Default: 3
Storage and file
-
groupImportableFiles When true, auto-import will only import one file for each file prefix as an item. Other non-sidecar files with the same prefix will be ignored. Set to false to import all files.
Default: true
-
keepMissingFiles If set to false then missing files that do not belong to any items will be removed from the database instead of being marked as lost.
Can be overridden on a per storage basis using the
keepMissingFilesstorage metadata property.Default: false
-
keepEmptyDirectories Do not delete empty parent directories when deleting the last file in a directory, see Parent directory management.
Can be overridden on a per storage basis using the
keepEmptyDirectoriesstorage metadata property.Default: false
-
scanMethodAlgorithm Set default scan method algorithm, see Storage scanning algorithm.
Can be overridden on a per storage basis using the
scanMethodAlgorithmstorage metadata property.Default: not set
Since: 5.5.2
-
storageActivationFile Require a .storage file to be present in the storage method’s URI for storage to register as online.
Default: falseSince: 4.17
-
fileHashAlgorithm Hashing algorithm used. If changed, the
c_hashcolumn of thet_filetable should probably be set toNULL.Example: SHA-1
-
enableTranscoderHash Off-load file hash calculation available transcoder.
Default: false
-
fileTempKeyDuration Number of minutes a no-auth URI is valid (Auto method types).
New in version 4.16: This property also controls the valid duration of a VSA noauth URI.
Example: 10
-
useS3Proxy When
true, Vidispine will create S3 pre-signed URLs for reading during job.Example: false
-
s3ProxyValidTime The validate time (in minutes) of S3 pre-signed URL.
Example: 60
-
s3ConcurrentParts The number of threads used for each S3 file upload.
Default: 1
-
s3PartSize The S3 chunk/part size. Note that multipart uploads are always performed regardless of file size. Each part that is uploaded will be larger than the previous part. To control the increase of the part size, use
s3PartSizeIncrease.Default: 5242880
-
s3PartSizeIncrease The size increase of each S3 part that is uploaded.
The default is chosen so that the maximum part size is 2 GB. With S3 supporting a maximum of 10000 parts, and the default part size being 5 MB, this gives a maximum object size of 3.5 TB.
Default: Automatically selected based on the part size.
-
s3ConnectionTimeout The timeout (in milliseconds) when establishing a connection to S3.
Default: 50000
-
s3SocketTimeout The timeout (in milliseconds) when reading from a connection to S3.
Default: 50000
-
s3MaxErrorRetry The maximum number of times to retry a failed S3 request.
Default: 3
-
useAzureProxy When
true, Vidispine will create AZURE-SAS URLs for reading during job.Example: false
-
azureSasValidTime Specifies for how many minutes an AZURE-SAS URI will be valid. See Retrieve a file.
Example: 60
-
stornextFileMetadata Specifies which fields that should be stored on the Vidispine file entity from StorNext metadata. See StorNext Metadata.
Default: location,class,existingCopies,targetCopies
-
useSegmentFiles If
true, files generated by the transcoder on storages that do not support partial modification are written as segment files on the storage, instead of local files on the application server. See Temporary storages for transcoder output.Default: false
-
useMutableRangeWrites If
true, use a writing pattern that is more efficient for S3 writes. The only reason for not have this set totrueis in a clustered set-up with transcoders directly connected to Vidispine Server, i.e., not via VSA.Default: true
-
s3CredentialType Controls the type of S3 credentials being sent to a VSA. Allowed values are
none,temporaryandsecretkey. For more explanation, please check here.Default: temporary
-
stsCredentialDuration The duration (in seconds) of any temporary AWS credentials generated for agents. The allowed range of values is
[900, 129600]Default: 129600
-
stsRegion To generate temporary credentials Vidispine server will use the AWS Security Token Service (STS). Set this parameter to the region where you want Vidispine server to call the STS API. A good choice is the same region as your Vidispine server is running in.
Default: us-west-2
-
stsAssumeRole This is an optional configuration to use when generating credentials using the
s3scheme. The name of the role to use when generating assume role credentials to give direct access to a file using Generate temporary credentials.Since: 4.15
-
defaultStorageRuleJobPriority Controls which priority that should be assigned to jobs started as a result of storage rules, such as copy and delete jobs.
Default: MEDIUMSince: 5.1
Archival
-
trustArchivedFiles A file needs to have a replica (another file with the same hash) before it can be removed by the storage rules.
If set to true, then archived files will be treated as valid replicas.
Default: false
-
glacierArchiveDescription Format the archive description according to the defined pattern:
-
{itemId}- Replaced by the item id. -
{fileId}- Replaced by the id of the archived file. -
{metadata-field:name}- Replaced by the value of the metadata field with the given name. -
{sourceId}- Replaced by the id of the source file. -
{sourcePath}- Replaced by the path of the source file. -
{sourceUri}- Replaced by the URI of the source file. -
{date}- Replaced by the archive date in ISO 8601 format. -
{dateString}- Replaced by the archive date, in formatdow mon dd hh:mm:ss zzz yyyy.
Example:
Item:{itemId}, file:{fileId}, path:{sourcePath}, Archive date:{date}, Title:{metadata-field:title}Default: my archive {dateString}-
File system
Since 4.1.1, several of the stat system calls that was made by the JRE has been migrated into call in the JNI code. This can be enabled using the localFSTimeData option. On systems where local file systems are sensitive to stat loads, it is recommended to enable this option, and possibly the statsPerSecond option.
-
fileHierarchy See Using a tree structure for files.
Example: 0
-
fileSequenceStart The starting number for file sequences.
Example: 0,0001Default: 1
-
thumbnailHierarchy See Using a tree structure for thumbnails.
Example: 0Changing this property will cause old thumbnails to be lost. If you need to change the value on a system in production, please contact Vidispine.
-
statsPerSecond Limit the total number of stats done on local file system. See also per-storage metadata ( Storages).
-
localFSTimeData Use JNI methods for retrieving file modification time. See below.
Default: false
-
firstLastModifiedAsCreationTime Use the first reading of modification time as the creation time. Can be used on file systems which do not have the notion of creation time.
Default: false
-
disableATime Do not record atime. Used in conjunction with
localFSTimeData.Default: false
Transfers
-
signiantManagerHost Hostname of Signiant manager. See Signiant Integration
-
signiantManagerUser Username for Signiant manager. See Signiant Integration
-
signiantManagerPassword Password for Signiant manager. See Signiant Integration
-
enableTranscoderTransfer Off-load file-to-file transfers of non-growing files to available transcoder.
Changed in version 5.3.1: Default value was changed to true
Default: true
-
storageRuleDisableArchiveSources If
true, archived files will not be used as sources for storage rule transfers.Default: false
Library
-
libraryUpdateInterval Default library update interval in the system (seconds).
Default: 60
-
libraryExpireTime Default library expire time in the system (seconds).
Default: 86400
-
useLucene If Lucene should be used directly when updating auto-refreshing libraries. This is faster than using Solr when there are a large amount of auto-refreshing libraries, but only works with the default Solr configuration that is shipped with Vidispine.
Default: false
Growing files
-
fileGrowingTimeout The max time a file can keep growing (seconds).
Default: 36000
-
fileNotGrowingTimeout A file is considered as not growing if it has not been changed during this period (seconds).
Default: 600
JavaScript
-
javascriptInterpreter The default JavaScript engine to use for scripts that don’t explicitly target a specific engine. Valid values are:
-
graalvm- Use GraalVM JavaScript. -
rhino- Use Mozilla Rhino.
Changed in version 5.0: GraalVM JavaScript was made the default.
Default: graalvmSince: 5.0
-
Services
-
itemDeleteInterval The running interval (seconds) of
ItemDeleteCruncherduring the “idle” period (no item to delete).Default: 60
-
itemDeleteIntervalShort The running interval (seconds) of
ItemDeleteCruncherduring the “busy” period (there are items to be deleted).Default: 5
-
itemDeleteExecutionTime Max running time (seconds) of
ItemDeleteCruncherthread, after that it goes to sleep.Default: 5
-
fileHashExecutionTime Max running time (seconds) of a file hashing thread, after that it goes to sleep.
Default: 10
Broker
-
compressDocumentMessages If JMS messages containing XML should be compressed or not. If
truethen the JMS_SUN_COMPRESS property will be set on JMS messages so that compression/decompression is performed by the OpenMQ client.Works only with OpenMQ.
Default: true
-
activeMQAdminUrl Specifies the admin URI of ActiveMQ, for example
http://myactivemq:8761. Normally it is not necessary specify it, but some functionality requires it, for exampleindexQueueLimit. For embedded broker, this does not have to be set.Default: not set
Since: 5.7.1
Cached:
-
activeMQBrokerName Specifies the ActiveMQ broker name used. Used in conjunction with
activeMQAdminUrl.Default: localhostSince: 5.7.1
Cached:
Database management
-
auditTrailPurgingTime Remove all audit trail entries older than the specified time (in minutes) and put them in XML format in files inside the directory described by
auditTrailPurgingDirectory. See Audit trail table.Default: not set
-
auditTrailPurgingDirectory Default: not set
-
auditTrailPurgingCompress If
true, purged logs are stored using gzip compression. Iffalse, they are stored as plain XML documents. Equivalent to thecompresselement in the database purging configuration documentDefault: true
-
auditTrailPurgingBatch Sets batch size of audit log entries when puring. If there are fewer entries, purging is paused. Equivalent to the
batchelement database purging configuration documentDefault: 10000
-
auditTrailIncludeBody When
true, the audit trail will include the body of requests, as well as the response code returned by the requests. These will always be included in purged documents, and can be seen in GET /log requests using thebodyquery parameter. Equivalent to thebodyelement in database purging configuration documentDefault: false
Since: 5.1
-
changeLogPurgingTime Remove all processed change-log entries older than the specified time (in minutes). See Change-log table.
Default: not set
-
changeLogForcePurgingTime Remove all change-log entries (processed or unprocessed) older than the specified time (in minutes).
Default: not set
-
jobPurgingTime Remove all job entries older than the specified time (in minutes) and put them in XML format in files inside the directory described by
jobPurgingDirectory. See Job table.Default: not set
-
jobPurgingDirectory Default: not set
-
disableSequenceChecker Default: false
On start-up, Vidispine checks the sequences for all tables, which can be a lengthy process. On a database which is known to be in a consistent state, setting
disableSequenceCheckertotruewill cause this step to be skipped.
Transcoding
-
maxTranscoderUnavailableTime When a transcoding job has started, and transcoder connection becomes available, wait for this time (seconds) for connection to be restored until job fails.
Default: 60 seconds
-
bulkyMetadataKeysToIgnore Comma-separated list of bulky metadata keys to ignore from analysis results, e.g.
crop,Default: (none)
-
transcoderNonblockingStatusInterval How frequently the transcode progress of a job will be updated, in milliseconds. A lower number may give a better user experience, but also a higher number of writes to the database.
Default: 5000
Vidispine Server Agent
-
syncVxaFileChanges This determines whether items created from the VSA or VDA are re-created when the corresponding original file is changed. If the original file is deleted, the item would be removed.
Default: false
-
syncVxaDeletes Similar to
syncVxaFileChangesbut this one only affects file deletions. When the original file on an agent storage is removed, the corresponding item in Vidispine would also be deleted.Default: true
-
useVxaHash If set to
true, Vidispine agent will be used to compute the hash of the files.Default: false
-
useVxaMimeType If set to
true, Vidispine agent will be used to detect the mime type of the files.Default: false
Deletion lock
-
autoRemoveExpiredDeletionLocks It set to
true, expired deletion locks on collections and items will be removed automaticallySince: 4.15
Default: false
-
deletionLockCleanUpBatchSzie Number of “to be removed” or “expired” deletion locks that will cleaned up in one batch.
Since: 4.17.7
Default: 100
System properties
System properties are set as argument to the JVM. See Setting JVM options.
The following properties are used in Vidispine:
-
com.vidispine.site The site id prefix for the current site.
Default: VX
-
com.vidispine.license.dir The directory containing the Vidispine license or slave license file.
Default: ${com.sun.aas.instanceRoot}
-
com.vidispine.license.tmpdir The directory where temporary license files may be stored.
Default: ${com.sun.aas.instanceRoot}
-
com.vidispine.credentials.dir The directory containing credentials files such as the
AwsCredentials.propertiesfile used with Amazon S3 and Glacier.Default: ${com.sun.aas.instanceRoot}
-
com.vidispine.log.dir The directory containing the server log files.
Default: ${com.sun.aas.instanceRoot}/logs
-
vidispine.identifier.format If
full, output Long identifiers.Default: Normal, short identifiers.
-
com.vidispine.xml.prefix Controls namespace prefix mapping of XML written by Vidispine that is _not_ part of API output, e.g. XML written to files. Comma-separated list of
{namespace}={prefix}assignments. Namespaces without assignment get ans#prefix.Default: Only
ns#prefixes.Example: http://www.smpte-ra.org/schemas/2067-2/2016=cc
-
infi.sleep_after_start The number of seconds to sleep after starting Infinispan, before VidiCore going on starting other services.
This should prevent “split-brain” issue during startup in some cases.
Default: -1(No delay)
-
com.vidispine.asyncpool.coresize Controls the size of the internal async pool in VidiCore (New in 5.3.1.). It’s also available as a configuration property.
Default: 5
-
com.vidispine.service.quorum The VidiCore background services (i.e.
IndexCruncher,JobCruncher, etc.) would only be started/stopped if the quorum is reached. This is to prevent “non-clustered” services from being started on multiple nodes in a cluster with a “split-brain” issue.The quorum value should be set to
> N/2, whereNis the total instance count in the cluster.For Example: The quorum should be set to
2for a two-node-cluster as well as a three-node-cluster.(New in 5.3.5.).
Default: 1
Since 5.3, some system properties can be overridden by configuration properties. The properties that can be overridden are:
-
com.vidispine.site -
vidispine.identifier.format -
com.vidispine.xml.prefix
Also in 5.3, is is possible to change the log levels of components using configuration properties. The configuration properties used for this is:
-
loglevel.followed by the component name. (e.g.loglevel.com.vidispine.filemgmt.storagesupervisor)
New in version 5.4.4.
It is now also possible to override the com.vidispine.service.quorum system property using a configuration property as above.
While it is possible to change these values on a system in production, it is adviced that changing these values are done on an idle system, as the update in a cluster is asynchronous.
Bulky metadata storage
New in version 5.3.
By default, the values of bulky metadata are stored in the database. In a large system, this can occupy a large portion of the database. In version 5.3, there is the possibility to store bulky metadata on file system (or cloud storage).
To change the configuration the bulky metadata configuration resource is used. The configuration document contains two parameters, a base URI for where the bulky metadata should be stored, and an option to disable that storage. An explanation on how these to parameters interact follows below.
Transferring bulky metadata from database to file system
To move bulky metadata entries from database to the file system pointed out by the URI, use a configuration document like this:
PUT /configuration/bulkymetadata
Content-Type: application/xml
<BulkyMetadataConfigurationDocument xmlns="http://xml.vidispine.com/schema/vidispine">
<uri>file:///mnt/srv/bulkystorage/</uri>
</BulkyMetadataConfigurationDocument>
When this configuration is set, all bulky metadata is written to the file storage. Reading metadata is also done from file storage, but if the file storage does not contain the metadata, the database is read instead.
The path that is used to store the bulky metadata looks like this:
-
Item id, with the id split in thousands
-
Shape id, with the id split in thousands
-
Key, channel, stream, and timecode, delimited by
-.
In order to migrate all metadata to the storage, a reindex command is used:
PUT /reindex/bulkymetadata
When the reindex process has finished, all metadata is on the storage. This can be verified by retrieving the bulky metadata configuration, which also returns status information.
GET /configuration/bulkymetadata
Accept: application/xml
<BulkyMetadataConfigurationDocument xmlns="http://xml.vidispine.com/schema/vidispine">
<uri>file:///mnt/srv/bulkystorage/</uri>
<status>
<metadataInDatabase>0</metadataInDatabase>
<metadataOnStorage>45033</metadataOnStorage>
<storageStatus>OK</storageStatus>
</status>
</BulkyMetadataConfigurationDocument>
New in version 5.4.5: The bulky metadata migration can be parallelized by setting the bulkyMetadataMigrationThreads property.
Transferring bulky metadata from file system to database
To move bulky metadata entries back from the file system to database, use a configuration document like this:
PUT /configuration/bulkymetadata
Content-Type: application/xml
<BulkyMetadataConfigurationDocument xmlns="http://xml.vidispine.com/schema/vidispine">
<uri>file:///mnt/srv/bulkystorage/</uri>
<storageDisabled>true</storageDisabled>
</BulkyMetadataConfigurationDocument>
Note the URI is still present, but the storageDisabled is set to true. It is vital that the URI remains set, and unchanged, as metadata will be read from the storage if it is not present in the database.
To migrate all metadata, use again:
PUT /reindex/bulkymetadata
GET /configuration/bulkymetadata
Accept: application/xml
<BulkyMetadataConfigurationDocument xmlns="http://xml.vidispine.com/schema/vidispine">
<uri>file:///mnt/srv/bulkystorage/</uri>
<storageDisabled>true</storageDisabled>
<status>
<metadataInDatabase>45033</metadataInDatabase>
<metadataOnStorage>0</metadataOnStorage>
<storageStatus>OK</storageStatus>
</status>
</BulkyMetadataConfigurationDocument>
Once everything has been migrated, the URI can be removed from the configuration, if preferred.
Transferring bulky metadata from one storage to another
There are two ways of moving bulky metadata from one storage to another.
-
Move metadata from storage to database, ensure every metadata is moved, then move metadata to new storage.
-
Stop/pause Vidispine, copy or move files from the old storage to the new storage. Start Vidispine and change URI.
If the second option is chosen, tools like rsync or aws s3 sync can be used to do a first synchronization while the system is in use.
Important notes
The number of bulky metadata entries on storage returned by GET /configuration/bulky-metadata is based on database information, and not explicit file system scanning.
When the bulky metadata is moved from database to file system, note that database backups no longer contain the bulky metadata values. Make sure appropriate backup procedures is in place for the bulky metadata storage. Good tools are rsync and aws s3 sync (mentioned above) or incremental tar balls.
Before migrating bulky metadata, a full database backup is recommended.
Advanced configuration/tweaking
Methods in this section should only be used after recommendation by Vidispine Support.
SQL Query rewriting
New in version 5.0.6.
SQL queries sent by Vidispine can be modified by creating a file sqltranslations.txt in the /etc/vidispine/ directory. The format of the file are pairs of lines, where the first line of each pair is a regular expression, and the second line of the pair is a replace pattern, e.g.:
(?i)^(select .*)$
/* comment inserted */ $1
(?i)^(delete .*)$
/* another comment inserted */ $1