Skip to content
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

TiKV Rust Client RFC #7

Open
wants to merge 36 commits into
base: master
from

Conversation

@sunxiaoguang
Copy link

commented Oct 25, 2018

Introduces the API design for a Rust client for TiKV.

@sunxiaoguang sunxiaoguang force-pushed the sunxiaoguang:tikv-client-rust branch from 96bd8bd to cf0cd50 Oct 25, 2018

TiKV Rust Client
Signed-off-by: Xiaoguang Sun <sunxiaoguang@zhihu.com>

@sunxiaoguang sunxiaoguang force-pushed the sunxiaoguang:tikv-client-rust branch from cf0cd50 to 7419c9b Oct 25, 2018

@siddontang

This comment has been minimized.

Copy link
Contributor

commented Oct 30, 2018

Show resolved Hide resolved text/2018-10-25-tikv-client-rust.md Outdated
Show resolved Hide resolved text/2018-10-25-tikv-client-rust.md Outdated
Show resolved Hide resolved text/2018-10-25-tikv-client-rust.md Outdated
Show resolved Hide resolved text/2018-10-25-tikv-client-rust.md Outdated
Add more about API usage
Signed-off-by: Xiaoguang Sun <sunxiaoguang@zhihu.com>
@Hoverbear

This comment has been minimized.

Copy link
Member

commented Oct 31, 2018

Great job @sunxiaoguang, thanks for tackling this huge task! My hero. 😂

Show resolved Hide resolved text/2018-10-25-tikv-client-rust.md Outdated
Show resolved Hide resolved text/2018-10-25-tikv-client-rust.md Outdated
Fix some gramma mistakes
Signed-off-by: Xiaoguang Sun <sunxiaoguang@zhihu.com>
Show resolved Hide resolved text/2018-10-25-tikv-client-rust.md Outdated
Show resolved Hide resolved text/2018-10-25-tikv-client-rust.md Outdated
Fix indentation
Signed-off-by: Xiaoguang Sun <sunxiaoguang@zhihu.com>

@sunxiaoguang sunxiaoguang force-pushed the sunxiaoguang:tikv-client-rust branch from a48509c to e82ac4e Nov 2, 2018

sunxiaoguang added some commits Nov 5, 2018

Fixed a typo
Signed-off-by: Xiaoguang Sun <sunxiaoguang@zhihu.com>
Do not move key for get, scan and delete methods
Signed-off-by: Xiaoguang Sun <sunxiaoguang@zhihu.com>
Remove KeyRange and use RangeBounds trait instead
Signed-off-by: Xiaoguang Sun <sunxiaoguang@zhihu.com>
Format text to make lines fit into 80 characters
Signed-off-by: Xiaoguang Sun <sunxiaoguang@zhihu.com>
provide a C-compatible binding for future clients
Signed-off-by: Xiaoguang Sun <sunxiaoguang@zhihu.com>

