Replication processor
- Last Updated: April 22, 2020
- 2 minute read
The replication processor, also known as the thread, is a batch program that periodically cycles through and processes any replication queue records that were not 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 the Pro2 wed interface. This value represents the number of seconds that the processor sleeps between cycles. If the value is set to 0, then the batch session exits and must 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 interface.
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 the 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 a setting 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 on the previous level. For example, the Moderate setting logs errors as well as the basic entries generated by the Minimum setting.