-
Notifications
You must be signed in to change notification settings - Fork 93
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
bad request on repeated requests #128
Comments
I'm not entirely sure since there are many factors about your setup that could influence what's going on, but based on the error message it sounds like you're trying to issue commands to the server on a connection socket that is in a different state and expecting something else. Eg. send sending connect protocol messages through a socket that has already established a connection to the database |
thanks for the response! i managed to fix it by moving the _pg_cfg block inside the connect function, something like this: local connect = function()
local _pg_cfg = pgmoon.new({
host = os.getenv("pg_host"),
port = os.getenv("pg_port"),
user = os.getenv("pg_user"),
database = os.getenv("pg_db"),
password = os.getenv("pg_pw")
})
local success, err = _pg_cfg:connect()
if err ~= nil then
ngx.log(ngx.ERR, err)
ngx.exit(ngx.HTTP_INTERNAL_SERVER_ERROR)
end
if not success then
ngx.log(ngx.ERR, "Could not acquire a Postgres connection")
ngx.exit(ngx.HTTP_INTERNAL_SERVER_ERROR)
end
return _pg_cfg
end to be honest, i am not sure why this fixed the issue. my guess was similar that there's a state mismatch, but beyond that, i have no clue since this was also my first time messing around with nginx + lua lol. |
The object returned by Your solution of creating a new instance on every new connection is perfectly fine and my recommended approach. The previous connection will automatically be closed via garbage collection if you don't explicitly close it. I recommend this approach since if you are/ever use threading via coroutines you want each thread to have its own connection since query functions are not atomic (eg. commonly lua async network libraries yield on any network activity, and the connection may be in the middle of sending a receiving a query when a new thread is yielded to) |
hi! i am running into the following error when my openresty/nginx server gets repeated requests to an endpoint.
after a certain point, all requests start failing with:
it's failing when calling the connect function on a request:
The text was updated successfully, but these errors were encountered: