milvus: [Bug]: EtcdKV CompareAndSwap interface semantic is confused

Is there an existing issue for this?

  • I have searched the existing issues

Environment

- Milvus version:
- Deployment mode(standalone or cluster):
- SDK version(e.g. pymilvus v2.0.0rc2):
- OS(Ubuntu or CentOS): 
- CPU/Memory: 
- GPU: 
- Others:

Current Behavior

etcdKV support compareAndSwap by value and version, if compare failed it will throw NewCompareFailedError.

Expected Behavior

  1. compareAndSwap should support idempotent retry.
  2. if version or value mismatch, should return true/false rather than direct return error

Steps To Reproduce

No response

Anything else?

No response

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 15 (10 by maintainers)

Most upvoted comments

/assign /unassign @xiaofan-luan

Let me take this