<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Arial,Helvetica,sans-serif;" dir="ltr">
<p>Sorry,</p>
<p>this this time I dont understand you.&nbsp;We have no any problems with the parameter<span style="font-size: 12pt;">&nbsp;</span><span style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;">child_max_connections!</span></p>
<p><br>
</p>
<p>My email was regarding the current problem #271. I want to say that in the latest patch we still could reproduce the the problem. And I sent you self contained test - extended modified test.</p>
<p>It seems we misunderstand each other )</p>
<br>
<div style="color: rgb(0, 0, 0);">
<div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="x_divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> Tatsuo Ishii &lt;ishii@sraoss.co.jp&gt;<br>
<b>Sent:</b> Wednesday, March 15, 2017 2:10 AM<br>
<b>To:</b> Sergey Kim<br>
<b>Cc:</b> pgpool-hackers@pgpool.net; Boris Voskanov<br>
<b>Subject:</b> Re: [pgpool-committers: 3836] pgpool: Branch refs/heads/bug271 was created</font>
<div>&nbsp;</div>
</div>
</div>
<font size="2"><span style="font-size:10pt;">
<div class="PlainText">&gt; Yes, this value is in place.<br>
&gt; <br>
&gt; But does it make sense when comes to the being resolved issue?<br>
<br>
Sorry, I don't understand you. This behavior regarding<br>
child_max_connections has not been changed since at least 3.4.<br>
<br>
Best regards,<br>
--<br>
Tatsuo Ishii<br>
SRA OSS, Inc. Japan<br>
English: <a href="http://www.sraoss.co.jp/index_en.php" id="LPlnk192953" previewremoved="true">
http://www.sraoss.co.jp/index_en.php</a><br>
Japanese:http://www.sraoss.co.jp<br>
<br>
&gt; ________________________________<br>
&gt; From: Tatsuo Ishii &lt;ishii@sraoss.co.jp&gt;<br>
&gt; Sent: Wednesday, March 15, 2017 1:40:21 AM<br>
&gt; To: Sergey Kim<br>
&gt; Cc: pgpool-hackers@pgpool.net; Boris Voskanov<br>
&gt; Subject: Re: [pgpool-committers: 3836] pgpool: Branch refs/heads/bug271 was created<br>
&gt; <br>
&gt; Do you set child_max_connections to 1? At least the log said so. A<br>
&gt; Pgpool-II child process exited because of this, i.e. it seems to be a<br>
&gt; normal behavior.<br>
&gt; <br>
&gt;&gt; 2017-03-14T16:06:37.894944&#43;03:00 OAA-54999c4d7735 pgpool[25595]: [93-1] 2017-03-14 16:06:37: pid 25595:LOG:&nbsp; child exiting, 1 connections reached<br>
&gt;&gt; 2017-03-14T16:06:37.895079&#43;03:00 OAA-54999c4d7735 pgpool[25595]: [93-2] 2017-03-14 16:06:37: pid 25595:LOCATION:&nbsp; child.c:406<br>
&gt; <br>
&gt; Best regards,<br>
&gt; --<br>
&gt; Tatsuo Ishii<br>
&gt; SRA OSS, Inc. Japan<br>
&gt; English: <a href="http://www.sraoss.co.jp/index_en.php" id="LPlnk628338" previewremoved="true">
http://www.sraoss.co.jp/index_en.php</a><br>
&gt; Japanese:http://www.sraoss.co.jp<br>
&gt; <br>
&gt;&gt; Tatsuo,<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; this time all previously created tests succeeded but out application failed to start. So we started searching for the problem and could reproduce &quot;balanced select problem&quot;. The test can run for minutes before reproduction of the problem (((<br>
&gt;&gt;<br>
&gt;&gt; I'm not sure if it can help but please pay attention that time lag between insert is select requests is very small.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; Please see the pgpool logs:<br>
&gt;&gt;<br>
&gt;&gt; 2017-03-14T16:06:37.889485&#43;03:00 OAA-54999c4d7735 pgpool[25595]: [79-1] 2017-03-14 16:06:37: pid 25595:LOG:&nbsp; DB node id: 0 backend pid: 25885 statement: B message<br>
&gt;&gt; 2017-03-14T16:06:37.889702&#43;03:00 OAA-54999c4d7735 pgpool[25595]: [79-2] 2017-03-14 16:06:37: pid 25595:LOCATION:&nbsp; pool_proto_modules.c:3208<br>
&gt;&gt; 2017-03-14T16:06:37.889924&#43;03:00 OAA-54999c4d7735 pgpool[25595]: [80-1] 2017-03-14 16:06:37: pid 25595:LOG:&nbsp; DB node id: 1 backend pid: 27691 statement: B message<br>
&gt;&gt; 2017-03-14T16:06:37.890090&#43;03:00 OAA-54999c4d7735 pgpool[25595]: [80-2] 2017-03-14 16:06:37: pid 25595:LOCATION:&nbsp; pool_proto_modules.c:3208<br>
&gt;&gt; 2017-03-14T16:06:37.890248&#43;03:00 OAA-54999c4d7735 pgpool[25595]: [81-1] 2017-03-14 16:06:37: pid 25595:LOG:&nbsp; DB node id: 0 backend pid: 25885 statement: Execute: BEGIN<br>
&gt;&gt; 2017-03-14T16:06:37.890378&#43;03:00 OAA-54999c4d7735 pgpool[25595]: [81-2] 2017-03-14 16:06:37: pid 25595:LOCATION:&nbsp; pool_proto_modules.c:3208<br>
&gt;&gt; 2017-03-14T16:06:37.890535&#43;03:00 OAA-54999c4d7735 pgpool[25595]: [82-1] 2017-03-14 16:06:37: pid 25595:LOG:&nbsp; DB node id: 1 backend pid: 27691 statement: Execute: BEGIN<br>
&gt;&gt; 2017-03-14T16:06:37.890693&#43;03:00 OAA-54999c4d7735 pgpool[25595]: [82-2] 2017-03-14 16:06:37: pid 25595:LOCATION:&nbsp; pool_proto_modules.c:3208<br>
&gt;&gt; 2017-03-14T16:06:37.890863&#43;03:00 OAA-54999c4d7735 pgpool[25595]: [83-1] 2017-03-14 16:06:37: pid 25595:LOG:&nbsp; DB node id: 0 backend pid: 25885 statement: Parse: insert into write_table(id) values($1)<br>
&gt;&gt; 2017-03-14T16:06:37.891144&#43;03:00 OAA-54999c4d7735 pgpool[25595]: [83-2] 2017-03-14 16:06:37: pid 25595:LOCATION:&nbsp; pool_proto_modules.c:3208<br>
&gt;&gt; 2017-03-14T16:06:37.891390&#43;03:00 OAA-54999c4d7735 pgpool[25595]: [84-1] 2017-03-14 16:06:37: pid 25595:LOG:&nbsp; DB node id: 0 backend pid: 25885 statement: B message<br>
&gt;&gt; 2017-03-14T16:06:37.891637&#43;03:00 OAA-54999c4d7735 pgpool[25595]: [84-2] 2017-03-14 16:06:37: pid 25595:LOCATION:&nbsp; pool_proto_modules.c:3208<br>
&gt;&gt; 2017-03-14T16:06:37.891895&#43;03:00 OAA-54999c4d7735 pgpool[25595]: [85-1] 2017-03-14 16:06:37: pid 25595:LOG:&nbsp; DB node id: 0 backend pid: 25885 statement: D message<br>
&gt;&gt; 2017-03-14T16:06:37.892091&#43;03:00 OAA-54999c4d7735 pgpool[25595]: [85-2] 2017-03-14 16:06:37: pid 25595:LOCATION:&nbsp; pool_proto_modules.c:3208<br>
&gt;&gt; 2017-03-14T16:06:37.892272&#43;03:00 OAA-54999c4d7735 pgpool[25595]: [86-1] 2017-03-14 16:06:37: pid 25595:LOG:&nbsp; DB node id: 0 backend pid: 25885 statement: Execute: insert into write_table(id) values($1)<br>
&gt;&gt; 2017-03-14T16:06:37.892442&#43;03:00 OAA-54999c4d7735 pgpool[25595]: [86-2] 2017-03-14 16:06:37: pid 25595:LOCATION:&nbsp; pool_proto_modules.c:3208<br>
&gt;&gt; 2017-03-14T16:06:37.892642&#43;03:00 OAA-54999c4d7735 pgpool[25595]: [87-1] 2017-03-14 16:06:37: pid 25595:LOG:&nbsp; DB node id: 1 backend pid: 27691 statement: B message<br>
&gt;&gt; 2017-03-14T16:06:37.892828&#43;03:00 OAA-54999c4d7735 pgpool[25595]: [87-2] 2017-03-14 16:06:37: pid 25595:LOCATION:&nbsp; pool_proto_modules.c:3208<br>
&gt;&gt; 2017-03-14T16:06:37.892998&#43;03:00 OAA-54999c4d7735 pgpool[25595]: [88-1] 2017-03-14 16:06:37: pid 25595:LOG:&nbsp; DB node id: 1 backend pid: 27691 statement: Execute: select id from write_table where id = $1<br>
&gt;&gt; 2017-03-14T16:06:37.893187&#43;03:00 OAA-54999c4d7735 pgpool[25595]: [88-2] 2017-03-14 16:06:37: pid 25595:LOCATION:&nbsp; pool_proto_modules.c:3208<br>
&gt;&gt; 2017-03-14T16:06:37.893359&#43;03:00 OAA-54999c4d7735 pgpool[25595]: [89-1] 2017-03-14 16:06:37: pid 25595:LOG:&nbsp; DB node id: 1 backend pid: 27691 statement: ABORT<br>
&gt;&gt; 2017-03-14T16:06:37.893584&#43;03:00 OAA-54999c4d7735 pgpool[25595]: [89-2] 2017-03-14 16:06:37: pid 25595:LOCATION:&nbsp; pool_proto_modules.c:3208<br>
&gt;&gt; 2017-03-14T16:06:37.893839&#43;03:00 OAA-54999c4d7735 pgpool[25595]: [90-1] 2017-03-14 16:06:37: pid 25595:LOG:&nbsp; DB node id: 0 backend pid: 25885 statement: ABORT<br>
&gt;&gt; 2017-03-14T16:06:37.894039&#43;03:00 OAA-54999c4d7735 pgpool[25595]: [90-2] 2017-03-14 16:06:37: pid 25595:LOCATION:&nbsp; pool_proto_modules.c:3208<br>
&gt;&gt; 2017-03-14T16:06:37.894220&#43;03:00 OAA-54999c4d7735 pgpool[25595]: [91-1] 2017-03-14 16:06:37: pid 25595:LOG:&nbsp; DB node id: 0 backend pid: 25885 statement: DISCARD ALL<br>
&gt;&gt; 2017-03-14T16:06:37.894403&#43;03:00 OAA-54999c4d7735 pgpool[25595]: [91-2] 2017-03-14 16:06:37: pid 25595:LOCATION:&nbsp; pool_proto_modules.c:3208<br>
&gt;&gt; 2017-03-14T16:06:37.894587&#43;03:00 OAA-54999c4d7735 pgpool[25595]: [92-1] 2017-03-14 16:06:37: pid 25595:LOG:&nbsp; DB node id: 1 backend pid: 27691 statement: DISCARD ALL<br>
&gt;&gt; 2017-03-14T16:06:37.894753&#43;03:00 OAA-54999c4d7735 pgpool[25595]: [92-2] 2017-03-14 16:06:37: pid 25595:LOCATION:&nbsp; pool_proto_modules.c:3208<br>
&gt;&gt; 2017-03-14T16:06:37.894944&#43;03:00 OAA-54999c4d7735 pgpool[25595]: [93-1] 2017-03-14 16:06:37: pid 25595:LOG:&nbsp; child exiting, 1 connections reached<br>
&gt;&gt; 2017-03-14T16:06:37.895079&#43;03:00 OAA-54999c4d7735 pgpool[25595]: [93-2] 2017-03-14 16:06:37: pid 25595:LOCATION:&nbsp; child.c:406<br>
&gt;&gt; 2017-03-14T16:06:37.895371&#43;03:00 OAA-54999c4d7735 pgpool[25566]: [47-1] 2017-03-14 16:06:37: pid 25566:LOG:&nbsp; child process with pid: 25595 exits with status 256<br>
&gt;&gt; 2017-03-14T16:06:37.895635&#43;03:00 OAA-54999c4d7735 pgpool[25566]: [47-2] 2017-03-14 16:06:37: pid 25566:LOCATION:&nbsp; pgpool_main.c:2380<br>
&gt;&gt; 2017-03-14T16:06:37.895943&#43;03:00 OAA-54999c4d7735 pgpool[25566]: [48-1] 2017-03-14 16:06:37: pid 25566:LOG:&nbsp; fork a new child process with pid: 25887<br>
&gt;&gt; 2017-03-14T16:06:37.896174&#43;03:00 OAA-54999c4d7735 pgpool[25566]: [48-2] 2017-03-14 16:06:37: pid 25566:LOCATION:&nbsp; pgpool_main.c:2466<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; And java client logs:<br>
&gt;&gt; 16:06:37.890 (2) simple execute, handler=org.postgresql.jdbc.PgStatement$StatementResultHandler@689604d9, maxRows=0, fetchSize=0, flags=1<br>
&gt;&gt; 16:06:37.890 (2)&nbsp; FE=&gt; Parse(stmt=null,query=&quot;BEGIN&quot;,oids={})<br>
&gt;&gt; 16:06:37.890 (2)&nbsp; FE=&gt; Bind(stmt=null,portal=null)<br>
&gt;&gt; 16:06:37.890 (2)&nbsp; FE=&gt; Execute(portal=null,limit=0)<br>
&gt;&gt; 16:06:37.890 (2)&nbsp; FE=&gt; Parse(stmt=null,query=&quot;insert into write_table(id) values($1)&quot;,oids={23})<br>
&gt;&gt; 16:06:37.890 (2)&nbsp; FE=&gt; Bind(stmt=null,portal=null,$1=&lt;-613120604&gt;)<br>
&gt;&gt; 16:06:37.890 (2)&nbsp; FE=&gt; Describe(portal=null)<br>
&gt;&gt; 16:06:37.890 (2)&nbsp; FE=&gt; Execute(portal=null,limit=0)<br>
&gt;&gt; 16:06:37.890 (2)&nbsp; FE=&gt; Sync<br>
&gt;&gt; 16:06:37.892 (2)&nbsp; &lt;=BE ParseComplete [null]<br>
&gt;&gt; 16:06:37.892 (2)&nbsp; &lt;=BE BindComplete [unnamed]<br>
&gt;&gt; 16:06:37.892 (2)&nbsp; &lt;=BE CommandStatus(BEGIN)<br>
&gt;&gt; 16:06:37.892 (2)&nbsp; &lt;=BE ParseComplete [null]<br>
&gt;&gt; 16:06:37.892 (2)&nbsp; &lt;=BE BindComplete [unnamed]<br>
&gt;&gt; 16:06:37.892 (2)&nbsp; &lt;=BE NoData<br>
&gt;&gt; 16:06:37.892 (2)&nbsp; &lt;=BE CommandStatus(INSERT 0 1)<br>
&gt;&gt; 16:06:37.893 (2)&nbsp; &lt;=BE ReadyForQuery(T)<br>
&gt;&gt; 16:06:37.893 (2) simple execute, handler=org.postgresql.jdbc.PgStatement$StatementResultHandler@18078bef, maxRows=0, fetchSize=0, flags=0<br>
&gt;&gt; 16:06:37.893 (2)&nbsp; FE=&gt; Bind(stmt=S_1,portal=null,$1=&lt;-613120604&gt;)<br>
&gt;&gt; 16:06:37.893 (2)&nbsp; FE=&gt; Execute(portal=null,limit=0)<br>
&gt;&gt; 16:06:37.893 (2)&nbsp; FE=&gt; Sync<br>
&gt;&gt; 16:06:37.895 (2)&nbsp; &lt;=BE BindComplete [unnamed]<br>
&gt;&gt; 16:06:37.895 (2)&nbsp; &lt;=BE CommandStatus(SELECT 0)<br>
&gt;&gt; 16:06:37.895 (2)&nbsp; &lt;=BE ReadyForQuery(T)<br>
&gt;&gt; 16:06:37.895 (2)&nbsp; FE=&gt; Terminate<br>
&gt;&gt; Exception in thread &quot;main&quot; java.lang.RuntimeException: Balanced<br>
&gt;&gt; at com.pgpool.tests.Issue271_SingleThread.runTest(Issue271_SingleThread.java:57)<br>
&gt;&gt; at com.pgpool.tests.TestStarter.main(TestStarter.java:37)<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; The java test is attached:<br>
&gt;&gt;<br>
&gt;&gt; P/S:<br>
&gt;&gt; Pgpool was build from branch bug271:<br>
&gt;&gt; [root@OAA-54999c4d7735 pgpool2]# git log -2<br>
&gt;&gt; commit 0955a22fb7f30c5b9c1fabe2873c09246453ee50<br>
&gt;&gt; Author: Tatsuo Ishii &lt;ishii@postgresql.org&gt;<br>
&gt;&gt; Date:&nbsp;&nbsp; Tue Mar 14 19:03:02 2017 &#43;0900<br>
&gt;&gt;<br>
&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; Fix problem described in [pgpool-hackers: 2125].<br>
&gt;&gt;<br>
&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; Two problems are fixed:<br>
&gt;&gt;<br>
&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; - The writing_transaction flag is not reset at transaction<br>
&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; committed/aborted. Before it was done in CommandComplete but now it<br>
&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; is possible that we need to check the flag before a command complete<br>
&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; message arrives. So at Execute, it is taken care by<br>
&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; handle_query_context() which used to be a static function in<br>
&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CommandComplete.c. Also the session context memory is always cleared<br>
&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; before start a session context.<br>
&gt;&gt;<br>
&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; - Ready for query Re-sync code path in read_kind_from_backend did not<br>
&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; work. The pending message corresponding to the ready for query<br>
&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; message could be a sync message, which does not have query<br>
&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; context. But before we checked if there's a query context<br>
&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exists. The check is bogus and removed.<br>
&gt;&gt;<br>
&gt;&gt; commit 7c955b2a2dfb77623055b5eae9afe041de3105ee<br>
&gt;&gt; Author: Tatsuo Ishii &lt;ishii@postgresql.org&gt;<br>
&gt;&gt; Date:&nbsp;&nbsp; Sun Mar 12 10:19:34 2017 &#43;0900<br>
&gt;&gt;<br>
&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; Downgrade 1 more ereport from LOG to DEBUG1.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; Sergey<br>
&gt;&gt; ________________________________<br>
&gt;&gt; From: Tatsuo Ishii &lt;ishii@sraoss.co.jp&gt;<br>
&gt;&gt; Sent: Tuesday, March 14, 2017 1:28 PM<br>
&gt;&gt; To: Sergey Kim<br>
&gt;&gt; Cc: pgpool-hackers@pgpool.net<br>
&gt;&gt; Subject: Re: [pgpool-committers: 3836] pgpool: Branch refs/heads/bug271 was created<br>
&gt;&gt;<br>
&gt;&gt; Hi Sergey,<br>
&gt;&gt;<br>
&gt;&gt; I have created a new branch named &quot;bug271&quot; which has been used to<br>
&gt;&gt; develop the patch for bug 271 on private git repository. Now you could<br>
&gt;&gt; use either the email attached patches or the branch if it's<br>
&gt;&gt; convieninet for you. The branch was created against the master<br>
&gt;&gt; branch. I will occasionaly rebase it with the master branch. In the<br>
&gt;&gt; near future the branch will be merged into the master branch (and I<br>
&gt;&gt; plan to back-patch it to 3.6 stable tree).<br>
&gt;&gt;<br>
&gt;&gt; Best regards,<br>
&gt;&gt; --<br>
&gt;&gt; Tatsuo Ishii<br>
&gt;&gt; SRA OSS, Inc. Japan<br>
&gt;&gt; English: <a href="http://www.sraoss.co.jp/index_en.php" id="LPlnk40712" previewremoved="true">
http://www.sraoss.co.jp/index_en.php</a><br>
&gt;&gt; Japanese:http://www.sraoss.co.jp<br>
&gt;&gt;<br>
&gt;&gt; From: pgpool-committers-bounces@pgpool.net<br>
&gt;&gt; Subject: [pgpool-committers: 3836] pgpool: Branch refs/heads/bug271 was created<br>
&gt;&gt; Date: Tue, 14 Mar 2017 10:19:33 &#43;0000<br>
&gt;&gt; Message-ID: &lt;E1cnjYD-0005zz-GZ@gothos.postgresql.org&gt;<br>
&gt;&gt;<br>
&gt;&gt;&gt; Branch refs/heads/bug271 was created.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; View: <a href="http://git.postgresql.org/gitweb?p=pgpool2.git;a=shortlog;h=refs/heads/bug271" id="LPlnk647828" previewremoved="true">
http://git.postgresql.org/gitweb?p=pgpool2.git;a=shortlog;h=refs/heads/bug271</a><br>
</div>
</span></font></div>
</div>
</body>
</html>