Known Issues for Replication Server

Known issues and workarounds for Replication Server.

Replication Server Issues

CR#

Description

708716 Upgrading versions of Replication Server earlier than 15.5 to version 15.5 and later may fail if the preupgrade Replication Server is not an ID server.

Workaround: Use sysadmin system_version to set the ID server system version to 1260 or later, and then restart the preupgrade Replication Server. You can also use sysadmin system_version to check the system version at the preupgrade Replication Server.

708398 If high-volume adaptive replication (HVAR) is set to on and if the length of the text or image column of a noncompilable table is:
  • Greater than 32K, you see "Incorrect syntax near '?'" and the DSI thread shuts down.
  • Less than 32K and the column has compressed Adaptive Server data, this data become corrupted in the replicate database.
A table becomes noncompilable if:
  • You explicitly mark it as noncompilable, or,
  • Replication Server internally flags it as noncompilable when a:
    • Primary key is being changed, and some column values are missing in the outbound queue which happens when the table replication definition has the replicate minimal columns clause and the update only changes a subset of columns;
    • Primary key is being changed, and some column values are missing in the outbound queue which happens when the table text column has the replicate_if_changed attribute and some text columns are not being changed;
    • Foreign key is being updated – the foreign key in the { column_name [references [table_owner.]table_name }) replication definition clause.
Workaround: Set dsi_compile_enable off to disable HVAR.
708134 When replicating in-row text or image columns from Adaptive Server, use one of these workarounds to avoid potential incorrect replication.

Workaround:
  • Mark the in-row LOB columns that are to be replicated as always_replicate instead of replicate_if_changed.
  • Do not use the in-row LOB feature in Adaptive Server (that is to set in-row length to 0) when the column is to be replicated.
  • Set dsi_compile_enable off to disable HVAR on the replicate Replication Server.

If these workarounds do not resolve the issue, contact Sybase Technical Support to obtain an EBF.

705657 Cannot set sqm_cmd_cache_size to greater than 2GB on 64-bit platforms.

Although the maximum allowable size is 2,251,799,813,685,247, the actual maximum value is 2,147,483,647 (2GB -1).

Workaround: None.
704748 (HVAR and RTL) Replication Server fails when a replication definition has more columns than the table schema in the replicate database.

Workaround: Alter the replication definition to match the table schema.

704615 Replication Server may incorrectly interpret LTL commands sent by RepAgent if you enable both the asynchronous parser and Executor command cache features simultaneously.

Workaround: Do not use both features simultaneously.

704573 Alternate connection is not populated into replicate Replication Server RSSD after route upgrade.

When you upgrade a route from pre-15.7 versions to version 15.7 in a mixed-replication environment, the alternate connection at the primary Replication Server is not populated into the replicate Replication Server RSSD.

Workaround: After upgrading the route, at the primary Replication Server:
  1. Drop the alternate connection.
  2. Re-create the alternate connection.
703894 When you set “Initialize standby using dump and load” to yes either in a resource file or in an interactive rs_init, rs_init does not add the maintenance user ID, and the Replication Server objects, such as tables and stored procedures, to the standby database.

Workaround: Use sp_addlogin to add the maintenance user to the standby database.

703832 Cannot replicate BLOB data into non-nullable blob column in UDB and DB2 target databases.

Workaround: Define the blob column as nullable:

  • In the database, and,
  • If you have a table-level replication environment, the replication definition created for the blob table replication.
702699 (Linux) You cannot create an ExpressConnect for Oracle (ECO) connection if you have selected the sample Replication Server during installation.

Workaround: Manually start the sample Replication Server after installation.

701082 Incorrect replication when large object (LOB) compression is changed on table.

These steps result in some updates replicating incorrectly:

  1. Use sp_setrepcol to enable replication of the compressed LOB column to always_replicate in your table replication,
  2. Start replicating data, and
  3. Mark the column to not be compressed.
Workaround: Use sp_setrepcol to enable replication of the compressed LOB column to replicate_if_changed in your table replication.
696238 Increasing the block size increases segment size, instead of recalculating the number of blocks in a segment, resulting in an incorrect disk space size.

Workaround: Drop and re-create the partitions that were created before the block size change.

694983 rs_init does not connect to an Embedded Replication Server System Database (ERSSD) using Adaptive Server® Anywhere when upgrading or downgrading with versions earlier than 15.2.

Workaround: Issue this trace option in rs_init:

rs_init -r resource_file_name -T T_SEND_CLEARTEXT_PASSWORD
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.
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.
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 shut down 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
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.