Azure / Azure/azure-functions-durable-python
[Bug] Bug: purge_instance_history_by has incorrect parameter handling and time filter behavior
- 主要语言
- 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