# The remaining caps should comply with the numbers sent from MDS in SESSION_RECALL message,
# which depend on the caps outstanding, cache size and overall ratio
+ recall_expected_value = int((1.0-mds_max_ratio_caps_per_client)*(open_files+2))
def expected_caps():
num_caps = self.get_session(mount_a_client_id)['num_caps']
if num_caps < mds_min_caps_per_client:
- raise
+ raise RuntimeError("client caps fell below min!")
elif num_caps == mds_min_caps_per_client:
return True
- elif num_caps == int((1.0-mds_max_ratio_caps_per_client)*(open_files+2)):
+ elif recall_expected_value*.95 <= num_caps <= recall_expected_value*1.05:
return True
else:
return False