pgq/cascade/admin: make tag-dead store into db
authorMarko Kreen <markokr@gmail.com>
Mon, 24 Jan 2011 15:26:27 +0000 (17:26 +0200)
committerMarko Kreen <markokr@gmail.com>
Mon, 24 Jan 2011 15:28:51 +0000 (17:28 +0200)
python/pgq/cascade/admin.py
tests/londiste/regen.sh

index 6f3e21ba7bb188dd397a46123025776d469d5e9d..c09eb625430db1847f845bf841fc8a290cd2ee3f 100644 (file)
@@ -642,7 +642,11 @@ class CascadeAdmin(skytools.AdminScript):
     def cmd_tag_dead(self, node_name):
         # todo: write to db
         self.log.info("Tagging node '%s' as dead" % node_name)
+        self.load_local_info()
         self.queue_info.tag_dead(node_name)
+        q = "select * from pgq_node.register_location(%s, %s, null, true)"
+        self.node_cmd(self.local_node, q, [self.queue_name, node_name])
+        # fixme: root?
 
     def cmd_pause(self):
         """Pause a node"""
@@ -658,8 +662,9 @@ class CascadeAdmin(skytools.AdminScript):
 
     def cmd_members(self):
         """Show member list."""
+        self.load_local_info()
         db = self.get_database(self.initial_db_name)
-        desc = 'Member info on %s:' % self.local_node
+        desc = 'Member info on %s@%s:' % (self.local_node, self.queue_name)
         q = "select node_name, dead, node_location"\
             " from pgq_node.get_queue_locations(%s) order by 1"
         self.display_table(db, desc, q, [self.queue_name])
index 17db15066aae2f3d687c850b57bc558f60a239a4..f95442bfaf7ee709daa6d4eb7985e8f630110dcd 100755 (executable)
@@ -160,7 +160,8 @@ while test $cnt -ne 2; do
 done
 msg "Promoting db2 to root"
 run londiste3 $v conf/londiste_db2.ini takeover node1 --dead-root
-run londiste3 $v conf/londiste_db2.ini status --dead=node1
+run londiste3 $v conf/londiste_db2.ini tag-dead node1
+run londiste3 $v conf/londiste_db2.ini status
 
 run sleep 5
 
@@ -224,7 +225,7 @@ run psql -d db1 -c 'alter database db2 rename to db2x'
 run londiste3 $v conf/londiste_db1.ini status --dead=node2
 run londiste3 $v conf/londiste_db3.ini takeover db2 --dead-root || true
 run londiste3 $v conf/londiste_db3.ini takeover node2 --dead-root
-run londiste3 $v conf/londiste_db1.ini status --dead=node2
+run londiste3 $v conf/londiste_db1.ini status
 
 msg "Restart loadgen"
 run ./loadgen.py -s conf/gen2.ini