Data Sync Process Settings

Data Sync Process Settings list six parameters that are needed for configuring data synchronization messages.

 

When an entity is enabled for data synchronization, it generates a XML for each data inserted, modified or deleted on that entity and save it in the buffer table (REPL_BUFFER_TAB). These XMLs are called synchronization messages. It creates one application message by bundling these type of synchronization messages together and that application message is called bundled synchronization message.   

Parameter Name Description
BUNDLESIZE Number of synchronization messages bundled  in a one bundled synchronization message. Default value is 30 but this can be changed depending on the tuning requirements. For the situations where there is a huge message backlog or it needs maximum utilization of network when it is available, BUNDLESIZE can be increased to a high value like 1000/10000. When increasing this value it needs to consider bandwidth of the network.
REPL_BUFFER_START ON/OFF. When value is saved as ON, it initiates a new database process. This process is scheduled for creating application messages (bundled synchronization messages) by bundling synchronization messages fetched from the buffer table. 
REPL_BUFFER_COUNT The database process uses bulk processing which means that it reads number of rows from the buffer table and store them internally in memory during processing. This minimizes the switch between PLSQL and SQL engines and ensures an efficient processing. Ideally, size should be large enough to accommodate all rows in the buffer table that is ready for processing when the background process starts. 1/1000/10000 are predefined choices. For the situations where there is a huge backlog in the buffer table, REPL_BUFFER_COUNT  can be increased to a high value. When REPL_BUFFER_COUNT is lower than the  BUNDLESIZE,  then it needs to change the value of  REPL_BUFFER_COUNT to be equal to BUNDLESIZE.
REPL_BUFFER_INT Value of this parameter is used to schedule database process. 5/10/30/60 seconds are recommended values and default value is 30 seconds. If the value of this parameter is changed to 5 or 10, then database process generates background jobs for creating bundles very fast. But, if one background job takes more than 5/10 seconds to do the bundling,  there is no any effect for the performance by generating background jobs in every 5 / 10 minutes. Hence, when decreasing this value to 5/10 seconds, it needs to consider size of the backlog, BUNDLESIZE and REPL_BUFFER_MAX all.
REPL_BUFFER_MAX Maximum processing time of the background jobs which are created from the database process. Default value for the REPL_BUFFER_MAX is 120.
SKIPPEDDAYSOLD If a single synchronization message in a bundled message fails, entire bundled message goes to 'Failed' state. You can exclude that single message from the bundle and execute that particular bundled message using Message Viewer. If that particular bundle is executed without any fail, now that particular application message goes to 'Finished' state but there is a excluded single message inside that bundle. These excluded messages from the bundles are called skipped messages. When executing clean up jobs, it deletes application messages which are in 'Finished' state. But, the finished application messages which have skipped messages are deleted from the database if state date of those bundled messages are older than the (SYSDATE - SKIPPEDDAYSOLD). The recommended value is 30 but any other value is acceptable according to the requirements.

 

Note: Values of REPL_BUFFER_COUNT and REPL_BUFFER_INT are used to create the Database Process and to schedule it. Hence, it is recommended to set values for those two parameters before changing REPL_BUFFER_START to ON.