kubebrain
kubebrain copied to clipboard
Provide more detail on reproducing the benchmark result
What would you like to be added?
What etcd version the benchmark is using? 3.5.x or 3.4.x go-ycsb doesn't support etcd protocol on the master branch, so is the benchmark using a non-release version? Is there any Tikv tuning or it is all default setting? What is the version of Tikv in the benchmark report?
Why is this needed?
We need to reproduce the benchmark result to determine whether or not to replace etcd to kubebrain.
- We use etcd 3.4.x and defragment it before test to make it without too many fragments inpacting on Writing.
- We implement the protocal with etcd client and kubebrain client to test, we may file an PR to do that soon. We use etcd Txn API to do revision comparing just like it's used by APIServer,but not the common write. Writing in our benchmark is Insert,because Update should get the previous revision first through Get
- TiKV is run with default setting.
- TiKV 5.1
2. get
Thanks, I will try to reproduce it by myself.
Is there any plan on fully implement the ETCD Protocol?
There are Txn, Watch and Range, but the rest is not implemented.
If I am planning to do so, is there any suggestion?
- get
Thanks, I will try to reproduce it by myself.
Is there any plan on fully implement the ETCD Protocol?
There are Txn, Watch and Range, but the rest is not implemented.
If I am planning to do so, is there any suggestion?
@tomasliu-agora thanks for filing the issue.
Yes, we would love to fully implement the ETCD protocol, but several features may need to be added to the TiKV, like TTL. For more details, please check the issue https://github.com/tikv/tikv/issues/12920 submitted by @divanodestiny
If I am planning to do so, is there any suggestion?
If you want to support common put or common delete, just implement it by WriteBatch without CAS RevisionKey but Put RevisionKey, and expose the method to out side.
KubeBrain support TTL just for events now,and do not support fully support for lease. If you want to implement that, you should make a proposal to discuss about that.
There are Txn, Watch and Range, but the rest is not implemented.
We implement KubeBrain for matching the requirement of APIServer. So we don't implement all etcd3 API now.
@tomasliu-agora Why do you want to do that? Do you want to use it in any other case? Can you explain your requirement in detail?
@tomasliu-agora is there any further concern? if none, I will close this issue.