How bulk operations work #883
-
Hi all. |
Beta Was this translation helpful? Give feedback.
Replies: 13 comments 37 replies
-
When a batch is applied, sometimes, we can have an error during the Since it's a "All the Batch or Nothing", we don't know which row causes the error... During the per line update, we will know which row has an error preventing the bulk update to happen. The thing I don't understand in your screenshot is that it misses a You seem to have a situation where there is no error from the
Let me know |
Beta Was this translation helpful? Give feedback.
-
The problem is reproduced in production again.... |
Beta Was this translation helpful? Give feedback.
-
I update my project with DMS v0.9.8 and when the application runs it breaks with this exception: These are the nugets updates that my project needs to update to DMS v0.9.8: My project is NET Core 5 and with DMS v0.9.7 run 'ok'. What change? |
Beta Was this translation helpful? Give feedback.
-
Great! |
Beta Was this translation helpful? Give feedback.
-
Hello again. However, the next synchronization of about 148 records, the problem has been reproduced again as I show below. Could it be that the server decides to switch from bulkpudate to singleupdate when there are many interlocks? |
Beta Was this translation helpful? Give feedback.
-
Hello everyone. I would like to take up this problem again, as it happens to me continuously in a productive environment. Basically, what happens to me is what I showed previously. This causes the synchronization of thousands of records to take forever and leads to crashes with the other synchronization consoles. Has this happened to anyone? |
Beta Was this translation helpful? Give feedback.
-
I understand that I should see a log trace like the one on line 425. In my productive environment I don't see that trace and we have configured the The version of Dotmim.Sync is 0.9.8-beta-0994. Yesterday log for example: |
Beta Was this translation helpful? Give feedback.
-
These log traces are server-side. I think at the time you proceed to execute the stored procedures on the server. We use a ClientWins strategy. And no, it does not produce a conflict count. |
Beta Was this translation helpful? Give feedback.
-
I could provide you with a test scenario, but it is impossible for me to reproduce it. In the test/development scenario, I work with local DBs and I think this hides what might be happening... |
Beta Was this translation helpful? Give feedback.
-
One question. |
Beta Was this translation helpful? Give feedback.
-
Good night! @Mimetis I think that you can reproduce my problem with this scenario. All necesary is in the ZIP file. View README first. Thanks for all! |
Beta Was this translation helpful? Give feedback.
-
Hello. I minimized problems with this configuration:
I used this configuration because in production enviroment it's not possible use snapshot isolation. with this the production synchronizations are stable but very slow. My biggest problem is still the unit inserts. I need a solution for DMS to use bulk insertion (stored procedures 'bulkupdate' and 'bulkdelete'). Regards. |
Beta Was this translation helpful? Give feedback.
-
Hi @Mimetis. Unfortunately the tests in the production environment are not being satisfactory. It is observed that the execution of the bulk procedure on the server takes too long. Even more than with the previously used DMS version. I have configured a PerBatchs synchronization and with a maximum of 1000 add/updates. Now, I see that the problem may be in the instance of the server dbdd and how the lock is kept in the stored procedure. Do you know any way to optimize this? |
Beta Was this translation helpful? Give feedback.
Hi @Mimetis.
Unfortunately the tests in the production environment are not being satisfactory.
It is observed that the execution of the bulk procedure on the server takes too long. Even more than with the previously used DMS version.
I have configured a PerBatchs synchronization and with a maximum of 1000 add/updates.
Now, I see that the problem may be in the instance of the server dbdd and how the lock is kept in the stored procedure.
Do you know any way to optimize this?