Process Engine Properties (pvm.properties)

The properties in pvm.properties control aspects of the Process Engine.

Property Default Description
Processing thread pool sizes
  • inMemoryThreadPoolSize
8 The number of threads in the pool for in-memory process instances (pageflows and service processes).

This value can be modified if thread monitoring indicates that the threads in the pool are consuming an excessive amount of the CPU. Very high CPU usage may indicate that the system is running excessive in-memory process instances in parallel. Reducing the number of threads in this pool may resolve the problem.

  • inMemoryThreadPoolStepCount
-1 This controls how many pieces of work (steps) an in-memory thread will perform before it will break out of the processing, reschedule the work, and then continue.

This property should be modified only under the direction of TIBCO Support.

  • persistThreadPoolSize
16 The number of threads in the pool for persistent process instances (business processes and business services).
  • pagingThreadPoolSize
8 Controls the size of the thread pool that deals with the paging of process instances.

This property should be modified only under the direction of TIBCO Support.

Cleanup of PVM_REQUEST_QUEUE
  • requestQueueCleanupInline
true These properties control clean up of the PVM_REQUEST_QUEUE database table. By default, rows in the PVM_REQUEST_QUEUE database table are removed when Process Manager has completed processing them. These properties can be used to override this default behavior.

For more information, see Configuring Cleanup of the PVM_WORK_ITEM or PVM_REQUEST_QUEUE Database Tables.

  • requestQueueCleanupBatchSize
500
  • requestQueueCleanupBatchCount
-1
  • requestQueueCleanupInterval
P30
Cleanup of PVM_WORK_ITEM
  • workItemCleanupInline
true These properties control clean up of the PVM_WORK_ITEM database table. By default, rows in the PVM_WORK_ITEM database table are removed when Process Manager has completed processing them.

These properties can be used to override this default behavior. For details, see Configuring Cleanup of the PVM_WORK_ITEM or PVM_REQUEST_QUEUE Database Tables

  • workItemCleanupBatchSize
500
  • workItemCleanupBatchCount
-1
  • workItemCleanupInterval
P30
Engine heartbeat monitor
  • recoveryHeartbeatInterval
15 Controls how often (in seconds) a BPM node updates its heartbeat, indicating that it is still alive and active.
  • recoveryFailureThreshold
120 The number of seconds after which a Process Engine is considered failed and needs to be recovered.
  • recoveryGCInterval
3600 These heartbeat-related properties are used internally -- they should not be changed.
  • recoveryGCBatchSize
10000
  • recoveryPeriodicRecoveryInterval
310
Compression of blob attribute values
  • blobCompress
false Specifies whether BLOB data compression is enabled:
  • true - BLOB data compression is enabled.
  • false - BLOB data compression is disabled.

For more information, see "Configuring BLOB Data Compression" in the TIBCO ActiveMatrix BPM Performance Tuning guide.

  • blobCompressThreshold
4096 If BLOB data compression is enabled, the threshold length above which a field value will be compressed.
  • blobCompressBufferSize
2048 If BLOB data compression is enabled, the buffer size used by the internal compression algorithm.
Note: Do not change this value unless advised to do by TIBCO Support.
BPEL Maintenance
  • moduleCleanupInterval
P10 Not currently used (see bpelMaintenanceModuleCleanupInterval).
  • purgeProcessInterval
D1 Not currently used (see bpelMaintenancePurgeProcessInterval).
Loading rows from PVM_REQUEST_QUEUE The Process Engine maintains a queue of work requests to process. Depending on the number of items in the queue, the engine retrieves further requests from the PVM_REQUEST_QUEUE database table. Although the settings that control the frequency of this retrieval are suitable for most installations, you may want to change them to increase efficiency using the properties listed below.
  • requestQueueBatchSize
25 Controls the number of rows from PVM_REQUEST_QUEUE to read in a batch.
  • requestQueueFillLevel
50 Maximum number of items in the in-memory queue. The engine will read requestQueueBatchSize items (see above) until this is reached.
  • requestQueueLowLevel
10 Minimum number of requests in the request queue. When this number is reached, the engine starts checking the PVM_REQUEST_QUEUE table for new requests
  • requestQueueIdleSleep
100 Number of milliseconds to sleep before trying again when no rows are found.
Loading rows from PVM_EQ_ENGINE
  • engineEventQueueBatchSize
25 Controls the batch size when loading rows from the PVM_EQ_ENGINE table, for events for engines. For internal use only.
Cleaning rows from PVM_EQ_ENGINE
  • engineEventQueueCleanupBatchSize
500 The number of completed rows to remove from the PVM_EQ_ENGINE table in each batch.
  • engineEventQueueCleanupBatchCount
-1 The number of batches to process, in the background, to remove completed rows from the PVM_EQ_ENGINE table. The background process stops when this count is reached, or the number of completed rows is less than the engineEventQueueCleanupBatchSize (see above). A value of -1 causes all completed rows to be removed.
  • engineEventQueueCleanupInterval
P30 The frequency to perform the background cleanup of the PVM_EQ_ENGINE table. Specified as either of the following:
  • P# - Where "P" indicates "periodic" and # is the number of minutes. For example, P60 causes the cleanup job to run every 60 minutes.
  • D# - Where "D" indicates "daily" and # is the hour number (1-24). For example, D20 causes the cleanup job to run daily at 8 PM.

The minimum interval is P1.

Cleaning rows from PVM_QUERY_PAGING
  • queryPagingCleanupBatchSize
500 The number of completed rows to remove from the PVM_QUERY_PAGING table in each batch.
  • queryPagingCleanupBatchCount
-1 The number of batches to process, in the background, to remove completed rows from the PVM_QUERY_PAGING table. The background process stops when this count is reached, or the number of completed rows is less than the queryPagingCleanupBatchSize (see above). A value of -1 causes all completed rows to be removed.
  • queryPagingCleanupInterval
P30 The frequency to perform the background cleanup of the PVM_QUERY_PAGING table. Specified as either of the following:
  • P# - Where "P" indicates "periodic" and # is the number of minutes. For example, P60 causes the cleanup job to run every 60 minutes.
  • D# - Where "D" indicates "daily" and # is the hour number (1-24). For example, D20 causes the cleanup job to run daily at 8 PM.

The minimum interval is P1.

  • queryPagingCleanupTimeout
30 Rows of the PVM_QUERY_PAGING table that are older than this number of minutes are deleted from the table.
Sequence cache sizes The following properties can be used to define the number of ID sequences to cache for entities that are managed by the Process Engine.
Note: ActiveMatrix BPM provides various ID sequence caches that store unique identifiers for different system entities. When a new entity of the appropriate type is required, its ID can be assigned from the cache without needing a call to the database. The size chosen for a cache can therefore have an impact on system performance. For example, a cache size that is too large will take up resources unnecessarily. If a cache size is too small, the component will need to call the database more frequently to obtain a new batch of identifiers.
  • sequenceCacheSizeInstLink
500 ID Sequence Cache for link instances.
  • sequenceCacheSizeInstProcess
250 ID Sequence Cache for persistent process instances.
  • sequenceCacheSizeInstProcessIm
500 ID Sequence Cache for in-memory process instances.
  • sequenceCacheSizeInstTask
500 ID Sequence Cache for task instances.
Transaction verification
  • txVerificationEnable
See description This property provides a workaround for a Microsoft SQL Server defect where a commit returns successfully (in XA mode) even though the transaction has not completed. This defect can result in duplicate work items.

If this property is set to "true", a delay is introduced between transactions to ensure that the previous transaction has committed completely.

Default = true (if Microsoft SQL Server is being used, otherwise the default = false)

If this property is set to "true", the txVerification-related properties listed below can be used to configure the transaction delay.

Also see "Setting Transaction Verification Property (SQL Server Only)" in the TIBCO ActiveMatrix BPM Installation and Configuration Guide.

The next three properties are used in conjunction with the txVerificationEnable property (see above) to configure the transaction delay.
  • txVerificationRetryInterval
5 The number of milliseconds between checks to see if the previous transaction has committed completely. If the check fails after this interval, "Unable to verify transaction [%s], suspending the process" is logged.
  • txVerificationTimeout
60000 The number of milliseconds it checks to see if the previous transaction has committed completely before stopping the checks. Default = 60000 (60 seconds).
  • txVerificationWarn
false Each time a verification check fails, "Tx[%s] verification failed, will retry in %sms" is written to the log. If this property is false (the default), the log message is written to DEBUG. If this property is true, the log message is written to the WARN level.
System transaction timeout
  • systemTxTimeout
Sets the TX timeout used by the Process Engine.

For internal use only.

BPEL Maintenance
  • bpelMaintenanceModuleCleanupInterval
P10 Specifies how frequently pending messages are cleaned up. Specified as either of the following:
  • P# - Where "P" indicates "periodic" and # is the number of minutes. For example, P60 causes the cleanup job to run every 60 minutes.
  • D# - Where "D" indicates "daily" and # is the hour number (1-24). For example, D20 causes the cleanup job to run daily at 8 PM.
  • bpelPendingMessageProcessorNumMessages
