-
-
Notifications
You must be signed in to change notification settings - Fork 194
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Schema Migration Process Takes Too Long and Fails Due to Timeout When Multiple Clients Perform Updates #1255
Comments
Do you experience the same timeout when you are doing the migration for one client only (without parallelization with another client) ? Did you tried using a no lock option, using the the Are you using Let me know if one of this option can improve your scenario |
With one client, it takes the same amount of time. But it succeeds. When doing it with multiple clients, it fails due to lake connections on the database. |
Are you able to create a small sample I can use to reproduce the problem ?
Maybe, I dont know, you should try |
I revised the process, and it improved performance and reduced the time required. Here's what I did:
This improved the process. However, I'm now encountering a new issue during synchronization: Note that: I have multiple scopes. |
Normally, DMS will enable the change tracking on each table required. Otherwise, DMS is "just" enabling change tracking on the tables required by executing the script: $"ALTER TABLE {this.sqlObjectNames.TableQuotedFullName} ENABLE CHANGE_TRACKING;"; |
I made the alter script, but it failed in the next migrate. |
thanks for the |
Yes, sure. What more information do you need? More code? More explanation? |
Well, I need a way to reproduce the error
|
Description:
The schema migration process for synchronizing changes between the client and server is not only slow but also fails when multiple clients perform the update simultaneously. The process takes 10 to 20 minutes per client, and some clients have multiple scopes, further increasing the time required.
When two or more clients attempt to update the schema at the same time, it often leads to timeouts due to limited database resources, resulting in the following error:
Here is the process being followed:
As mentioned in document, this process is necessary after any database schema updates, but the time required is a major bottleneck, especially when two or more clients attempt to update at the same time, causing the process to fail due to database instance limitations.
Steps to Reproduce:
Expected Behavior:
The schema migration process should be optimized for better performance, especially in scenarios where multiple clients are performing updates simultaneously. The process should be able to handle concurrent schema updates without timing out.
Actual Behavior:
The migration steps take too long and often fail due to timeouts when multiple clients perform schema updates at the same time. The database instance appears to be overloaded, leading to the "Execution Timeout Expired" error.
Additional Context:
We are using SQL Server and leveraging change tracking for client-server synchronization. Improving the performance of the schema migration process and handling multiple concurrent client updates would significantly enhance the synchronization experience.
Environment:
The text was updated successfully, but these errors were encountered: