Cumartesi gecesi ateşi (ve çözülen Slony-I sorunu)
Dünkü Slony-I sorununu kalıcı şekilde aşmak için dün gece işe koyuldum.
İşe tüm nodelardaki fonksiyonları güncelleyerek başladım -- zira Slony-I güncellemesi de vardı (slonik_update_nodes).
Ardından
setleri unsubscribe ettim, sonra setleri kaldırdım
(slonik_unsubscribe_set ve slonik_drop_set). İşe yarar gibi gözüktü
başta -- create set aşaması düzgün gidiyordu. Ancak yine bir tabloda ve
ilginçtir ki dün sorun çıkartan tabloların birinde tekrar bağırdı
Slony-I.:
<stdin>:387: Add primary keyed table public.clearance_accessories
<stdin>:391: Add primary keyed table public.clearance_phones
<stdin>:395: Add primary keyed table public.clearance_item_sorting
<stdin>:396:
PGRES_FATAL_ERROR select "_replica".setAddTable(3, 5094,
'public.rev_marketmap', 'rev_marketmap_pkey', 'Table
public.rev_marketmap with primary key'); - ERROR: duplicate key
violates unique constraint "sl_table_tab_reloid_key"
CONTEXT: SQL
statement "insert into "_replica".sl_table (tab_id, tab_reloid,
tab_relname, tab_nspname, tab_set, tab_idxname, tab_altered,
tab_comment) values ( $1 , $2 , $3 , $4 , $5 , $6 , false, $7 )"
PL/pgSQL function "setaddtable_int" line 103 at SQL statement
SQL statement "SELECT "_replica".setAddTable_int( $1 , $2 , $3 , $4 , $5 )"
PL/pgSQL function "setaddtable" line 37 at perform
Peki, bu anlamsız -- zira tabloları drop etmiştim. Ama küçük bir sorguyu çalıştırmam gerekliydi emin olmak için:
# SELECT * from _replica.sl_table ;
tab_id | tab_reloid | tab_relname | tab_nspname | tab_set | tab_idxname
| tab_altered | tab_comment
--------+------------+---------------+-------------+---------+--------------------+-------------+---------------------------------------------
4100 | 16711 | rev_marketmap | public | 5 | rev_marketmap_pkey | t |
Table public.rev_marketmap with primary key
(1 row)
İşte Üstteki sorun da bundan kaynaklanıyordu. Bunu sildim ve devam ettim. Bu sefer seti düzgün yarattı:
<stdin>:530: Add sequence public.rev_gallery_photos_pk_photos_id_seq
<stdin>:534: Add sequence public.rotatingpromo_pk_rotatingpromo_id_seq
<stdin>:535: All tables added
Seti subscribe ettim subscriber sunucusuna. Loglara baktım:
Apr
11 13:47:53 [slon] [8037-1] 2009-04-11 13:47:53 PDT [22491] DEBUG2
remoteWorkerThread_3: forward confirm 4,2631766 received by 3
Apr 11 13:47:53 [slon] [7306-1] 2009-04-11 13:47:53 PDT [20386] DEBUG2 remoteListenThread_1: LISTEN
Apr 11 13:47:54 [slon] [5868-1] 2009-04-11 13:47:54 PDT [20171] DEBUG2 localListenThread: Received event 1,2618331 SYNC
Apr 11 13:47:54 [slon] [8038-1] 2009-04-11 13:47:54 PDT [22491] DEBUG1 copy_set 3
Apr 11 13:47:54 [slon] [8039-1] 2009-04-11 13:47:54 PDT [22491] ERROR remoteWorkerThread_2: node -1 not found in runtime configuration
Apr
11 13:47:54 [slon] [8040-1] 2009-04-11 13:47:54 PDT [22491] WARN
remoteWorkerThread_2: data copy for set 3 failed - sleep 60 seconds
Node -1 mi??? slonları restart ettim; ancak düzelmedi sorun...
Biraz
araştırdım. Tabii 2 gündür olan sorunlar Slony-I kurulumunu ve
sonrasında bakımını yapanların ne yazık ki yönetimsel açıdan doğru bir
hareket yapmadıklarını gösteriyordu. Sonuçta node4'ü tamamen drop
etmekten başka şansım olmadığına karar verdim.
Node4
kalktı, ve store_node ile tekrar subscriber oldu. Ardından seti baştan
yaratıp üstüne de tekrar subscribe edince hayat harikulade oldu...
Bana da Cumartesi geceyarısı bir heyecan daha olmuş oldu.
Comments
Display comments as Linear | Threaded