500 The batch size for pending-message cleanup jobs, that is, the number of expired signals that are to be processed at one time.
  • bpelMaintenancePurgeProcessInterval
D1 Used to automatically delete completed process instances (includes COMPLETED, CANCELLED and FAILED), based on time, as follows:
  • P# - Where "P" indicates "periodic" and # is a number of minutes. For example, P60 causes completed process instances to be deleted every 60 minutes. The lowest valid value is P60.
  • D# - Where "D" indicates "daily" and # is the hour number (1-24). For example, D20 causes completed process instances to be deleted daily at 8 PM, D1 causes completed process instances to be deleted daily at 1 AM, and so on.

Also see autoDeleteProcesses.

  • bpelUnclaimedPendingMsgProcessorStart
false Determines whether the background job to clear out unclaimed pending messages is run.

For internal use only.

  • bpelUnclaimedPendingMsgProcessorInterval
P30 If system-wide locking is disabled (com.tibco.bx.lockOperation=false), this property specifies how frequently a background job checks for, and processes, unclaimed messages. Specified as either of the following:
  • P# - Where "P" indicates "periodic" and # is the number of minutes. For example, P60 causes it to check every 60 minutes. The lowest valid value is P1.
  • D# - Where "D" indicates "daily" and # is the hour number (1-24). For example, D20 causes it to check daily at 8 PM.

For more information, see Configuring Locking Operation on Retry When Receiving/Retrieving a Message.

  • bpelUnclaimedPendingMsgProcessorNumMsgs
500 If system-wide locking is disabled (com.tibco.bx.lockOperation=false), this property controls the maximum number of unclaimed messages that will be picked up per execution. The minimum is 50.

For more information, see Configuring Locking Operation on Retry When Receiving/Retrieving a Message.

  • bpelInMemoryRecoveryInterval
P10 Controls how often in-memory instances are recovered from the PVM_INMEM_PROC_TRACKER table. Specified as either of the following:
  • P# - Where "P" indicates "periodic" and # is the number of minutes. For example, P60 causes it to check every 60 minutes. The lowest valid value is P1.
  • D# - Where "D" indicates "daily" and # is the hour number (1-24). For example, D20 causes it to check daily at 8 PM.
Global signals
  • globalSignalProcessorInterval
P30 Specifies how frequently expired global signals are cleaned up. Specified as either of the following:
  • P# - Where "P" indicates "periodic" and # is the number of minutes. For example, P60 causes the cleanup job to run every 60 minutes.
  • D# - Where "D" indicates "daily" and # is the hour number (1-24). For example, D20 causes the cleanup job to run daily at 8 PM.
  • globalSignalProcessorNumMessages
500 The batch size for expired global-signal cleanup jobs, that is, the number of expired signals that are to be processed at one time.
Allow null message parts
  • allowNullMessagePart
true Controls whether an exception is thrown if a required parameter is not initialized (that is, it is null) on a web service call:
  • true (default) - an exception is not thrown for a null message part.
  • false - an exception is thrown for a null message part.
Prefixes for threads and URIs
  • idUriPrefix
pvm: Properties for internal use that control the prefix for process instance IDs (for example, pvm:0a123), and the thread prefix (for example, PVM:DB Worker).
  • threadPrefix
PVM
Background job scheduler service
  • jobSchedulerPoolSize
3 The number of threads within the pool of workers that process scheduled background jobs. It limits how many background jobs can run at the same time.
Using the old PVM processing method The "old" PVM processing method is to use a transaction for every work item processed. The "new" method is to use a transaction for a number of work items, reducing the number of times the Process Engine accesses the database.
  • useOldWorkProcessing
false Specifies whether the old or new method is used.
  • maxItemsProcessedPerTx
100 The number of work items to process per transaction.
Adding work items to in-memory queue
  • workItemInMemoryEnqueueCount
10 The number of work items dequeued from the database to add to the in-memory queue for the current thread.
Cache DB token tracker rows
  • cacheTokenTrackers
true Setting this property to "true" reduces the number of calls made to the PVM_TOKEN_TRACKER database table. Set to "false" to disable the caching of trackers.
In-memory Process Instances
  • inMemoryInstanceMaxWorkWaitTime
30 The number of seconds in-memory instance processing will wait for work for the current process instance the thread is processing. If the time expires, processing of the process instance is stopped and it is halted.

This property should be modified only under the direction of TIBCO Support.