-
Notifications
You must be signed in to change notification settings - Fork 64
Open
Labels
P2Priority 2Priority 2
Description
🐛 Describe the bug
If you call purge_instance_history_by when using the DTS backend, you get the following error: Exception: The operation failed with an unexpected status code 400
🤔 Expected behavior
purge_instance_history_by should successfully purge instance history based on the input params
☕ Steps to reproduce
Function code:
@bp.route(route="PurgeOrchestrationHistory", methods=["GET", "POST"])
@bp.durable_client_input(client_name="client")
async def purge_history(req: func.HttpRequest, client: df.DurableOrchestrationClient):
logging.info("Starting purge all instance history")
try:
# Parse optional query parameters for purgeStartTime and purgeEndTime
purge_start_time: Optional[datetime] = None
purge_end_time: Optional[datetime] = None
if req.params.get("purgeStartTime"):
purge_start_time = datetime.fromisoformat(req.params["purgeStartTime"])
if req.params.get("purgeEndTime"):
purge_end_time = datetime.fromisoformat(req.params["purgeEndTime"])
# Purge orchestration history
result = await client.purge_instance_history_by(
created_time_from=purge_start_time,
created_time_to=purge_end_time,
runtime_status=[
df.OrchestrationRuntimeStatus.Completed,
df.OrchestrationRuntimeStatus.Failed,
df.OrchestrationRuntimeStatus.Terminated,
],
)
logging.info("Finished purge all instance history")
return func.HttpResponse(
f"Purged {result.instances_deleted} records",
status_code=200,
mimetype="text/plain"
)
except Exception as ex:
logging.error("Failed to purge all instance history", exc_info=True)
return func.HttpResponse(
f"Failed to purge all instance history: {str(ex)}",
status_code=500,
mimetype="text/plain"
)
⚡If deployed to Azure
N/A
Metadata
Metadata
Assignees
Labels
P2Priority 2Priority 2