summaryrefslogtreecommitdiff
path: root/python/pgq/setadmin.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/pgq/setadmin.py')
-rw-r--r--python/pgq/setadmin.py13
1 files changed, 11 insertions, 2 deletions
diff --git a/python/pgq/setadmin.py b/python/pgq/setadmin.py
index d1b10e33..47f70de8 100644
--- a/python/pgq/setadmin.py
+++ b/python/pgq/setadmin.py
@@ -119,7 +119,7 @@ class SetAdmin(skytools.DBScript):
provider_db.commit()
row = curs.fetchone()
if not row:
- raise Exceotion("provider node not found")
+ raise Exception("provider node not found")
provider_name = row['node_name']
# register member on root
@@ -166,6 +166,12 @@ class SetAdmin(skytools.DBScript):
while 1:
db = self.get_database('root_db', connstr = loc)
+
+ if 1:
+ curs = db.cursor()
+ curs.execute("select current_database()")
+ n = curs.fetchone()[0]
+ self.log.debug("real dbname=%s" % n)
# query current status
res = self.exec_query(db, "select * from pgq_set.get_node_info(%s)", [self.set_name])
info = res[0]
@@ -174,12 +180,15 @@ class SetAdmin(skytools.DBScript):
self.log.info("Root node not initialized?")
sys.exit(1)
+ self.log.debug("db='%s' -- type='%s' provider='%s'" % (loc, type, info['provider_location']))
# configured db may not be root anymore, walk upwards then
if type in ('root', 'combined-root'):
db.commit()
return db
- self.close_connection()
+ self.close_database('root_db')
+ if loc == info['provider_location']:
+ raise Exception("find_root_db: got loop: %s" % loc)
loc = info['provider_location']
if loc is None:
self.log.info("Sub node provider not initialized?")