Avoiding Missed Transactions
To avoid exceeding the Transaction Processor wait-time during batch processing, adopt the following recommendations. Experiment with applying them in combination to achieve the best performance while minimizing the risk of exceeding the wait-time.
This topic is part of Planning Batch Processing When Using Siebel Remote.
Monitor the Transaction Processor Logs
As you apply the recommendations described as follows, use the Transaction Processor logs to see the result and help you to optimize system performance.
Transaction Processor writes these warning messages to its log file when it skips transactions:
GenericLog: GenericError: 0003-11-18 17:04:51
WARNING: A transaction gap has been detected after transaction 122.
Probable Cause: There maybe long-running transactions in your system which are not
committing transactions within the specified duration (600 sec)
Recommendation: Reduce the batch size of your transactions. This will allow the
transactions to be committed to the database within the wait-time window.
If skipped transactions occur while a batch job is running, then investigate the cause. The skipped transactions might not have been routed to mobile users. If so, then the mobile users might have to re-extract the database.
Set a Lower Batch Size for Assignment Manager
Setting a lower BatchSize value reduces the number of records processed before each commit. Reducing this figure reduces the commit times and the risk of exceeding the wait-time. If your performance goals require you to increase the BatchSize parameter, then do so only after analyzing the number of Assignment Manager threads that you have under average and peak workloads. The fewer Assignment Manager threads, the higher that you can set the BatchSize parameter.
You can get performance statistics on threads by raising the Assignment Manager log level. For information about raising the log level, see Siebel System Monitoring and Diagnostics Guide.
Serialize Batch Jobs
Consider staggering the start time of batch jobs. Running batch jobs in staggered or serial order can reduce the risk of exceeding the wait time.