-
Notifications
You must be signed in to change notification settings - Fork 332
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
test: use EtcdStore in IT cases #2734
Conversation
Signed-off-by: tison <[email protected]>
Dockerhub down causes test to fail. I'm going to retry once it gets recovered. |
Signed-off-by: tison <[email protected]>
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## develop #2734 +/- ##
===========================================
- Coverage 85.23% 84.31% -0.93%
===========================================
Files 765 730 -35
Lines 124205 113711 -10494
===========================================
- Hits 105864 95870 -9994
+ Misses 18341 17841 -500 |
Implement a "chroot" alike mechanism is not easy (#2734 (comment)). Either we implement it in upstream etcdv3/etcd-client#67 or we chroot/undo_chroot for every keys handled in Converting this PR as draft for now. |
I remember that OpenDAL's root can achieve this feature. But we need to access underneath Etcd client APIs (txns, which is not provided by the OpenDAL API). @Xuanwo may you have a suggestion here how we can implement such |
OpenDAL doesn't support |
I think we can do the same thing as OpenDAL does: prepend a common "root" path for every key in a certain "namespace". The "namespace" could be set by Metasrv when bootstrapping, differ in each test case. |
@MichaelScofield Yep. This is what I'm prototyping locally. And I found that we should change both the request side and the reply side. The latter means that when returning prev_kvs to users, we should strip the root prefix before returning to client. And this causes a refactor I need for etcdv3/etcd-client#68. |
Signed-off-by: tison <[email protected]>
Signed-off-by: tison <[email protected]>
Signed-off-by: tison <[email protected]>
Signed-off-by: tison <[email protected]>
Signed-off-by: tison <[email protected]>
Signed-off-by: tison <[email protected]>
Signed-off-by: tison <[email protected]>
Signed-off-by: tison <[email protected]>
Signed-off-by: tison <[email protected]>
Merge #2786 for running test. |
Signed-off-by: tison <[email protected]>
Signed-off-by: tison <[email protected]>
BTW, We can implement the |
If chroot is empty, no copy will happen. Rust compiler should be smart enough to handle this ownership to ownership in-place moved. |
It can be a follow-up to discuss. It can largely increase the scope of this PR and finally we don't achieve anything. |
But I can give it a try, or just give up and let you take it over - do not depend on me. |
Signed-off-by: tison <[email protected]>
Signed-off-by: tison <[email protected]>
Signed-off-by: tison <[email protected]>
Anyway I For |
@MichaelScofield Let's do this refactors thing in a follow-up PR? Since this PR is already non-trival and the refactor should not be a blocker. @fengjiachun Please see #2734 (comment) |
@tisonkun LGTM. However, github CI check complained with the notorious annoying "waiting status to be updated" error. I changed the workflow step name back to "coverage", hope you don't mind. |
I may spend a time to use a proxy to overcome the rate limit issue. |
I hereby agree to the terms of the GreptimeDB CLA
What's changed and what's your intention?
Checklist
Refer to a related PR or issue link (optional)
This closes #2357.