Advanced Replication Guide : Using advanced replication with applications : Building messages for synchronization : Configuring advanced replication messages
  
Configuring advanced replication messages
The content of the synchronization process is fully definable by the application designer. This way the application's needs are best considered. Similarly, the synchronization process can be tailored to efficiently utilize the capacity and characteristics of the currently available infrastructure. solidDB® advanced replication architecture itself does not provide any default process but it does not set any limitations on the contents of a custom built process either.
Setting message size maximum
The maximum size of a single synchronization message can be set by database level system parameters. The SYS_R_MAXBYTES_OUT parameter sets the maximum length of messages sent from a replica database to the master, while SYS_R_MAXBYTES_IN sets the maximum length of messages that can be received to a replica database from the master database.
The default message length for both parameters is 2GB. Valid values for both parameters are between 0 - 2 GB. If 0 is specified, then 2GB is used.
To set these parameters, use the SET SYNC PARAMETER statement in the replica database. The syntax is:
SET SYNC PARAMETER parameter_name value_as_string
For example:
SET SYNC PARAMETER SYS_R_MAXBYTES_OUT ’1048576000’;
Note that for both parameters, an error message is issued if the message is longer than expected.
Setting the commit block size
By default, all data of a publication refresh is written to the replica database in a single transaction. If the reply of a sent message will contain refreshes of large publications, you can adjust the number of rows that are committed in one transaction using the COMMITBLOCK option of the MESSAGE FORWARD or MESSAGE GET REPLY statements. This allows you to divide a single large transaction into multiple smaller transactions. The syntax for using COMMITBLOCK is:
MESSAGE unique_message_name FORWARD
  [COMMITBLOCK block_size_in_rows]
or
MESSAGE unique_message_name GET REPLY
  [COMMITBLOCK block_size_in_rows]
For example:
MESSAGE mymsg FORWARD TIMEOUT 300 COMMITBLOCK 1000
MESSAGE mymsg GET REPLY TIMEOUT 300 COMMITBLOCK 1000
Setting the maximum size of the commitblock can improve performance of the replica databases. However, data integrity cannot be guaranteed if the data is transmitted in more than one transaction and active users on the replica are changing data at the same time. Therefore, we recommend that you disconnect all online users from the replica database when you use the COMMITBLOCK option.
Note If a Replica runs in the HSB configuration, the COMMITBLOCK clause is illegal in commands: MESSAGE GET REPLY, DROP SUBSCRIPTION, MESSAGE FORWARD and MESSAGE GET REPLY. If the COMMITBLOCK clause is used, it produces the error: 25083 Commit block can not be used with HotStandby
See also
Building messages for synchronization