Avoiding insert and update errors in Instance Data Replication

  • Release version: Australia
  • Updated March 12, 2026
  • 2 minutes to read
  • Summarize
    Summarized using AI
    This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.

    Summary of Avoiding insert and update errors in Instance Data Replication

    This guide provides essential instructions for ServiceNow customers to avoid insert and update errors when using Instance Data Replication (IDR), particularly for producer replication sets created before the Utah release. It emphasizes the importance of using a sysclassname filter when replicating parent and child tables to prevent data replication failures.

    Show full answer Show less

    Key Features

    • sysclassname Filter Requirement: When replicating a parent table with child tables, it is crucial to add a sysclassname filter to the parent table's outbound entry to prevent unique key violations during insert operations.
    • Conditional Replication: Depending on your replication needs, you can choose to replicate only the parent table or both parent and child tables by specifying the appropriate sysclassname filter.
    • Error Scenarios: The absence of the sysclassname filter can lead to errors such as failed inserts and updates, particularly when records only exist on one side of the replication.

    Key Outcomes

    By correctly implementing the sysclassname filter, you can ensure smooth replication processes, avoid data integrity issues, and maintain accurate records across instances. This proactive approach minimizes replication errors and enhances the overall efficiency of your ServiceNow instance management.

    You can avoid insert and update failures in Instance Data Replication (IDR) by specifying a class name filter in the producer replication set.

    Important:
    This topic only applies to producer replication sets created prior to the Utah release.

    When you replicate a parent table and one or more child tables, you must add a sys_class_name filter to the parent table in the outbound entry of your producer replication set. If the sys_class_name filter is missing, insert and update failures appear in Instance Data Replication > Replication Payload Error in the following scenarios:

    • A failed insert occurs when a record in the child table is replicated because the system attempts two inserts with the same sys_id to the parent table. Adding the sys_class_name filter to the parent prevents the unique key violation during the INSERT into the parent table.
    • A new record is added to a replicated child table on the producer instance. Instance Data Replication (IDR) initially creates the record in the parent table on the consumer, but not the child table. If the child record is changed on the producer instance, during replication a failed update occurs on the child table in the consumer instance because the record only exists in the parent table.

    If the table is a parent, decide if you want to replicate any of its child tables.

    • If you want to replicate one or more child tables, you must identify the sys_class_name value for the parent table, and then add a corresponding sys_class_name filter to the parent table.

      For example, Task Type is the label for sys_class_name on the Task [task] table. To start replicating the incidents in addition to tasks, you must add [Task Type] [is] [Task] to the outbound entry for the Task [task] table.

    • If you only want to replicate the parent table, the filter is optional.
    • If the parent table is already being replicated, you must edit the parent and add the sys_class_name filter.

    If the table is a child, decide if you want to replicate its parent.

    • If you want to replicate the parent table as well, you must identify the sys_class_name value for the parent table, and then add a corresponding sys_class_name filter to the parent table.

      For example, Task Type is the label for sys_class_name on the Task [task] table. To start replicating tasks in addition to incidents, you must add [Task Type] [is] [Task] to the outbound entry for the Task [task] table.

    • If you only want to replicate the child table, the filter is optional.
    • If one or more child tables are already being replicated, you must add the sys_class_name filter to the parent.