View Issue Details

IDProjectCategoryView StatusLast Update
0005938SymmetricDSBugpublic2023-08-09 17:37
Reporteryakuphanci Assigned Topmarzullo  
Priorityhigh 
Status closedResolutionno change required 
Product Version3.14.6 
Summary0005938: The failed_data_id is not updated in consecutive sym_data errors in a batch.
DescriptionThe failed_data_id is not updated in consecutive sym_data errors in a batch. If the faulty sym_data line in an outgoing batch is corrected and synchronized again, if there is an error in the next sym_data in the same batch, the corrected sym_data id remains in failed_data_id. But the SQL error messages change.
Steps To Reproduce1- Verilerin 'A' sunucunuzdan 'B' ve 'C' sunucularınıza aktığını hayal edin.

2- 'A' sunucusundaki symetricds hizmetini durdurun.

3- 'A' sunucusunda birkaç INSERT yapın.

4- 'A' sunucusunda bu INSERT işlemleri tarafından oluşturulan sym_data'yı bulun ve data_id'ye göre küçükten büyüğe sıralayın.

5- Bir sym_data'yı ortada bir yerde düzenleyin, böylece bir sözdizimi hatası oluşur. Sonraki sym_data'yı işlemeden sonraki 2 sym_data için de aynısını yapın. Örneğin (1001, 1002, 1003, 1004, 1005) data_ids'e (1002, 1004,1005) sahiptir ve sym_data'da sözdizimi hatası oluşturur. İŞLEMEK.

6- SymmetricDS hizmetini yeniden başlatın.

7- Outgoing_batch tablosunda fail_data_id (1002) ile başarısız bir toplu iş göreceksiniz.

8- sym_data_event tablosundan (1002) data_id'li eşlemeyi silin.

9- Stagging alanındaki 'B' ve 'C' sunucularındaki 'A' sunucusundaki verileri temizleyin.

10- Failed_data_id (1004) artık 'A' sunucusunda görünecek.

Bunun için aynı hatayı çözerseniz. fail_data_id öğesinin güncellenmediğini göreceksiniz.
Tagsconflict manager, trigger

Activities

yakuphanci

2023-07-27 08:34

reporter   ~0002362

Language Editting (Sorry):

1- Imagine data flowing from your 'A' server to your 'B' and 'C' servers.

2- Stop the symmetricds service on server 'A'.

3- Do a few INSERTs on server 'A'.

4- Find the sym_data created by these INSERT operations on server 'A' and sort by data_id from least to greatest.

5- Edit a sym_data somewhere in the middle so a syntax error occurs. Do the same for the next 2 sym_data after processing the next sym_data. For example (1001, 1002, 1003, 1004, 1005) has data_ids (1002, 1004,1005) and it generates syntax error in sym_data. HANDLE.

6- Restart the SymmetricDS service.

7- You will see a failed batch with fail_data_id (1002) in the outgoing_batch table.

8- Delete mapping with data_id from sym_data_event table (1002).

9- Clear the data on server 'A' on servers 'B' and 'C' in the stagging area.

10- Failed_data_id (1004) will now appear on server 'A'.

If you solve the same error for this. You will see that the fail_data_id is not updated.

jvanmeter

2023-08-02 17:26

developer   ~0002364

This test is incorrect. Server B and C communicate back the failed line number, as they do not know about the Data_ID. If line number 2 has the failure, B and C will tell Server A that line 2 has the failure, as they do not know what the Data_ID is. When you deleted dada_id 1002 and cleared staging, SymmetricDS re-extracted, causing line 2 to be a different data_id (1003). Then, when Server B and C complained about line 2 having a failure, Server A doesn't bother to look up the data_id for line number 2. SymmetricDS does not know that you have manually removed records to alter the line numbers.

The correct resolution would be to fix the data problem, and/or ignore the row using sym_incoming_error.

yakuphanci

2023-08-03 09:23

reporter   ~0002366

Yes, sir. I just wanted to be able to intervene from the source of the problem to ignore a single data in the batch on my multiple servers.
I wish it looked at the data_id in every feedback for situations like this.

Thank you jvanmeter.

Issue History

Date Modified Username Field Change
2023-07-27 08:28 yakuphanci New Issue
2023-07-27 08:28 yakuphanci Tag Attached: conflict manager
2023-07-27 08:28 yakuphanci Tag Attached: trigger
2023-07-27 08:34 yakuphanci Note Added: 0002362
2023-08-02 17:26 jvanmeter Assigned To => jvanmeter
2023-08-02 17:26 jvanmeter Status new => feedback
2023-08-02 17:26 jvanmeter Note Added: 0002364
2023-08-02 17:29 jvanmeter Assigned To jvanmeter =>
2023-08-03 09:23 yakuphanci Note Added: 0002366
2023-08-03 09:23 yakuphanci Status feedback => new
2023-08-09 17:37 pmarzullo Assigned To => pmarzullo
2023-08-09 17:37 pmarzullo Status new => closed
2023-08-09 17:37 pmarzullo Resolution open => no change required