aws / aws/sagemaker-hyperpod-cli
执行这个命令会删除 jumpstartmodels 与sagemakerendpointregistrations (如果存在),但是如果存在sagemaker相关的资源这些资源不会被删除。这将会导致后续重建jumpstartmodels是还是关联到了老的sagemaker资源
- Dominant language
- Python
- Stars
- 41
- Forks
- 95
- Avg merge
- 23h 5m
- Merged PRs (30d)
- 8
Description
kubectl delete jumpstartmodels mistral-jumpstart -n default
执行这个命令会删除 jumpstartmodels 与sagemakerendpointregistrations (如果存在),但是如果存在sagemaker相关的资源这些资源不会被删除。这将会导致后续重建jumpstartmodels是还是关联到了老的sagemaker资源
主要原因:
1. Kubernetes etcd 存储层面的并发冲突
• 多个控制器(可能包括 kubectl delete 和 operator finalizer)同时尝试修改资源
• ResourceVersion 不匹配导致乐观锁失败
2. HyperPod Inference Operator 的 Bug
• Operator 在处理 finalizer 时没有正确处理并发场景
• 删除逻辑中存在竞争条件
3. Finalizer 清理顺序问题
• 两个 finalizer 可能存在依赖关系
• 清理顺序不当导致状态不一致
为什么 SageMaker 资源没有被删除:
• **Operator 崩溃**:在删除过程中遇到 Kubernetes API 错误后,Operator 停止了后续的清理工作
• **事务不完整**:删除操作不是原子性的,部分完成后失败
• **错误恢复机制缺失**:Operator 没有重试或错误恢复机制
这是一个典型的 Kubernetes Operator 并发控制问题,导致资源清理不完整,留下了孤立的 SageMaker 资源。
Contributor guide
Assessment
This issue has not been assessed yet.