Notifications

4 views

Description

Data Replication is failing from Producer instance to consumer instance due to table name is getting truncated in data_replication_queue

Release or Environment

NewYork

Cause

When we create the Producer set and select the Source tables and try to replicate by inserting or updating the record in producer instance source table an entry will be created in data_replication_queue with payload, Primary Key field, Primary key value, Table name and Sequence

If the custom source table name is more than 40 char but the field "table" in data_replication_queue" is pre defined as 40 default so source table name will get truncated and the replication set think that these are two different tables and not allowing cross scope and replication is failing

in sys_log you will see below logs

[code]

<pre>

com.glide.usageanalytics.lef.api.EntitlementAPIException: Invalid API call for app: com.glide.idr whose license category is Not beta
Caused by error in <refname> at line 1
com.glide.usageanalytics.lef.api.GlideEntitlement.hasLicenseForApp(GlideEntitlement.java:393)
com.glide.usageanalytics.lef.api.GlideEntitlement.hasBetaLicenseForApp(GlideEntitlement.java:370)
com.glide.usageanalytics.lef.api.GlideEntitlement.jsStaticFunction_hasBetaLicenseForApp(GlideEntitlement.java:225)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:498)
org.mozilla.javascript.MemberBox.invoke(MemberBox.java:138)
org.mozilla.javascript.FunctionObject.doInvoke(FunctionObject.java:670)
org.mozilla.javascript.FunctionObject.call(FunctionObject.java:614)
org.mozilla.javascript.ScriptRuntime.doCall(ScriptRuntime.java:2582)
org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:32)
org.mozilla.javascript.gen.sys_script_2ee5b3290b41230096eda3f6f6673a04_script_25501._c_executeRule_1(sys_script.2ee5b3290b41230096eda3f6f6673a04.script:4)
org.mozilla.javascript.gen.sys_script_2ee5b3290b41230096eda3f6f6673a04_script_25501.call(sys_script.2ee5b3290b41230096eda3f6f6673a04.script)
org.mozilla.javascript.ScriptRuntime.doCall2(ScriptRuntime.java:2651)
org.mozilla.javascript.ScriptRuntime.doCall(ScriptRuntime.java:2590)
org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:42)
org.mozilla.javascript.gen.sys_script_2ee5b3290b41230096eda3f6f6673a04_script_25501._c_script_0(sys_script.2ee5b3290b41230096eda3f6f6673a04.script:1)
org.mozilla.javascript.gen.sys_script_2ee5b3290b41230096eda3f6f6673a04_script_25501.call(sys_script.2ee5b3290b41230096eda3f6f6673a04.script)
org.mozilla.javascript.gen.sys_script_2ee5b3290b41230096eda3f6f6673a04_script_25501.exec(sys_script.2ee5b3290b41230096eda3f6f6673a04.script)

</pre>

[/code]

 

Resolution

  • Go to sys_db_object and check name contains data_replication_queue
  • You will see up to 6 shards since data_replication_queue is rotation table
  • go to record data_replication_queue from above list and update the field length to 80 for field name "table"
  • Once the field length is updated that should get applied to all shards to make data replication successful
  • So go to sys_table_rotation and select data_replication_queue and click on "Synchronize Shards" under related links and that should update all shards table field length.

Additional Information

This issue is identified as "PRB1382548" and currently in work in progress by Dev team

Article Information

Last Updated:2020-01-24 13:53:26
Published:2020-01-24