Known Issues for Replication Server

Known issues and workarounds for Replication Server.

Replication Server Issues

CR#

Description

690422 Incorrect value for text and image columns.

In a warm standby environment, if you set text and image columns of a table to do_not_replicate on the active database, and you create a table replication definition for this table without send standby replication definition columns, the replication definition does not include the text and image columns. As a result, the standby database gets incorrect value for the text and image columns.

Workaround:
  1. Create the table replication definition with send standby replication definition columns clause.
  2. Drop the table replication definition if it is not necessary.
689260 dsi_command_convert for a table does not override in a warm standby application.

Workaround: Add table owner name in the alter connection command. For example:

alter connection to zeus_ds.omega {
[for replicate table named dbo.alpha] ...}
689026 Risk of data loss or duplication when altering multipath replication topology.
Data loss or data duplication may occur if you change any of these items in a multipath replication system:
  • Bindings of objects to paths
  • Number of paths when distributing objects by connections
  • Configuration of logical paths
  • Replication Server entries in the interfaces file
Workaround: Before you alter the system topology, ensure that:
  • All Replication Servers involved in the previous topology are quiesced. Verify with admin quiesce_check.
  • RepAgent starts reading from the end of the primary database log.
688215 If you apply an insert command with bulk interface and later apply an insert to that table that does not qualify for the bulk interface but qualifies for dynamic SQL, the dynamic SQL may fail and the DSI connection suspends. The Replication Server log shows:
E. 2011/10/23 23:23:01. ERROR #5216 DSI EXEC(109(1) ost_rqalnxsuse2_15.rdb1) - /dsiutil.c(432)
        The interface function 'SQLBindParameter' returns FAIL for database 'ost_rqalnxsuse2_15.rdb1'. See messages from the interface function for more information.
E. 2011/10/23 23:23:01. ERROR #1027 DSI EXEC(109(1) ost_rqalnxsuse2_15.rdb1) - /dsiutil.c(432)
        Open Client Client-Library error: Error: 16843024, Severity 1 -- 'ct_param(): user api layer: external error: This routine cannot be called while results are pending for a command that has been sent to the server.'.
I. 2011/10/23 23:23:01. The DSI thread for database 'ost_rqalnxsuse2_15.rdb1' is shutdown

Workaround: Execute resume connection.

687280 Replication Server fails when you enable RTL.

Replication Server fails when a replication definition contains more columns than the source table and when the replicate minimal columns is set to on. This occurs when an update or a delete is compiled first into the in-memory database, prior to an insert statement.

Workaround: Remove either:
  • replicate minimal columns from the replication definition, or,
  • Columns that do not exist in the source table from the replication definition.
686258 Replication Server fails in some instances because it inconsistently manages owner qualification for the replicated objects when the HVAR feature, dsi_compile_enable, is set to on.

Workaround: Set HVAR to off.

678521 Cannot find a matching function string for the function-string class rs_sqlserver_function_class.

If you create multiple replication definitions for a specified primary table and you subsequently alter a column without an LOB datatype to be an LOB column in one of the replication definitions, the LOB-related function strings are not created automatically for one of the replication definitions at the replicate Replication Server. The replicate Replication Server log shows:

Cannot find a matching function string for function 'alltypes.rs_writetext' and function string class 
'rs_sqlserver_function_class'.
Workaround:
  1. Clear the failed Data Server Interface (DSI) connection queue by executing resume/skip tran until the DSI connection resumes.
  2. Drop the subscription to the problem replication definition at the replicate Replication Server, then drop the replication definition at the primary Replication Server, then re-create both.
657575

If a Stable Queue Transaction (SQT), Stable Queue Manager (SQM) page caches, or DSI Bulk/HVAR buffers are using heavy memory loads, Replication Server may fail when it exceeds the low default ulimit settings in the operating system.

Workaround: Either:
  • Modify the runserver file with these settings:
    • ulimit -d 'unlimited'
    • ulimit -c 'unlimited'
    • ulimit -m 'unlimited'
  • As an alternative, modify system wide limits. For example, on IBM AIX, change these default settings in /etc/security/limits file:
    • fsize = -1
    • core = 2097151
    • cpu = -1
    • data = -1
    • rss = -1
    • stack = 65536
    • nofiles = 2000

