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

feat: Add support for dynamicaly reconfig rsync-timeout-ms and throttle-bytes-per-second #2633

Merged
merged 46 commits into from
May 8, 2024

Conversation

cheniujh
Copy link
Collaborator

@cheniujh cheniujh commented May 1, 2024

1 Add config item rsync-timeout-ms
2 Add support for dynamicaly reconfig rsync-timeout-ms and throttle-bytes-per-second
3 Add CI Test for it
fix #2263

cheniujh and others added 30 commits April 15, 2024 22:37
2 add support for dynamically modify throttle-bytes-per-second and rsync-timeout-ms
ps: some debug output is waiting to be removed
2 add go ci test
# Conflicts:
#	tests/integration/rsync_dynamic_reconfig.go
* fix:cache_disable_flag assign initial value


---------

Co-authored-by: chejinge <chejinge@360.cn>
* add a feature that support IO rate

* update IO rate limit mode

* Name of variable change to rate-limiter-mode from rate_limiter_mode

---------

Co-authored-by: Vachel <vachel@example.com>
…oundation#2601)

* add a feature which support partitioned index filter

* Name of variable change to enable-partitioned-index-filters from enable_partitioned_index_filters

---------

Co-authored-by: Vachel <vachel@example.com>
…penAtomFoundation#2619)

