-
Notifications
You must be signed in to change notification settings - Fork 151
Description
Please answer these questions before submitting your issue.
In order to accurately debug the issue this information is required. Thanks!
-
What version of .NET driver are you using?
4.1.0 -
What operating system and processor architecture are you using?
Windows 11 -
What version of .NET framework are you using?
E.g. .net framework 4.5.2 or .net standard 2.0
.NET 8 -
What did you do?
I upgraded Snowflake nuget to 4.1.0 and have been seeing this error and would like a way to resolve this issue we are facing.
I understand post 4.0+ upgrade , connection pooling is now connection string driven, ie, for eveyr unique connection string used , a connection pool is created , and default values are used for minPoolSize ,maxPoolSize and WaitingForIdleSessionTimeout.
But in my application , we require the use of query tags , and query tags are almost uniquely created for each request and each query that we send to snowflake for query processing. So that means a new connection pool is created for almost every query that executes. This will lead to pool exhaustion later on , which we have seen often happening, that results in an exception from snowflake with the error "ConnectionPoolTimeout" , and as of now I have rolled back to 3.1.0 version , and currently figuring out a way to have this query tag implemented in the latest version.
We used to earlier run ALTER SESSION command to set the query tag , we run this command before every main query that gets executed for a request. But this has posed quite a few problems, including high queueing times , duplicate queries being seen executed in the query history, so we rolled back that way of implementation, and saw that 4.1.0 introduced supporting query tags in connection string. But since its unique, its posing problems with connection pooling, please help !
Thanks.
- What did you expect to see?
Expected connection pooling to ignore query tags, and manage pooling accordingly.
- Can you set logging to DEBUG and collect the logs?
