[pgpool-general: 8132] Re: CLIENT_IDLE_LIMIT>0 --> ERROR message

Bo Peng pengbo at sraoss.co.jp
Fri May 6 17:42:34 JST 2022


On Fri, 6 May 2022 09:31:45 +0300
"Nikolay Mastilo (HM)" <nikm71 at hotmail.com> wrote:

> Ok, thanks.
> 
> I can only identify source of log messages by setting parameter 
> log_line_prefix='%t: app %a: %u@%d: pid %p:' where used options %u and 
> %d for include username and database name into message prefix. Yes?
> 
> Some log messages contain username and database name due to this prefix. 
> As I understood this means that the messages relate to specific 
> application's database. Did I understand correctly?
> 
> But some messages have [No Connection]@[No Connection] in place of the 
> username and database name.
> 
> My question - Do I understand correctly that such messages with [No 
> Connection]@[No Connection] are exclusively internal messages of the 
> pgpool itself and are not related to external clients or backends of the 
> pgpool?

No. 
Only successfully established connections can include the log messages such as "username at database".

I think the only way to identify that a message is coming from Pgpool-II, PostgreSQL, or the OS 
is to check the Pgpool-II source code.

For example:
If you use a user that does not exist to connect to Pgpool-II,
the message "backend throws an error message" is issued by Pgpool-II,
and the message "role "test1" does not exist" is issued by PostgreSQL.

-----------------------
app child: [No Connection]@[No Connection]: pid 27542: LOG:  backend throws an error message
app child: [No Connection]@[No Connection]: pid 27542: DETAIL:  role "test1" does not exist
-----------------------

 
> Best regards,
>      Nikolay
> 
> On 06.05.2022 08:58, Bo Peng wrote:
> > Hello,
> >
> >> I would like continue this branch if you don't mind.
> >>
> >> My questions:
> >>
> >> 1. Who issues this error message "ERROR: unable to read data" - pgpool
> >> or client?
> > Pgpooll-II issues this error.
> >
> >> 2. How can I identify the messages in the pgpool log - which are from
> >> the client and which are published by the pgpool itself?
> > The logs in pgpool log are issued by Pgpool-II.
> >
> >> On 12.04.2022 11:58, Bo Peng wrote:
> >>> Hello
> >>>
> >>> On Mon, 11 Apr 2022 18:13:39 +0300
> >>> "Nikolay Mastilo (HM)" <nikm71 at hotmail.com> wrote:
> >>>
> >>>> Hello,
> >>>>
> >>>> In our pgpool configuration we set parameter CLIENT_IDLE_LIMIT=300.
> >>>>
> >>>> As a result of that, our app developers periodically receive the
> >>>> following messages in the log:
> >>>>
> >>>> 2021-11-17 13:49:51: pid 471: ERROR: unable to read data
> >>>> 2021-11-17 13:49:51: pid 471: DETAIL: child connection forced to
> >>>> terminate due to client_idle_limit:300 is reached
> >>>> 2021-11-17 13:49:51: pid 20: LOG: child process with pid: 457 exits with
> >>>> status 256
> >>>> 2021-11-17 13:49:51: pid 20: LOG: fork a new child process with pid: 516
> >>>>
> >>>> So they see an ERROR message and it confuses them.
> >>>>
> >>>> Could you tell me if this is really an error or if it can be ignored?
> >>>>
> >>>> If this is NOT a really error, why is it displayed so suspicious?
> >>> Thank you for pointing it out.
> >>>
> >>> It means the child process is terminated due to client_idle_limit.
> >>> I think it can be ignored.
> >>> Your application may get an error message when it tries to send request to Pgpool-II next time.
> >>>
> >>> We will think about if we should downgrade this LOG.
> >>>
> >


-- 
Bo Peng <pengbo at sraoss.co.jp>
SRA OSS, Inc. Japan
http://www.sraoss.co.jp/


More information about the pgpool-general mailing list