File tree Expand file tree Collapse file tree 1 file changed +18
-4
lines changed
apps/beeswax/src/beeswax/server Expand file tree Collapse file tree 1 file changed +18
-4
lines changed Original file line number Diff line number Diff line change @@ -96,15 +96,29 @@ def reset_ha():
9696
9797
9898def get_zk_hs2 ():
99- hiveservers = None
99+ hiveservers = []
100100 zk = KazooClient (hosts = libzookeeper_conf .ENSEMBLE .get (), read_only = True )
101101 zk .start (timeout = ZOOKEEPER_CONN_TIMEOUT .get ())
102102 znode = HIVE_DISCOVERY_HIVESERVER2_ZNODE .get ()
103+
103104 if zk .exists (znode ):
104- LOG .debug ("Selecting up Hive server via the following node {0}" .format (znode ))
105+ LOG .info ("Selecting Hive server via the following node {0}" .format (znode ))
105106 hiveservers = zk .get_children (znode )
106- if hiveservers and 'sequence' in hiveservers [0 ]:
107- hiveservers .sort (key = lambda x : re .findall (r'sequence=\d+' , x )[0 ])
107+
108+ # Filter nodes that match the expected pattern before sorting
109+ sequence_nodes = [x for x in hiveservers if re .search (r'sequence=\d+' , x )]
110+ LOG .info ("Selecting Hive server via the following sequence_nodes {0}" .format (sequence_nodes ))
111+ #['serverUri=dw-dev18:10000;version=3.1.2;sequence=0000000052', 'serverUri=dw-dev17:10000;version=3.1.2;sequence=0000000051']
112+
113+ if sequence_nodes :
114+ # Sort the filtered list based on the sequence number
115+ sequence_nodes .sort (key = lambda x : int (re .findall (r'sequence=(\d+)' , x )[0 ]))
116+ hiveservers = sequence_nodes
117+ else :
118+ LOG .warning ("No nodes matching 'sequence=\d+' found under {0}" .format (znode ))
119+ else :
120+ LOG .error ("ZooKeeper node {0} does not exist." .format (znode ))
121+
108122 zk .stop ()
109123 return hiveservers
110124
You can’t perform that action at this time.
0 commit comments