Hey all,
I'm trying to analyze a weird situation that I have seen in my db.
Sometimes my app fails to start because of the following msg :
SQL State  : null
Error Code : 0
Message    : Cannot create PoolableConnectionFactory (ERROR: canceling
statement due to user request)

In the db at the same time I saw the same msg :
2019-12-08 00:04:56 IST DB 10035  ERROR:  canceling statement due to user
request
2019-12-08 00:04:56 IST DB 10035  STATEMENT:  select 1 as test

I thought that it might be related to the validation query that is set to 2
seconds (when I change the validation query from "select 1 as test" to
"select pg_sleep(10)" ) the same behavior was reproduced .

Therefore, my theory was that the validation query is taking more than 2
seconds.  I decided to log all the statements(log_statements=all) that are
running in order to see for how long the validation query is running in the
db (log_min_duration_statement wont be helpful here because the query is
canceled and I wont be able to see its duration..).

The weird thing is that I dont see before that error any log message that
indicate that the query was running. I hoped to see the following msg in
the db log :
2019-12-08 00:04:55 IST DB 2695  LOG:  *execute *<unnamed>: select 1 as test

but I dont see any execute msg of this query , I just see the ERROR msg :
  2019-12-08 00:04:56 IST DB 10035  ERROR:  canceling statement due to user
request
2019-12-08 00:04:56 IST DB 10035  STATEMENT:  select 1 as test

Any idea why I the query isnt logged but I still get the ERROR msg ?

Reply via email to