Open kburtram opened 2 years ago
Primary cause of this issue seems to be that when ADS makes multiple queries to SqlClient and server is not responsive, the connection resiliency design in SqlClient (enabled by default) to reconnect transparently turns into several minutes of delay.
If we can expose a new SqlConnection API that validates connection's active state, it can be used by ADS to check connection state before executing anything on this connection (same validation that SqlClient does currently for connection resiliency) e.g. when Azure connection drops, or there's a network issue.
ADS could then prompt end users when connection state is found dead, allowing user to choose to continue to reconnect/close the connection. The tricky part would be identifying when to prompt user about server's unresponsiveness v/s letting SqlClient silently reconnect (which will be more helpful for Azure connection drops).
Let me know if you have further insights!
cc @david-engel
main
Steps to Reproduce:
Expected: Reasonable error message that server is unreachable and option to disconnect/close UI
Actual: UI breaks and no error message. There are errors in the logs. For example, query results are shown blank and many things timeout after a couple minute delays.
Errors in console