Fri Aug 18 11:52:01 PDT 2006
- Previous message: [Slony1-general] Mulitple MOVE SET slon death
- Next message: [Slony1-general] Using Slony-l for real time replication
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Christopher Browne wrote: > Julian Scarfe wrote: > >> So with 1.2RC3 I'm still seeing the same behaviour as I reported below (no >> replies received to that). >> >> I have 10 sets (numbered 1001, 2001,... 10001) with initial origin on node >> 1. >> >> On attempting to switchover all of them to node 2, I'm getting FATAL errors >> on the 2nd and subsequent MOVE SETs: >> >> $ grep -a "MOVE" /tmp/slon-avbrief.out >> 2006-08-17 10:01:42 UTC DEBUG2 localListenThread: Received event 1,214 >> MOVE_SET >> 2006-08-17 10:01:44 UTC DEBUG2 localListenThread: Received event 1,217 >> MOVE_SET >> 2006-08-17 10:01:44 UTC FATAL localListenThread: MOVE_SET but no provider >> found for set 2001 >> 2006-08-17 10:01:56 UTC DEBUG2 localListenThread: Received event 1,219 >> MOVE_SET >> 2006-08-17 10:01:56 UTC FATAL localListenThread: MOVE_SET but no provider >> found for set 3001 >> ... >> 2006-08-17 10:03:20 UTC DEBUG2 localListenThread: Received event 1,240 >> MOVE_SET >> 2006-08-17 10:03:20 UTC FATAL localListenThread: MOVE_SET but no provider >> found for set 10001 >> >> Of course with the new behaviour of slon in 1.2, it restarts after 10 >> seconds and processes another MOVE SET successfully before dying at the >> second attempt. So eventually the process completes. As a side issue, if I >> could modify the sleep time before restart to 1 second, the FATAL might be >> acceptable, but 10 seconds per set is too long. >> >> Unless I'm misunderstanding, it looks like Christopher diagnosed the problem >> in the message referenced below, but I can't see any corresponding >> modification in HEAD to rewrite the query to include the set_id (sub_set). >> >> slon_mkquery(&query2, >> "select sub_provider from %s.sl_subscribe " >> " where sub_receiver = %d", >> rtcfg_namespace, rtcfg_nodeid); >> res2 = PQexec(dbconn, dstring_data(&query2)); >> ... >> if (PQntuples(res2) != 1) >> { >> slon_log(SLON_FATAL, "localListenThread: MOVE_SET " >> "but no provider found for set %d\n", >> set_id); >> dstring_free(&query2); >> PQclear(res2); >> slon_retry(); >> } >> >> Am I missing something? >> >> > I probably am... > > I'll see to adding a test for this today (e.g. - a MOVE SET test with > ~10 sets). > > Adding "and sub_set = %d' to the query looks likely to work out OK... > > There's now a test, and that does seem to work OK.
- Previous message: [Slony1-general] Mulitple MOVE SET slon death
- Next message: [Slony1-general] Using Slony-l for real time replication
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Slony1-general mailing list