Wed Jul 7 07:45:29 PDT 2010
- Previous message: [Slony1-commit] slony1-engine RELEASE
- Next message: [Slony1-commit] slony1-engine/tools/altperl slonik_failover.pl
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Update of /home/cvsd/slony1/slony1-engine/src/slon In directory main.slony.info:/tmp/cvs-serv24602/src/slon Modified Files: remote_worker.c Log Message: release sl_config_lock before sleeping See bug # 135, slon appeared to be waiting to get a sl_config_lock that the same slon process was already holding. slon kept sleeping waiting for a sync to catch up. Not holding the lock when we sleep should allow other threads to obtain the lock. Merged from 2.0 Index: remote_worker.c =================================================================== RCS file: /home/cvsd/slony1/slony1-engine/src/slon/remote_worker.c,v retrieving revision 1.187 retrieving revision 1.188 diff -C 2 -d -r1.187 -r1.188 *** remote_worker.c 1 Jun 2010 15:15:33 -0000 1.187 --- remote_worker.c 7 Jul 2010 14:45:27 -0000 1.188 *************** *** 1096,1099 **** --- 1096,1100 ---- query_append_event(&query1, event); slon_appendquery(&query1, "commit transaction;"); + query_execute(node, local_dbconn, &query1); slon_log(SLON_DEBUG1, "ACCEPT_SET - done\n"); *************** *** 1235,1238 **** --- 1236,1247 ---- node->no_id, sub_provider, prov_seqno); + + /** + * Release the sl_config_lock + * we want other threads to be + * able to continue during the sleep. + */ + if (query_execute(node, local_dbconn, &query2) < 0) + slon_retry(); sched_rc = sched_msleep(node, 5000); if (sched_rc != SCHED_STATUS_OK) *************** *** 1241,1244 **** --- 1250,1266 ---- break; } + /** + * Obtain the config lock again. + * it was released above. + */ + slon_mkquery(&query1, "start transaction;" + "set transaction isolation level serializable;"); + slon_appendquery(&query1, + "lock table %s.sl_config_lock; ", + rtcfg_namespace); + + if (query_execute(node, local_dbconn, &query1) < 0) + slon_retry(); + continue; }
- Previous message: [Slony1-commit] slony1-engine RELEASE
- Next message: [Slony1-commit] slony1-engine/tools/altperl slonik_failover.pl
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Slony1-commit mailing list