See your operating system documentation for similar implementations.

653626
DSI may shutdown when creating connections to:
  • Oracle using profile rs_ase_to_oracle
  • DB2 using profile rs_ase_to_db2
  • UDB using profile rs_ase_to_udb
At the time of shutting down, Replication Server generates an error message. You see:
Message from server: Message: 2601, State 6, Severity 14 -- 'Attempt to insert duplicate key row in object 'rs_translation' with unique index 'rs_key_translation'

The rs_translation system table has unique index on (classid, source_dtid). The two translation (ASE binary to rs_oracle_binary and ASE timestamp to rs_oracle_binary) generates the duplicate key insert error.

Workaround: For Replication Server versions 15.5 and later, you have to manually remove the translations when you encounter this error. Open the SQL scripts and search for timestamp to find the related SQL statements.

For ase_to_oracle:
delete from rs_profdetail where profid = 0x000000000e000000 and pdetailid = 0x000000000e00003f
delete from rs_systext where parentid = 0x000000000e00003f and sequence = 1
delete from rs_profdetail where profid = 0x000000000e000000 and pdetailid = 0x000000000e000040
delete from rs_systext where parentid = 0x000000000e000040 and sequence = 1
For ase_to_oracle_eco:
delete from rs_profdetail where profid = 0x000000000e010000 and pdetailid = 0x000000000e010042
delete from rs_systext where parentid = 0x000000000e010042 and sequence = 1
delete from rs_profdetail where profid = 0x000000000e010000 and pdetailid = 0x000000000e010043
delete from rs_systext where parentid = 0x000000000e010043 and sequence = 1
For ase_to_oracle_ecda:
delete from rs_profdetail where profid = 0x000000000e020000 and pdetailid = 0x000000000e02003f
delete from rs_systext where parentid = 0x000000000e02003f and sequence = 1
delete from rs_profdetail where profid = 0x000000000e020000 and pdetailid = 0x000000000e020040
delete from rs_systext where parentid = 0x000000000e020040 and sequence = 1
For ase_to_udb:
delete from rs_profdetail where profid = 0x000000000e00000c and pdetailid = 0x000000000e000c27
delete from rs_systext where parentid = 0x000000000e000c27 and sequence = 1
delete from rs_profdetail where profid = 0x000000000e00000c and pdetailid = 0x000000000e000c28
delete from rs_systext where parentid = 0x000000000e000c28 and sequence = 1
For ase_to_db2:
delete from rs_profdetail where profid = 0x000000000e000012 and pdetailid = 0x000000000e001231
delete from rs_systext where parentid = 0x000000000e001231 and sequence = 1
delete from rs_profdetail where profid = 0x000000000e000012 and pdetailid = 0x000000000e001232
delete from rs_systext where parentid = 0x000000000e001232 and sequence = 1
643174 timestamp columns are replicated in a warm standby and multisite availability (MSA) setup.

timestamp columns are sent to the replicate database even if High Volume Adaptive Replication (HVAR) is set to on, send_timestamp_to_standby is set to off, and there is no replication definition defined.

Workaround: Set HVAR to off, or create replication definition without the timestamp columns.
642091 RepAgent fails when Replication Server is configured to use Secure Sockets Layer (SSL) with an ERSSD.

Workaround: Either:

  • Disable SSL using configure replication server with the use_ssl option, or,

  • Do not use ERSSD if the Replication Server is configured to use SSL.
629548 On IBM AIX 64-bit platforms, isql cannot connect to Replication Server using SSL.

If you use isql and SYBASE.csh to connect to Replication Server through SSL, the connection fails. isql does not initialize the network filter.

Workaround: Edit the LIBPATH environment variable in SYBASE.csh or SYBASE.sh.
In SYBASE.csh:
source SYBASE.csh
setenv LIBPATH $SYBASE/$SYBASE_OCS/lib3p:$LIBPATH
In SYBASE.sh:
source SYBASE.sh
export LIBPATH=$SYBASE/SYBASE_OCS/lib3p:$LIBPATH
621751 Replication Server cannot connect to LDAP on 64-bit platforms.

