Azure / Azure/azure-functions-durable-python

[Bug] Bug: purge_instance_history_by has incorrect parameter handling and time filter behavior

未关闭
#533 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
bug fixed-in-v2
主要语言
Python
星标
157
派生
70
平均合并
2 天 10 小时
30 天内合并 PR
2

描述

### Expected Behavior

The created_time_from parameter should be optional, and the time filters should be combined with an intersection (AND) to allow precise time intervals.

### Actual Behavior

Observe that the API returns a 400 Bad Request error.

### Steps to Reproduce
Use the following code to call purge_instance_history_by

```shell
await client.purge_instance_history_by(
created_time_to=datetime.now(timezone.utc) - timedelta(days=1),
runtime_status=[
df.OrchestrationRuntimeStatus.Completed,
df.OrchestrationRuntimeStatus.Failed,
df.OrchestrationRuntimeStatus.Terminated,
],
)
```
Observe that the API returns a 400 Bad Request error.

### requirements.txt file

```shell
azure-functions-durable==1.2.10
```

### **Description:**

When using the _purge_instance_history_by_ method in the _DurableOrchestrationClient_ I encountered the following issues:

1. **Missing Mandatory Parameter:**

The created_time_from parameter is treated as optional in the SDK, but it is actually mandatory in the underlying API. If created_time_from is not
provided, the API returns a 400 Bad Request error.

2. **Time Filter Behavior:**

The time filters (created_time_from and created_time_to) are combined with a union (OR) instead of an intersection (AND). This makes it impossible
to define precise time intervals for purging.

贡献指南

打开贡献指南

调研方向

从 DurableOrchestrationClient 上的 purge_instance_history_by 开始,并结合 azure-functions-durable==1.2.10 要求检查 issue 中描述的行为。使用提供的调用来验证,省略 created_time_from 不再产生 400 响应,并且 created_time_from 和 created_time_to 定义了一个相交的区间。

由索引模型根据 Issue 内容生成。

评估

技术栈
azure, python
领域
api, backend
Issue 类型
缺陷
难度
3/5
预计耗时
1-2 天
活跃度
停滞
描述清晰度
基本清楚
新手友好度
45/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。