-
Notifications
You must be signed in to change notification settings - Fork 53
Open
Description
Describe the bug
A TD record errors despite the associated Optimization records continuing to have a "running" status
Example
from collections import defaultdict
from qcportal import PortalClient
qc_client = PortalClient("https://api.qcarchive.molssi.org:443/", cache_dir=".")
ds = qc_client.get_dataset("torsiondrive", "OpenFF Lipid Torsion Drives v4.0")
record_dict = defaultdict(list)
for _, _, rec in ds.iterate_records():
record_dict[rec.status.value].append(rec)
for status in ["running", "error", "waiting"]:
if record_dict[status]:
print(f"\n\n TD Status {status}")
print("%"*50)
for td_opt in record_dict[status]:
print(f"\n\n OPTIMIZATION SUCCESS ANALYSIS TD ID {td_opt.id}:")
print(" ", "="*50)
if status == "error":
print("\n ", td_opt.error, "\n")
successful_angles = []
problematic_angles = []
problematic_records = []
# len(td_opt.compute_history) == 1, no extra information
print(" Problematic Angles:")
for angle, rec_list in td_opt.optimizations.items():
has_complete = any(rec.status.name == "complete" for rec in rec_list)
if has_complete:
successful_angles.append(angle)
else:
problematic_angles.append(angle)
problematic_records.append(rec_list)
status_summary = (f" Complete: {sum(rec.status.name == 'complete' for rec in rec_list)}, "
f"Error: {sum(rec.status.name == 'error' for rec in rec_list)}, "
f"Waiting: {sum(rec.status.name == 'waiting' for rec in rec_list)}, "
f"Running: {sum(rec.status.name == 'running' for rec in rec_list)}, ")
print(f" Angle {str(angle):>6s}: {len(rec_list)} records - {status_summary}")
print(f"\n Summary:")
print(f" Angles with at least one successful optimization: {len(successful_angles)}")
print(f" Angles with NO successful optimizations: {len(problematic_angles)}")
print(problematic_records[1][0].status) TD Status error
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
OPTIMIZATION SUCCESS ANALYSIS TD ID 146649971:
==================================================
{'error_type': 'service_iteration_error', 'error_message': 'Some task(s) did not complete successfully'}
Problematic Angles:
Angle (105,): 1 records - Complete: 0, Error: 0, Waiting: 0, Running: 1,
Summary:
Angles with at least one successful optimization: 23
Angles with NO successful optimizations: 1
OPTIMIZATION SUCCESS ANALYSIS TD ID 146649959:
==================================================
{'error_type': 'service_iteration_error', 'error_message': 'Some task(s) did not complete successfully'}
Problematic Angles:
Angle (-120,): 1 records - Complete: 0, Error: 0, Waiting: 0, Running: 1,
Angle (-105,): 1 records - Complete: 0, Error: 0, Waiting: 0, Running: 1,
Angle (120,): 2 records - Complete: 0, Error: 0, Waiting: 0, Running: 2,
Summary:
Angles with at least one successful optimization: 21
Angles with NO successful optimizations: 3
<RecordStatusEnum.running: 'running'>
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels