Я настроил SymmetricDS 3.9.15, используя Azure SQL для баз данных master и slave с двунаправленной репликацией.
Я постоянно сталкиваюсь с ошибкой сбоя на канале перезагрузки. Я приложил журналы ошибок для того же.
Вот моя конфигурация sym_conflict
insert into sym_conflict (conflict_id, target_channel_id, source_node_group_id, target_node_group_id, detect_type, detect_expression, resolve_type,ping_back, resolve_changes_only, resolve_row_only, create_time, last_update_time)
values ('Conflict-primary-secondary-staging_prod-us', 'matter', 'primary-staging_prod-us', 'secondary-staging_prod-us', 'USE_CHANGED_DATA', null, 'FALLBACK', 'REMAINING_ROWS', 0, 1, GetDate(), GetDate());
insert into sym_conflict (conflict_id, target_channel_id, source_node_group_id, target_node_group_id, detect_type, detect_expression, resolve_type,ping_back, resolve_changes_only, resolve_row_only, create_time, last_update_time)
values ('Conflict-secondary-primary-staging_prod-us', 'matter', 'secondary-staging_prod-us', 'primary-staging_prod-us', 'USE_CHANGED_DATA', null, 'FALLBACK', 'REMAINING_ROWS', 0, 1, GetDate(), GetDate());
insert into sym_conflict (conflict_id, target_channel_id, source_node_group_id, target_node_group_id, detect_type, detect_expression, resolve_type,ping_back, resolve_changes_only, resolve_row_only, create_time, last_update_time)
values ('Conflict-primary-secondary-staging_prod-us-reload', 'reload', 'primary-staging_prod-us', 'secondary-staging_prod-us', 'USE_CHANGED_DATA', null, 'FALLBACK', 'REMAINING_ROWS', 0, 1, GetDate(), GetDate());
insert into sym_conflict (conflict_id, target_channel_id, source_node_group_id, target_node_group_id, detect_type, detect_expression, resolve_type,ping_back, resolve_changes_only, resolve_row_only, create_time, last_update_time)
values ('Conflict-secondary-primary-staging_prod-us-reload', 'reload', 'secondary-staging_prod-us', 'primary-staging_prod-us', 'USE_CHANGED_DATA', null, 'FALLBACK', 'REMAINING_ROWS', 0, 1, GetDate(), GetDate());
Журналы обслуживания Windows SymmetricDS ==>
2019-01-16 19:07:48,432 INFO [secondary-staging_prod-us-001] [IncomingBatchService] [secondary-staging_prod-us-001-dataloader-2] Retrying batch 000-10228
2019-01-16 19:08:10,848 INFO [primary-staging_prod-us-000] [DataProcessor] [primary-staging_prod-us-000-dataloader-1] Batch '6744', for node '000', for process 'data load from stage' has been processing for 60 seconds. The following stats have been gathered: {STATEMENTCOUNT=4890, LOADMILLIS=44514, Time_Entries UPDATECOUNT=4890, STARTTIME=1547645830799, FALLBACKUPDATECOUNT=4890, FILTERMILLIS=516, LINENUMBER=4890, UPDATECOUNT=4890}
2019-01-16 19:08:11,820 INFO [secondary-staging_prod-us-001] [DataGapFastDetector] [secondary-staging_prod-us-001-job-1] The data gap detection has been running for 60021ms, inserted 16590 of 1 new gaps
2019-01-16 19:08:32,801 INFO [secondary-staging_prod-us-001] [DefaultDatabaseWriter] [secondary-staging_prod-us-001-dataloader-2] Failed to process insert event in batch 000-10228 on channel 'reload'.
Failed row data was: "308845","589832","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0","2017-08-21 05:34:27.4869412",,,"0","42"
StackTraceKey.init [ConflictException:329112692]
org.jumpmind.symmetric.io.data.writer.ConflictException: Detected conflict while executing INSERT on DBSYNC__STAGING_PROD_Copy.dbo.TaskTimeEntriesCaching. The primary key data was: {ID=308845}. Failed to fallback. The original error message was: Violation of PRIMARY KEY constraint 'PK__TaskTime__3214EC2752E46644'. Cannot insert duplicate key in object 'dbo.TaskTimeEntriesCaching'. The duplicate key value is (308845).
at org.jumpmind.symmetric.io.data.writer.AbstractDatabaseWriterConflictResolver.performFallbackToUpdate(AbstractDatabaseWriterConflictResolver.java:256)
at org.jumpmind.symmetric.io.data.writer.DefaultTransformWriterConflictResolver.performFallbackToUpdate(DefaultTransformWriterConflictResolver.java:110)
at org.jumpmind.symmetric.io.data.writer.AbstractDatabaseWriterConflictResolver.needsResolved(AbstractDatabaseWriterConflictResolver.java:54)
at org.jumpmind.symmetric.io.data.writer.AbstractDatabaseWriter.write(AbstractDatabaseWriter.java:211)
at org.jumpmind.symmetric.io.data.writer.NestedDataWriter.write(NestedDataWriter.java:64)
at org.jumpmind.symmetric.model.ProcessInfoDataWriter.write(ProcessInfoDataWriter.java:84)
at org.jumpmind.symmetric.io.data.writer.NestedDataWriter.write(NestedDataWriter.java:64)
at org.jumpmind.symmetric.io.data.writer.TransformWriter.write(TransformWriter.java:201)
at org.jumpmind.symmetric.io.data.DataProcessor.forEachDataInTable(DataProcessor.java:210)
at org.jumpmind.symmetric.io.data.DataProcessor.forEachTableInBatch(DataProcessor.java:177)
at org.jumpmind.symmetric.io.data.DataProcessor.process(DataProcessor.java:123)
at org.jumpmind.symmetric.service.impl.DataLoaderService$LoadIntoDatabaseOnArrivalListener$2.call(DataLoaderService.java:1039)
at org.jumpmind.symmetric.service.impl.DataLoaderService$LoadIntoDatabaseOnArrivalListener$2.call(DataLoaderService.java:1016)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
2019-01-16 19:08:33,650 ERROR [secondary-staging_prod-us-001] [ManageIncomingBatchListener] [secondary-staging_prod-us-001-dataloader-2] Failed to load batch 000-10228 StackTraceKey [ConflictException:329112692]
2019-01-16 19:08:33,759 ERROR [primary-staging_prod-us-000] [AcknowledgeService] [qtp1552978964-13] The outgoing batch 001-10228 failed: [CONFLICT,-999] Detected conflict while executing INSERT on DBSYNC__STAGING_PROD_Copy.dbo.TaskTimeEntriesCaching. The primary key data was: {ID=308845}. Failed to fallback. The original error message was: Violation of PRIMARY KEY constraint 'PK__TaskTime__3214EC2752E46644'. Cannot insert duplicate key in object 'dbo.TaskTimeEntriesCaching'. The duplicate key value is (308845).
Привет
Раджат Агравал