```rust
impl Client {
pub fn new(_config: &Config) -> Connect;

This comment has been minimized.

Copy link
@sticnarf

sticnarf Nov 22, 2018

One more question about Config: Is it certain that Connect takes the ownership of a Config? According to the API Guidelines, if we use the config as owned here, a Config should be taken instead of a reference.

This comment has been minimized.

Copy link
@sunxiaoguang

sunxiaoguang Nov 23, 2018

Author

It's not decided yet. We'll see

This comment has been minimized.

Copy link
@Hoverbear
@Hoverbear

This comment has been minimized.

Copy link
Member

commented Dec 20, 2018

Hi friends! Are there any remaining points anyone would like to see addressed in this PR? We will likely amend this RFC in the future to reflect the final function signatures etc in the implemented code. That will be a different PR.

@Hoverbear

This comment has been minimized.

Copy link
Member

commented Jan 15, 2019

Now that we've seen tikv/client-rust#14 merged we can revisit & update this document.

Hoverbear and others added some commits Dec 20, 2018

Fix lints
Signed-off-by: Ana Hobden <operator@hoverbear.org>
add schedule limit design (#13)
* add schedule limit design

Signed-off-by: disksing <i@disksing.com>

* Update text/2018-09-17-schedule-limit.md

Signed-off-by: disksing <i@disksing.com>

Co-Authored-By: disksing <i@disksing.com>

* Update text/2018-09-17-schedule-limit.md

Signed-off-by: disksing <i@disksing.com>

Co-Authored-By: disksing <i@disksing.com>

* Update text/2018-09-17-schedule-limit.md

Signed-off-by: disksing <i@disksing.com>

Co-Authored-By: disksing <i@disksing.com>

* Update text/2018-09-17-schedule-limit.md

Signed-off-by: disksing <i@disksing.com>

Co-Authored-By: disksing <i@disksing.com>

* Update text/2018-09-17-schedule-limit.md

Signed-off-by: disksing <i@disksing.com>

Co-Authored-By: disksing <i@disksing.com>

* Update text/2018-09-17-schedule-limit.md

Signed-off-by: disksing <i@disksing.com>

Co-Authored-By: disksing <i@disksing.com>

* Update text/2018-09-17-schedule-limit.md

Signed-off-by: disksing <i@disksing.com>

Co-Authored-By: disksing <i@disksing.com>

* Update text/2018-09-17-schedule-limit.md

Signed-off-by: disksing <i@disksing.com>

Co-Authored-By: disksing <i@disksing.com>

* Update text/2018-09-17-schedule-limit.md

Signed-off-by: disksing <i@disksing.com>

Co-Authored-By: disksing <i@disksing.com>

* Update text/2018-09-17-schedule-limit.md

Signed-off-by: disksing <i@disksing.com>

Co-Authored-By: disksing <i@disksing.com>

* Update text/2018-09-17-schedule-limit.md

Signed-off-by: disksing <i@disksing.com>

Co-Authored-By: disksing <i@disksing.com>

* Update 2018-09-17-schedule-limit.md

Signed-off-by: disksing <i@disksing.com>

* Fix lints

Signed-off-by: Hoverbear <operator@hoverbear.org>

* Update text/2018-09-17-schedule-limit.md

Signed-off-by: A. Hobden <operator@hoverbear.org>

Co-Authored-By: disksing <i@disksing.com>

* Update text/2018-09-17-schedule-limit.md

Signed-off-by: A. Hobden <operator@hoverbear.org>

Co-Authored-By: disksing <i@disksing.com>

* use Region instead of region

Signed-off-by: disksing <i@disksing.com>

* Update text/2018-09-17-schedule-limit.md

Signed-off-by: Caitin <34535727+caitinchen@users.noreply.github.com>

Co-Authored-By: disksing <i@disksing.com>
Signed-off-by: Ana Hobden <operator@hoverbear.org>

@Hoverbear Hoverbear force-pushed the sunxiaoguang:tikv-client-rust branch 3 times, most recently from e857c87 to 041fe9f Feb 21, 2019

@Hoverbear

This comment has been minimized.

Copy link
Member

commented Feb 21, 2019

Trying to resolve the DCO problem on this PR. :)

breeswish and others added some commits Jan 7, 2019

Unified Log Format RFC (#18)
* unified log format

Signed-off-by: Wenxuan Shi <hi@breeswish.org>
Signed-off-by: Ana Hobden <operator@hoverbear.org>
RFC: PD Simulator (#20)
* introduce PD simulator

Signed-off-by: Ryan Leung <rleungx@gmail.com>
Signed-off-by: Ana Hobden <operator@hoverbear.org>
Update RFC to match code
Signed-off-by: Ana Hobden <operator@hoverbear.org>

@Hoverbear Hoverbear force-pushed the sunxiaoguang:tikv-client-rust branch from 041fe9f to 252eb33 Feb 21, 2019

Hoverbear added some commits Feb 21, 2019

Fix lints
Signed-off-by: Ana Hobden <operator@hoverbear.org>

@Hoverbear Hoverbear referenced this pull request Feb 26, 2019

Open

TiKV Command Line RFC #21

sunxiaoguang added a commit to tikv/tikv that referenced this pull request Mar 19, 2019

Title: Add @sunxiaoguang to MAINTAINERS.md
My name is Sun Xiaoguang from Zhihu, where I help make a BigTable like system focusd on OLTP that is using TiKV. I've been contributing to TiKV and the library ecosystem for around a year now. I first touched the TiKV codebase since around March 2018.

As part of my involvement with the project I've contributed several improvements to the TiKV Project:

* [Added raw batch put/get/delete/scan](pingcap/kvproto#244)
* [Changed `get_region` and `get_region_info` to use a common implementation](#3521)
* [Print help message when starting tikv-ctl without argument](#3531)
* [Clean up unused #[allow] directives](#3553)

I also am the first and primary author of the [TiKV Rust Client](https://github.com/tikv/client-rust). You can see related PRs for that here:

* [TiKV Rust Client RFC](tikv/rfcs#7)
* [The initial version of Raw KV Implementation](tikv/client-rust#14)
* [Change `raw::Client::get` to return `Option<Value>`](tikv/client-rust#24)
* [Remove cf and batch_scan from `example/raw.rs`](tikv/client-rust#21)

I also made the first PR to the mock TiKV project: [A basic implementation of mock TiKV API surface](tikv/mock-tikv#1)

As part of my involvement, the TiKV team inquired if I was interested in becoming a maintainer for the project.

This PR adds me to the list of maintainers. I have read and understand the expectations of maintainers described in the `GOVERNANCE.md` file.

sunxiaoguang added a commit to tikv/tikv that referenced this pull request Mar 19, 2019

Title: Add @sunxiaoguang to MAINTAINERS.md
My name is Sun Xiaoguang from Zhihu, where I help make a BigTable like system focusd on OLTP that is using TiKV. I've been contributing to TiKV and the library ecosystem for around a year now. I first touched the TiKV codebase since around March 2018.

As part of my involvement with the project I've contributed several improvements to the TiKV Project:

* [Added raw batch put/get/delete/scan](pingcap/kvproto#244)
* [Changed `get_region` and `get_region_info` to use a common implementation](#3521)
* [Print help message when starting tikv-ctl without argument](#3531)
* [Clean up unused #[allow] directives](#3553)

I also am the first and primary author of the [TiKV Rust Client](https://github.com/tikv/client-rust). You can see related PRs for that here:

* [TiKV Rust Client RFC](tikv/rfcs#7)
* [The initial version of Raw KV Implementation](tikv/client-rust#14)
* [Change `raw::Client::get` to return `Option<Value>`](tikv/client-rust#24)
* [Remove cf and batch_scan from `example/raw.rs`](tikv/client-rust#21)

I also made the first PR to the mock TiKV project: [A basic implementation of mock TiKV API surface](tikv/mock-tikv#1)

As part of my involvement, the TiKV team inquired if I was interested in becoming a maintainer for the project.

This PR adds me to the list of maintainers. I have read and understand the expectations of maintainers described in the `GOVERNANCE.md` file.

Signed-off-by: Xiaoguang Sun <sunxiaoguang@zhihu.com>

sunxiaoguang added a commit to tikv/tikv that referenced this pull request Mar 20, 2019

Title: Add @sunxiaoguang to MAINTAINERS.md
My name is Sun Xiaoguang from Zhihu, where I help make a BigTable like system focusd on OLTP that is using TiKV. I've been contributing to TiKV and the library ecosystem for around a year now. I first touched the TiKV codebase since around March 2018.

As part of my involvement with the project I've contributed several improvements to the TiKV Project:

* [Added raw batch put/get/delete/scan](pingcap/kvproto#244)
* [Changed `get_region` and `get_region_info` to use a common implementation](#3521)
* [Print help message when starting tikv-ctl without argument](#3531)
* [Clean up unused #[allow] directives](#3553)

I also am the first and primary author of the [TiKV Rust Client](https://github.com/tikv/client-rust). You can see related PRs for that here:

* [TiKV Rust Client RFC](tikv/rfcs#7)
* [The initial version of Raw KV Implementation](tikv/client-rust#14)
* [Change `raw::Client::get` to return `Option<Value>`](tikv/client-rust#24)
* [Remove cf and batch_scan from `example/raw.rs`](tikv/client-rust#21)

I also made the first PR to the mock TiKV project: [A basic implementation of mock TiKV API surface](tikv/mock-tikv#1)

As part of my involvement, the TiKV team inquired if I was interested in becoming a maintainer for the project.

This PR adds me to the list of maintainers. I have read and understand the expectations of maintainers described in the `GOVERNANCE.md` file.

Signed-off-by: Xiaoguang Sun <sunxiaoguang@zhihu.com>

siddontang added a commit to tikv/tikv that referenced this pull request Mar 26, 2019

Add @sunxiaoguang to MAINTAINERS.md (#4397)
* Title: Add @sunxiaoguang to MAINTAINERS.md

My name is Sun Xiaoguang from Zhihu, where I help make a BigTable like system focusd on OLTP that is using TiKV. I've been contributing to TiKV and the library ecosystem for around a year now. I first touched the TiKV codebase since around March 2018.

As part of my involvement with the project I've contributed several improvements to the TiKV Project:

* [Added raw batch put/get/delete/scan](pingcap/kvproto#244)
* [Changed `get_region` and `get_region_info` to use a common implementation](#3521)
* [Print help message when starting tikv-ctl without argument](#3531)
* [Clean up unused #[allow] directives](#3553)

I also am the first and primary author of the [TiKV Rust Client](https://github.com/tikv/client-rust). You can see related PRs for that here:

* [TiKV Rust Client RFC](tikv/rfcs#7)
* [The initial version of Raw KV Implementation](tikv/client-rust#14)
* [Change `raw::Client::get` to return `Option<Value>`](tikv/client-rust#24)
* [Remove cf and batch_scan from `example/raw.rs`](tikv/client-rust#21)

I also made the first PR to the mock TiKV project: [A basic implementation of mock TiKV API surface](tikv/mock-tikv#1)

As part of my involvement, the TiKV team inquired if I was interested in becoming a maintainer for the project.

This PR adds me to the list of maintainers. I have read and understand the expectations of maintainers described in the `GOVERNANCE.md` file.

Signed-off-by: Xiaoguang Sun <sunxiaoguang@zhihu.com>

Hoverbear added some commits May 9, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.