You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
Under some conditions the database may refuse connections, particularly with newly enlarged pool in 0.7.0. That can result in a response of Error dropping existing table Error: connect ECONNREFUSED during database creation. Currently that causes the loading spinner to continue running indefinitely as it waits for any effected objects to complete.
To Reproduce
Steps to reproduce the behavior:
Find or build a schema with more objects than the database instance allows connections (select all will probably do it for most use cases).
Create the database.
The process will stop at some portion of completion without updating notifying the user that it has failed to finish.
Expected behavior
A complete database. Also any error during processing should result in an error message not a hung process. All errors that are related to a table creation failure should name the involved table.
Desktop (please complete the following information):
OS: Windows
Target Database: MariaDB
Additional Context
This is almost certainly caused by the connection pool size now being the same as the number of tables. That was added in 0.7.0 to deal with timeouts from the pool being too small on slower servers in part because Knex uses a table alter to add indexes instead of doing it during create. We'll need a new approach to how this is handled.
Thoughts:
Is there a way to determine connection limit easily or guess a reasonable pool size when we cannot?
When we have more items than will fit in the connection pool we risk a time out if a specific table isn't added to the pool fast enough, so we need a new queuing mechanism to wait until there is room to run the process. Used to be that the creation was sequential which was reliably but very slow. If we can't create a good queuing solution we can do that again, but it's less than ideal.
The text was updated successfully, but these errors were encountered:
Describe the bug
Under some conditions the database may refuse connections, particularly with newly enlarged pool in 0.7.0. That can result in a response of
Error dropping existing table Error: connect ECONNREFUSED
during database creation. Currently that causes the loading spinner to continue running indefinitely as it waits for any effected objects to complete.To Reproduce
Steps to reproduce the behavior:
Expected behavior
A complete database. Also any error during processing should result in an error message not a hung process. All errors that are related to a table creation failure should name the involved table.
Desktop (please complete the following information):
Additional Context
This is almost certainly caused by the connection pool size now being the same as the number of tables. That was added in 0.7.0 to deal with timeouts from the pool being too small on slower servers in part because Knex uses a table alter to add indexes instead of doing it during create. We'll need a new approach to how this is handled.
Thoughts:
The text was updated successfully, but these errors were encountered: