[Pgpool-general] Simultanous request processing

Tatsuo Ishii ishii at sraoss.co.jp
Thu Dec 4 08:16:47 UTC 2008


Unfortunately your idea will not work. If there's only one connection
to pgpool then it's ok. But if you have two or more connections, they
will run into deadlock condition soon or later.

Note that pgpool waits for completion of the query on the master but
does not wait for other nodes completion (The nodes other than master
run the query concurrently). So the run time for a query is
2*backend_processing_time, not N*backend_processing_time.

I know if you have only two nodes this does not help anything but if
you three or more nodes you will see the difference.
--
Tatsuo Ishii
SRA OSS, Inc. Japan

> Hello,
> 
> Is it possible for pgpool processing INSERT and UPDATE requests on backends
> simultaneously?
> Currently I see that request is executed firstly on the master node and then
> sequentially on other nodes. It consumes N*backend_processing_time and is
> visible in long transactions :( .
> 
> I expect the following changes in architecture.
> Request is scheduled to one of the pgpool processes, which spawns N excuting
> threads that invoke transactions on backends simultenously. The parent is
> waiting on response from threads. When all responses are OK then all threads
> will receive permission to commit transactions.
> 
> Is it feasible or to revolutionary ?
> 
> regards
> Edward


More information about the Pgpool-general mailing list