If the libsybdldap.so and libsybdldap64.so are not specified in the Directory section in libtcl.cfg, Replication Server cannot connect to the LDAP.

Workaround: Manually edit the libtcl.cfg in $SYBASE/$SYBASE_OCS/config directory to include libsybdldap.so and libsybdldap64.so.

For example:

[DIRECTORY]
ldap32=libsybdldap.so ldap://sylvester:3389
/dc=Sybase,dc=com??one??bindname=cn=Manager,dc=Sybase,dc=com??secret  
ldap64=libsybdldap64.so ldap://sylvester:3389
/dc=Sybase,dc=com??one??bindname=cn=Manager,dc=Sybase,dc=com??secret

The entry name has changed from ldap to ldap32. To start the LDAP session with dscp utility:

open ldap32

620380 Use rs_init to configure Replication Server with an existing RSSD.

When configuring Replication Server 15.5 or later using the rs_init with an existing RSSD, an error occurs in rs_init.

Workaround: Drop the RSSD before configuring the Replication Server.
618624 Insufficient number of threads in Replication Server.

If you increase the number of client connections and did not increase the number of Open Server™ threads that the Replication Server can use, Replication Server may shut down.

Workaround:
  1. Log in to RSSD.
  2. Increase the value of num_threads.
  3. Restart Replication Server.
616941 Stack trace error at start-up when sort order is not in the objectid.dat file.

If the sort order is not set correctly in the [collate] section of $SYBASE/config/objectid.dat, a stack trace error occurs during Replication Server start-up.

Workaround:
  1. Make sure that the character set and set order have been set correctly in Rep_Server_name.cfg file. For example:
    • RS_charset=cp850
    • RS_sortorder=scannocp
  2. Go to $SYBASE/charsets/character set; for example, $SYBASE/charsets/cp850.
  3. Locate and open corresponding sort order file; for example, scannocp.srt.
  4. Check the line that has an “id” and find the sort order ID, for example,

    id = 0x30; Unique ID # (48) for the sort order

    The sort order ID is 48.

  5. In $SYBASE/config/objectid.dat, check that there is a line for that sort order under the [collate] section:

    1.3.6.1.4.1.897.4.9.3.48 = scannocp

    The last number is the sort order ID (48), all other numbers are identical for all lines. If you have a custom sort order, add this line for it.

  6. Restart Replication Server.
614717 Issues with parallel_dsi parameter
When you change the value of the parallel_dsi parameter using the alter connection command or configure replication server command, Replication Server changes the existing configuration values of these parameters:
  • dsi_num_threads
  • dsi_num_large_xact_threads
  • dsi_serialization_method
  • dsi_sqt_max_cache_size

This may impact your replication performance.

Workaround: Set the parallel_dsi parameter first, and then manually set the desired values for the above-mentioned parameters for your environment if you do not want to use the default values.
607273 When the RSSD is loaded in an Adaptive Server 12.5.4 x server, rs_helprep fails when the repdef_name is greater than 30 characters.

Workaround:

  • Use single quote (‘) or double quote(“) around the long repdef_name.
  • Use a truncated repdef_name. Truncate the repdef_name to the first 29 characters when issuing the rs_helprep request. The rs_helprep then appends the % wildcard at the end when it queries the RSSD tables.
  • Upgrade RSSD data server to Adaptive Server 15.x.
571435 During subscription materialization, using quoted identifiers with a custom function string that includes a quoted constant causes a query failure. The replicate data server identifies the quoted constant as a column instead of a constant.

Workaround: Create the subscription without a quoted constant or create the subscription without materialization.

452806 An application deadlock involving Replication Server and Adaptive Server may occur when Replication Server is configured to use parallel DSI while applying transactions to a table containing text and image columns.

Workaround: Suspend and resume the DSI connection. If the DSI thread does not suspend, restart the Replication Server.