-
Notifications
You must be signed in to change notification settings - Fork 285
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
arbitrary stuck queries #827
Comments
Facing same issue |
Hi @Miraj98, thanks for responding. Do you have any hints where and when you are facing this problem? maybe also @porsager has some hints for us, where we should look at to find something? |
Hey @JuHwon I just did some debugging and I am facing connection issues specifically when using bun so not sure if my case will help. Sorry. |
i would not exclude the possibility that the issue is related when the only difference is using bun vs node, right? |
TLDR: In depth: P.S I have an assumption the the connection pool has an issue when too many concurrent transactions are done currently and that's why you had this issue while doing |
Would you think your descriptions matches the ones in #738 ? That change has been released in v3.4.4 today. Would be nice if you all could give that a try and report back. |
Issue still persists, directly pulling from github. |
I had no time to investigate this issue further yet. I would really love to have a test to reproduce this. We got better results, when reducing the concurrency peeks for the client. |
Using Node 20.14 LTS. Does your app make queries on refresh of page? Such as auth ? If yes, then try to refresh page multiple times. I have been able to reproduce this issue for me every single time. |
If you can reproduce it every single time, i am not sure the issue is correlated. In our case it is really arbitrary. It's a rest api service, having some QPS peeks after specific endpoints are invoked. flatting the QPS curve helped to make the issue less likely. |
It is more arbitrary if I have max connections more than 100 set. I feel like there is new connection made for every single query. Base on idle connections, if requests are consistent then no problem. But there are large amount of queries in short period of time, then max connections gets exhausted. Once request load dies down, then idle connections are closed and requests can be made again. I know idle connections are set to 0 for you.. But is it really 0 if you have high number of concurrent queries. Even if it takes 0.1 sec to close connection, the issue can persists. |
Hi Adam, Great amount of information through your post. Just curious, what approach would you recommend to make sure not a lot of connections are opened. Beside using idletime_out etc. |
Hello everyone. I have consistently reproduced a bug that causes queries to hang/become stuck. Please see #893. I am curious whether this is what you have been experiencing (check your code!), or if there is some other bug. TLDR of #893 is, if you do |
For me set |
We have a similar issue, but I've boiled it down to a more simple problem: query promises are neither resolved nor rejected if a connection gets re-used for another query. For this example I've set max connections to 1.
When the test() function is invoked, the second promise never resolves/rejects, it's just lost.
(queries are sent one right after another and the second "Got data" output never appears) It would be great if the maintainer finds time to fix this critical issue or correct my findings if I'm wrong. |
facing same issue as above, does not work nicely with many promises in a promise.all^ @porsager |
We have an issue, where the sql client just does not respond. In other words, the promise does not resolve nor reject.
The application has peaks with lots of concurrent requests. The issue though also happens when there is not much load. It just arbitrary does not respond. When i restart the application, everything works fine again.
The client configuration:
I have a feeling that it happens after the service ran for some time already.
I also had a feeling that it often occurs with
sql.begin(...)
, but i have also seen it once at a singlesql`SELECT * FROM x WHERE id = ${id}`
Not sure where to start looking at here, since we are currently not able to reproduce it. Does anyone have any ideas why this could happen? I would also be happy to contribute to the project if we are able to find the issue here.
UPDATE
Here is the chart of one occurrence of the postgres DB, the needle is placed when the incident happened.
The text was updated successfully, but these errors were encountered: