Skip to content

Commit ea14fe6

Browse files
committed
fix in self.ana_grp_subs_load
dump ana_grp_subs load post mortem Signed-off-by: Leonid Chernin <[email protected]>
1 parent 6d1413c commit ea14fe6

File tree

1 file changed

+19
-11
lines changed

1 file changed

+19
-11
lines changed

control/grpc.py

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2219,13 +2219,14 @@ def create_namespace(self, subsystem_nqn, bdev_name, nsid, anagrpid, uuid,
22192219
location)
22202220
self.logger.debug(f"subsystem_add_ns: {nsid}")
22212221
self.ana_grp_ns_load[anagrpid] += 1
2222-
if anagrpid in self.ana_grp_subs_load:
2223-
if subsystem_nqn in self.ana_grp_subs_load[anagrpid]:
2224-
self.ana_grp_subs_load[anagrpid][subsystem_nqn] += 1
2225-
else:
2226-
self.ana_grp_subs_load[anagrpid][subsystem_nqn] = 1
2222+
if anagrpid not in self.ana_grp_subs_load:
2223+
self.ana_grp_subs_load[anagrpid] = {}
2224+
2225+
if subsystem_nqn in self.ana_grp_subs_load[anagrpid]:
2226+
self.ana_grp_subs_load[anagrpid][subsystem_nqn] += 1
22272227
else:
22282228
self.ana_grp_subs_load[anagrpid][subsystem_nqn] = 1
2229+
self.logger.info(f"dump self.ana_grp_subs: {self.ana_grp_subs_load}")
22292230
except Exception as ex:
22302231
self.logger.exception(add_namespace_error_prefix)
22312232
errmsg = f"{add_namespace_error_prefix}:\n{ex}"
@@ -2641,14 +2642,21 @@ def namespace_change_load_balancing_group_safe(self, request, context):
26412642
error_message=change_lb_group_failure_prefix)
26422643
# change LB success - need to update the data structures
26432644
self.ana_grp_ns_load[anagrpid] -= 1 # decrease loading of previous "old" ana group
2644-
self.ana_grp_subs_load[anagrpid][request.subsystem_nqn] -= 1
2645+
try:
2646+
self.ana_grp_subs_load[anagrpid][request.subsystem_nqn] -= 1
2647+
except Exception as ex:
2648+
self.logger.error(f"entry does not exist in ana_grp_subs_load array: ANA grp:"
2649+
f" {anagrpid} nqn: {request.subsystem_nqn} {ex} ")
2650+
# Dump all entries
2651+
self.logger.info(f"dump self.ana_grp_subs: {self.ana_grp_subs_load}")
2652+
assert False, "ana_grp_subs_load dictionary should be initialized"
2653+
26452654
self.logger.debug(f"updated load in grp {anagrpid} = {self.ana_grp_ns_load[anagrpid]} ")
26462655
self.ana_grp_ns_load[request.anagrpid] += 1
2647-
if request.anagrpid in self.ana_grp_subs_load:
2648-
if request.subsystem_nqn in self.ana_grp_subs_load[request.anagrpid]:
2649-
self.ana_grp_subs_load[request.anagrpid][request.subsystem_nqn] += 1
2650-
else:
2651-
self.ana_grp_subs_load[request.anagrpid][request.subsystem_nqn] = 1
2656+
if request.anagrpid not in self.ana_grp_subs_load:
2657+
self.ana_grp_subs_load[request.anagrpid] = {}
2658+
if request.subsystem_nqn in self.ana_grp_subs_load[request.anagrpid]:
2659+
self.ana_grp_subs_load[request.anagrpid][request.subsystem_nqn] += 1
26522660
else:
26532661
self.ana_grp_subs_load[request.anagrpid][request.subsystem_nqn] = 1
26542662
self.logger.debug(f"updated load in grp {request.anagrpid} = "

0 commit comments

Comments
 (0)