Bumps [golang.org/x/net](https://github.com/golang/net) from 0.17.0 to 0.23.0.
- [Commits](golang/net@v0.17.0...v0.23.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…undation#2615)

* revised CI start script to remove invalid cp operation and throw from sed command

* use sed -i.bak instead of two scripts

---------

Co-authored-by: cjh <1271435567@qq.com>
@github-actions github-actions bot added the ✏️ Feature New feature or request label May 1, 2024
@cheniujh
Copy link
Collaborator Author

cheniujh commented May 1, 2024

Testing:

Platform
1 40 CPU Cores, 256GB Memory
2 Network card: The maximum network tranfer rate between slave and master machine is 2-5 Gib/s
3 Master and slave are deployed on 2 different machines and both machines have identical hardware configurations

Testing Action:
1 Thread1 and Thread2: (Repeat 50000 times)Every 100ms, Send "configSet throttle-bytes-per-second N" (N ranges from 64KB to 512KB) to SlaveNode
2 Thread3 and Thread4:(Repeat 2000 times) Every 100ms, Send "configSet rsync-timeout-ms M"(M ranges from 20ms to 150ms) to SlaveNode
3 Thread 1, 2, 3, 4 are running parallel

Result: No exceptions or errors were found.

Attachments:

1: Network IO Trafiic of Master Machine(Captured in the middle of the test):

image

2: The Log of Slave Node(Captured in the middle of the test):

image

@AlexStocks AlexStocks merged commit 8aacddd into OpenAtomFoundation:unstable May 8, 2024
14 checks passed
chejinge added a commit that referenced this pull request May 15, 2024
…le-bytes-per-second (#2633)

* 1 added conf item rsync-timeout-ms
2 add support for dynamically modify throttle-bytes-per-second and rsync-timeout-ms
ps: some debug output is waiting to be removed

* remove the debug info in start_master_and_slave.sh

* feat: Add a feature that is IO speed limiting (#2599)

* add a feature that support IO rate

* update IO rate limit mode

* Name of variable change to rate-limiter-mode from rate_limiter_mode

---------

Co-authored-by: Vachel <vachel@example.com>

* feat: Add a feature which support partitioned index filter (#2601)

* add a feature which support partitioned index filter

* Name of variable change to enable-partitioned-index-filters from enable_partitioned_index_filters

---------

Co-authored-by: Vachel <vachel@example.com>

* chore(deps): bump golang.org/x/net from 0.17.0 to 0.23.0 in /codis (#2619)

Bumps [golang.org/x/net](https://github.com/golang/net) from 0.17.0 to 0.23.0.
- [Commits](golang/net@v0.17.0...v0.23.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix: Revised CI start script to remove invalid cp command (#2615)

* revised CI start script to remove invalid cp operation and throw from sed command

* use sed -i.bak instead of two scripts

---------

Co-authored-by: cjh <1271435567@qq.com>

* Update Manual compilation in README (#2617)

* enable tests

* revised go test

* revised go test2

* add flush db operation for test

* add Ping operation when get conn from poll to clear unread data in the conn(if the conn has)

* 1 reduce the amount of filling data to avoid disk run out

* Revert "add Ping operation when get conn from poll to clear unread data in the conn(if the conn has)"

This reverts commit 6ad70bc.

* removed an debug log

* add an comment in pika.conf

* simplify the calling chain

* revised some logic

* fix compile error

* get timeout value before enter into lock

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: cjh <1271435567@qq.com>
Co-authored-by: chejinge <945997690@qq.com>
Co-authored-by: chejinge <chejinge@360.cn>
Co-authored-by: vacheli <vachelwh@gmail.com>
Co-authored-by: Vachel <vachel@example.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: chenbt <34958405+chenbt-hz@users.noreply.github.com>
chenbt-hz added a commit to chenbt-hz/pika that referenced this pull request Jun 3, 2024
…le-bytes-per-second (OpenAtomFoundation#2633)

* 1 added conf item rsync-timeout-ms
2 add support for dynamically modify throttle-bytes-per-second and rsync-timeout-ms
ps: some debug output is waiting to be removed

* remove the debug info in start_master_and_slave.sh

---------

Co-authored-by: chejinge <chejinge@360.cn>

* feat: Add a feature that is IO speed limiting (OpenAtomFoundation#2599)

* add a feature that support IO rate

* update IO rate limit mode

* Name of variable change to rate-limiter-mode from rate_limiter_mode

---------

Co-authored-by: Vachel <vachel@example.com>

* feat: Add a feature which support partitioned index filter (OpenAtomFoundation#2601)

* add a feature which support partitioned index filter

* Name of variable change to enable-partitioned-index-filters from enable_partitioned_index_filters

---------

Co-authored-by: Vachel <vachel@example.com>

* chore(deps): bump golang.org/x/net from 0.17.0 to 0.23.0 in /codis (OpenAtomFoundation#2619)

Bumps [golang.org/x/net](https://github.com/golang/net) from 0.17.0 to 0.23.0.
- [Commits](golang/net@v0.17.0...v0.23.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix: Revised CI start script to remove invalid cp command (OpenAtomFoundation#2615)

* revised CI start script to remove invalid cp operation and throw from sed command

* use sed -i.bak instead of two scripts

---------

Co-authored-by: cjh <1271435567@qq.com>

* Update Manual compilation in README (OpenAtomFoundation#2617)

* enable tests

* revised go test

* revised go test2

* add flush db operation for test

* add Ping operation when get conn from poll to clear unread data in the conn(if the conn has)

* 1 reduce the amount of filling data to avoid disk run out

* Revert "add Ping operation when get conn from poll to clear unread data in the conn(if the conn has)"

This reverts commit 6ad70bc.

* removed an debug log

* add an comment in pika.conf

* simplify the calling chain

* revised some logic

* fix compile error

* get timeout value before enter into lock

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: cjh <1271435567@qq.com>
Co-authored-by: chejinge <945997690@qq.com>
Co-authored-by: chejinge <chejinge@360.cn>
Co-authored-by: vacheli <vachelwh@gmail.com>
Co-authored-by: Vachel <vachel@example.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: chenbt <34958405+chenbt-hz@users.noreply.github.com>
bigdaronlee163 pushed a commit to bigdaronlee163/pika that referenced this pull request Jun 8, 2024
…le-bytes-per-second (OpenAtomFoundation#2633)

* 1 added conf item rsync-timeout-ms
2 add support for dynamically modify throttle-bytes-per-second and rsync-timeout-ms
ps: some debug output is waiting to be removed

* remove the debug info in start_master_and_slave.sh

---------

Co-authored-by: chejinge <chejinge@360.cn>

* feat: Add a feature that is IO speed limiting (OpenAtomFoundation#2599)

* add a feature that support IO rate

* update IO rate limit mode

* Name of variable change to rate-limiter-mode from rate_limiter_mode

---------

Co-authored-by: Vachel <vachel@example.com>

* feat: Add a feature which support partitioned index filter (OpenAtomFoundation#2601)

* add a feature which support partitioned index filter

* Name of variable change to enable-partitioned-index-filters from enable_partitioned_index_filters

---------

Co-authored-by: Vachel <vachel@example.com>

* chore(deps): bump golang.org/x/net from 0.17.0 to 0.23.0 in /codis (OpenAtomFoundation#2619)

Bumps [golang.org/x/net](https://github.com/golang/net) from 0.17.0 to 0.23.0.
- [Commits](golang/net@v0.17.0...v0.23.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix: Revised CI start script to remove invalid cp command (OpenAtomFoundation#2615)

* revised CI start script to remove invalid cp operation and throw from sed command

* use sed -i.bak instead of two scripts

---------

Co-authored-by: cjh <1271435567@qq.com>

* Update Manual compilation in README (OpenAtomFoundation#2617)

* enable tests

* revised go test

* revised go test2

* add flush db operation for test

* add Ping operation when get conn from poll to clear unread data in the conn(if the conn has)

* 1 reduce the amount of filling data to avoid disk run out

* Revert "add Ping operation when get conn from poll to clear unread data in the conn(if the conn has)"

This reverts commit 6ad70bc.

* removed an debug log

* add an comment in pika.conf

* simplify the calling chain

* revised some logic

* fix compile error

* get timeout value before enter into lock

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: cjh <1271435567@qq.com>
Co-authored-by: chejinge <945997690@qq.com>
Co-authored-by: chejinge <chejinge@360.cn>
Co-authored-by: vacheli <vachelwh@gmail.com>
Co-authored-by: Vachel <vachel@example.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: chenbt <34958405+chenbt-hz@users.noreply.github.com>
cheniujh added a commit to cheniujh/pika that referenced this pull request Sep 24, 2024
…le-bytes-per-second (OpenAtomFoundation#2633)

* 1 added conf item rsync-timeout-ms
2 add support for dynamically modify throttle-bytes-per-second and rsync-timeout-ms
ps: some debug output is waiting to be removed

* remove the debug info in start_master_and_slave.sh

---------

Co-authored-by: chejinge <chejinge@360.cn>

* feat: Add a feature that is IO speed limiting (OpenAtomFoundation#2599)

* add a feature that support IO rate

* update IO rate limit mode

* Name of variable change to rate-limiter-mode from rate_limiter_mode

---------

Co-authored-by: Vachel <vachel@example.com>

* feat: Add a feature which support partitioned index filter (OpenAtomFoundation#2601)

* add a feature which support partitioned index filter

* Name of variable change to enable-partitioned-index-filters from enable_partitioned_index_filters

---------

Co-authored-by: Vachel <vachel@example.com>

* chore(deps): bump golang.org/x/net from 0.17.0 to 0.23.0 in /codis (OpenAtomFoundation#2619)

Bumps [golang.org/x/net](https://github.com/golang/net) from 0.17.0 to 0.23.0.
- [Commits](golang/net@v0.17.0...v0.23.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix: Revised CI start script to remove invalid cp command (OpenAtomFoundation#2615)

* revised CI start script to remove invalid cp operation and throw from sed command

* use sed -i.bak instead of two scripts

---------

Co-authored-by: cjh <1271435567@qq.com>

* Update Manual compilation in README (OpenAtomFoundation#2617)

* enable tests

* revised go test

* revised go test2

* add flush db operation for test

* add Ping operation when get conn from poll to clear unread data in the conn(if the conn has)

* 1 reduce the amount of filling data to avoid disk run out

* Revert "add Ping operation when get conn from poll to clear unread data in the conn(if the conn has)"

This reverts commit ca6c40a.

* removed an debug log

* add an comment in pika.conf

* simplify the calling chain

* revised some logic

* fix compile error

* get timeout value before enter into lock

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: cjh <1271435567@qq.com>
Co-authored-by: chejinge <945997690@qq.com>
Co-authored-by: chejinge <chejinge@360.cn>
Co-authored-by: vacheli <vachelwh@gmail.com>
Co-authored-by: Vachel <vachel@example.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: chenbt <34958405+chenbt-hz@users.noreply.github.com>
cheniujh added a commit to cheniujh/pika that referenced this pull request Sep 24, 2024
…le-bytes-per-second (OpenAtomFoundation#2633)

* 1 added conf item rsync-timeout-ms
2 add support for dynamically modify throttle-bytes-per-second and rsync-timeout-ms
ps: some debug output is waiting to be removed

* remove the debug info in start_master_and_slave.sh

* feat: Add a feature that is IO speed limiting (OpenAtomFoundation#2599)

* add a feature that support IO rate

* update IO rate limit mode

* Name of variable change to rate-limiter-mode from rate_limiter_mode

---------

Co-authored-by: Vachel <vachel@example.com>

* feat: Add a feature which support partitioned index filter (OpenAtomFoundation#2601)

* add a feature which support partitioned index filter

* Name of variable change to enable-partitioned-index-filters from enable_partitioned_index_filters

---------

Co-authored-by: Vachel <vachel@example.com>

* chore(deps): bump golang.org/x/net from 0.17.0 to 0.23.0 in /codis (OpenAtomFoundation#2619)

Bumps [golang.org/x/net](https://github.com/golang/net) from 0.17.0 to 0.23.0.
- [Commits](golang/net@v0.17.0...v0.23.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix: Revised CI start script to remove invalid cp command (OpenAtomFoundation#2615)

* revised CI start script to remove invalid cp operation and throw from sed command

* use sed -i.bak instead of two scripts

---------

Co-authored-by: cjh <1271435567@qq.com>

* Update Manual compilation in README (OpenAtomFoundation#2617)

* enable tests

* revised go test

* revised go test2

* add flush db operation for test

* add Ping operation when get conn from poll to clear unread data in the conn(if the conn has)

* 1 reduce the amount of filling data to avoid disk run out

* Revert "add Ping operation when get conn from poll to clear unread data in the conn(if the conn has)"

This reverts commit ca6c40a.

* removed an debug log

* add an comment in pika.conf

* simplify the calling chain

* revised some logic

* fix compile error

* get timeout value before enter into lock

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: cjh <1271435567@qq.com>
Co-authored-by: chejinge <945997690@qq.com>
Co-authored-by: chejinge <chejinge@360.cn>
Co-authored-by: vacheli <vachelwh@gmail.com>
Co-authored-by: Vachel <vachel@example.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: chenbt <34958405+chenbt-hz@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3.5.4 4.0.0 ✏️ Feature New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

主从全量复制一直timeout
6 participants