The replication processor, also known as the thread, is a batch program that periodically cycles through and processes any replication queue records that have not been applied to the SQL database. The name of the thread is the timestamp and the number of the thread.

The cycle period is controlled by the sleep interval set by the Settings button on the Dashboard window of Pro2 user interface. This value represents the number of seconds that the processor sleeps between cycles. If the value is set to 0 (zero), then the batch session exits and needs to be restarted to resume processing of replication records.

Replication threads

There can be up to five separate threads of replication processors running. For each thread, a separate replBatch.bat from bprepl\Scripts is run (For example: replBatch.bat, replBatch2.bat, replBatch3.bat corresponding to each thread.) Tables are assigned to specific threads in the Properties window of the Pro2 web user interface.

Note: To increase the number of replication threads, please contact your administrator to modify your license and get additional threads.

For most implementations, one thread is typically enough to maintain pace with the changes to be replicated. For implementations with very high transaction numbers, tables can be spread across up to five queues to manage performance. Individual tables that have exceedingly high transaction volume or are of very high priority for users of the target database can be assigned their own thread.

Other reasons to have tables in separate threads include running static reports on the target database for a subset of tables. These tables are put in their own thread. When it is required to run the static report on the target database, replication for that thread is stopped. Changes for these tables continue to accumulate. When the report is completed, the replication processor for this thread restarts, catches up with the changes in the queue, and then resumes processing of new changes.

Replication log files

Each replication processor writes to two log files - replproc(YEARMMDD-thread#).log and repllog(YEARMMDD-thread#).log, that are located in the operating system directory specified by the LOG_DIRECTORY value in the properties table (by default bprepl\repl_log folder). Any errors encountered and general information such as cycle start and stop time and number of records processed are captured here.

These files should be reviewed periodically and require periodic truncation/deletion or archiving. When the logging level option is set to anything other than None, the replication processor generates basic log entries, such as when procedure libraries are executed and when the processor queue is started and stopped. Each level builds upon the previous level. For example, the Moderate setting logs errors as well as the basic entries generated by the Minimum setting.