Aleksander Kmetec aleksander.kmetec at intera.si
Tue Jul 21 18:47:37 PDT 2009
Hi,

there's another bug I've been seeing from time to time, but was unable to reproduce it until today.

We have statement_timeout set to 10 seconds and we would sometimes get timeouts on extremely simple statements, like 
single-row inserts. I believe this is caused by a waiting TRUNCATE in logswitch_finish() blocking writes to sl_log.

To reproduce:

1. follow steps 1 to 4 as described here:
http://lists.slony.info/pipermail/slony1-general/2009-July/009663.html

2. Instead of committing in terminal 1, open a third instance of psql and run:

SET statement_timeout TO '3s';
INSERT ... -- (any table which has a logtrigger will do)

You should get the following error:
ERROR:  canceling statement due to statement timeout
CONTEXT:  SQL statement "INSERT INTO _clustername.sl_log_1 (log_origin, log_txid, log_tableid, log_actionseq, 
log_cmdtype, log_cmddata) VALUES (1, "pg_catalog".txid_current(), $1, nextval('_clustername.sl_action_seq'), $2, $3); "


Please let me know if there's something I can do to help fix these problems.

Regards,
Aleksander



More information about the Slony1-general mailing list