Resending lost or corrupt messages

The SYSREMOTEUSER system table contains two columns that manage resending messages:

  • resend_count column   A counter that keeps track of the number of times that the subscriber database has lost messages.

  • rereceive_count column   A counter that keeps track of the number of times the SQL Remote Message Agent (dbremote) has determined that messages from a publisher user have been lost.

When messages are received in the proper order at a subscriber database:

  1. The subscriber SQL Remote Message Agent (dbremote) applies the messages in the correct order and updates its SYSREMOTEUSER system table.

  2. The subscriber SQL Remote Message Agent (dbremote) sends a confirmation message to the publisher.

  3. When the publisher receives the confirmation, its SQL Remote Message Agent (dbremote) updates its SYSREMOTEUSER system table.

When messages are not received in the proper order:

  1. The subscriber SQL Remote Message Agent (dbremote) sends a resend request and increments the rereceive_count value in its SYSREMOTEUSER system table.

  2. When the publisher receives the resend request, it increments the resend_count value in its SYSREMOTEUSER system table for the subscriber.

  3. In the publisher's SYSREMOTEUSER system table, the log_sent value is set to the value in the confirm_sent column. Resetting of the log_sent value causes operations to be resent.

 See also