Error Number 28049

From SybaseWiki
Jump to: navigation, search

In some exceptional cases, error number 28049 (Cannot find subscription <hex-number> in system tables) is raised in the errorlog of replication server. This can be caused when a subscription is dropped from the replication server by updating the RSSD database manualy, rather than using "drop subscription".

Sample error

Here is a sample of the error, taken from the Replication Server errorlog:

E. 2009/01/17 14:38:18. ERROR #28049 DSI(112 SPC_AM_SUM.summitdb) - sub_rsts.c(519)
	Cannot find subscription <0x0100006580000afc> in system tables

Known solutions

There are two known resolutions for this issue.

drop connection

The easy way is to drop the connection as mentioned in the errorlog, in this case the connection to SPC_AM_SUM.summitdb. This may not always be possible. After the connection has been dropped, re-create it using the create connection command.

sysadmin sqm_purge_queue

To clear this final reference to the subscription, you must run "sysadmin sqm_purge_queue" on the outbound queue associated with this message. For example, assuming the message is associated with outbound queue "112:0", proceed as follows:

  • Suspend all routes into this repserver that could possibly be inserting changes intended for the outbound queue in question.
  • Suspend all LTMs/RATs into this repserver that could possibly be inserting changes intended for the outbound queue in question.
  • Use "admin who,sqm" to confirm that the outbound queue in question is infact empty. IE, Confirm that the value reported for "First Seg.Block" is equal to the value reported for "Last Seg.Block".
  • Place Repserver in "Hibernate" mode
sysadmin hibernate_on
  • Issue the command
sysadmin sqm_purge_queue, 112, 0
  • Return Repserver to normal processing mode:
sysadmin hibernate_off
  • Resume Routes into this repserver.
  • Restart all LTMs/RATs into this repserver.