Bonjour,

J'ai créée un cluster de BD redondantes gràce à Slony-I. Il est constitué de deux nodes.
Ca, ça marche.
Puisque qu'un raison d'être d'un cluster c'est la panne, je teste le failover via le script suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
cluster name = slony_exampleII;
 
node 1 admin conninfo = 'dbname=testReplication host=192.168.1.70 user=XX password=XX';
node 2 admin conninfo = 'dbname=testReplication host=192.168.1.71 user=XX password=XX';
 
echo 'debut du failover'; 
 
failover(id = 1 , BACKUP NODE = 2);
echo 'failover OK';
 
drop node(id= 1, event node = 2);
echo 'drop node OK';
Le problème est que le script se bloque sur la commande de failover et affiche le message suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
NOTICE: failedNode: set 1 has no other direct receivers - move now
Si je comprends bien le message, il est effectivement justifié puisque qu'il n'y a qu'un node de secours, mais pourquoi bloque-t-il le script?
Le lancement de ce script a aussi la facheuse conséquence d'arréter le slon sur mon serveur de secours avec le message:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
INFO localListenThread: got restart notification
Un fois relancé le script reprend et tout est bien qui fini bien.
Si je tue le script et le relance, tout se passe aussi correctement.

Le problème est que mon script se bloque et que le serveur de secours s'arrète, mais où est la cause? où la conséquence?