[Pgpool-general] pgpool 2.2.4: DEALLOCATED children

Tatsuo Ishii ishii at sraoss.co.jp
Sat Sep 26 00:47:34 UTC 2009


Hum.

--- pool_process_query.c	23 Sep 2009 11:39:10 -0000	1.141.2.20
+++ pool_process_query.c	25 Sep 2009 19:48:39 -0000
@@ -2178,6 +2178,7 @@
 			reset_prepared_list(&prepared_list);
 			return -1;
 		}
+		del_prepared_list(&prepared_list, prepared_list.portal_list[0]);
 		return 1;
 	}
 
This part does not look good.

		/* Delete from prepared list */
		if (send_deallocate(backend, &prepared_list, 0))
		{
			/* Deallocate failed. We are in unknown state. Ask caller
			 * to reset backend connection.
			 */
			reset_prepared_list(&prepared_list);
			return -1;
		}
		del_prepared_list(&prepared_list, prepared_list.portal_list[0]);

send_deallocate() not only sends DEALLOCATE to the backend but
register a callback to call del_prepared_list() after DEALLOCATE
succeeds. Thus if send_deallocate() succeeded, del_prepared_list()
should have been called. Calling del_prepared_list() in your pacth is
not only neccessary but removes prepared object withput sending
DEALLOCATE to backend, no?
--
Tatsuo Ishii
SRA OSS, Inc. Japan

>  Tatsuo, 
> 
>  I'm attaching a single patch with both of the changes I sent
> previously. It was made against the V2_2_STABLE branch (not HEAD),
> because it depends on the patch from Sep 23 11:39:10.
> 
>  Thanks for all your patience.
> 
>  Cheers
> 
> On Fri, 2009-09-25 at 21:23 +0900, Tatsuo Ishii wrote:
> > > Hi Tatsuo,
> > > 
> > > filtered logs are attached.
> > 
> > Thanks.
> > 
> > > Can you validate the patches applied?
> > 
> > The patches look good. I'm going to apply.
> > --
> > Tatsuo Ishii
> > SRA OSS, Inc. Japan


More information about the Pgpool-general mailing list