Invantive Data Replicator will automatically switch from Trickle Loading to the Copy approach when there are trickle loading change events for over 2.5% of the rows in the last version of a table partition. This is signaled by a message code
dc_event_log_r (native in the repository on the database) or
dc_event_log_r@DataCache (from Invantive SQL).
This requires manual action. First step is to remove obsoleted events. The following script provides guidance for this purpose:
-- -- List of table partitions that have old incoming messages -- that are superfluous since the last synchronization completed -- already successfully. -- -- Run direct (native) on SQL Server, Oracle, PostgreSQL or MySQL. -- create view xxdru_to_remove_from_incoming_messages_r as select tpn.tbe_full_qualified_name , tpn.ptn_name , tpn.tpn_date_last_got_seeding from dc_table_partition_versions_r tpn -- -- Last active table partition version. -- where tpn.tpn_state = 'R' -- -- Remove all incoming messages that are older than any -- ready table partition version. -- -- Run direct (native) on SQL Server, Oracle, PostgreSQL or MySQL. -- -- Use at your own risk. -- delete dc_incoming_messages where date_received < ( select min(tpn_date_last_got_seeding) from xxdru_to_remove_from_incoming_messages_r ) -- -- Remove old superfluous incoming messages -- per combination of table and partition. -- -- Run this Invantive PSQL code on Invantive Query Tool. -- -- Use at your own risk. -- begin for r in ( select * from xxdru_to_remove_from_incoming_messages_r order by ptn_name , tbe_full_qualified_name ) loop begin delete dc_incoming_messages where appl_partition_c = r.ptn_name and table_full_qualified_name = r.tbe_full_qualified_name and date_received < r.tpn_date_last_got_seeding ; exception when others then -- -- Try again. -- begin delete dc_incoming_messages where appl_partition_c = r.ptn_name and table_full_qualified_name = r.tbe_full_qualified_name and date_received < r.tpn_date_last_got_seeding ; exception when others then raise_application_error ( -20163 , 'Failed on ' || r.ptn_name || '/' || r.tbe_full_qualified_name || '/' || r.tpn_date_last_got_seeding || '.' ); end; end; end loop; end;
A future release of Invantive Data Replicator may include functionality to automatically remove obsoleted entries when
The percentage of 2.5% is configurable starting Data Replicator 20.1.358 (BETA) and 20.0.142 using the driver attribute