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

346 global delayed write rate #392

Merged
merged 1 commit into from Mar 15, 2023
Merged

Conversation

Yuval-Ariel
Copy link
Contributor

Write Controller is now a shared_ptr option in ImmutableDBOptions which keeps track and enforces all the delay requirements of the cfs in the dbs that those options were passed to.
closes #346

db/write_controller.h Outdated Show resolved Hide resolved
db/column_family.cc Outdated Show resolved Hide resolved
db/column_family.cc Outdated Show resolved Hide resolved
db/column_family.cc Outdated Show resolved Hide resolved
db/column_family.cc Outdated Show resolved Hide resolved
db/column_family.cc Outdated Show resolved Hide resolved
db/column_family.cc Outdated Show resolved Hide resolved
@Yuval-Ariel Yuval-Ariel force-pushed the 346-global-delayed-write-rate branch 3 times, most recently from 2c7a12c to 726df19 Compare February 16, 2023 12:49
db/column_family.cc Show resolved Hide resolved
db/column_family.cc Outdated Show resolved Hide resolved
db/column_family.cc Show resolved Hide resolved
db/column_family.cc Outdated Show resolved Hide resolved
db/column_family.cc Show resolved Hide resolved
db/write_controller.cc Show resolved Hide resolved
db/write_controller.cc Show resolved Hide resolved
db/write_controller.h Outdated Show resolved Hide resolved
db/write_controller.cc Outdated Show resolved Hide resolved
db/db_impl/db_impl_write.cc Show resolved Hide resolved
ayulas
ayulas previously approved these changes Feb 21, 2023
ayulas
ayulas previously approved these changes Feb 21, 2023
db/write_controller.cc Show resolved Hide resolved
db/write_controller.cc Outdated Show resolved Hide resolved
db/write_controller.cc Outdated Show resolved Hide resolved
ayulas
ayulas previously approved these changes Feb 23, 2023
enable sharing the Write Controller across dbs through the db options
while still retaining the old behavior.
when shared between dbs, the write controller keeps track of all the delay
requirements of all cfs in the dbs and enforces on all of them the
lowest write rate required.

NOTE: plz note that setting a write controller in the options is only
valid with use_dynamic_delay = true.

Dynamic Delay: CFs wont override each other (#358)

Currently, in a setting of multiple cfs, the delayed_write_rate_ value is overridden by the latest
cf that entered a delay state. so if a cf registered a delay state that
is less severe than the previous cf, it will override the previous value of
delayed_write_rate_ with a higher rate than the system should use.

fix it by storing the delay requirements of all the CFs in the write controller
and only set a new delayed_write_rate_ when its smaller than the min.
@Yuval-Ariel
Copy link
Contributor Author

@erez-speedb , plz check that theres no deg in normal suite

@erez-speedb
Copy link

@Yuval-Ariel where is the issue for this PR?

@Yuval-Ariel
Copy link
Contributor Author

#346 @erez-speedb

@erez-speedb erez-speedb removed their assignment Feb 27, 2023
@Yuval-Ariel Yuval-Ariel merged commit 2574f8f into main Mar 15, 2023
@Yuval-Ariel Yuval-Ariel deleted the 346-global-delayed-write-rate branch May 11, 2023 08:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Dynamic Delay: CFs shouldnt override each other Global delayed write rate
3 participants