-
Notifications
You must be signed in to change notification settings - Fork 180
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
AutoCompact & CompactWithDeprecateTable Support (#165)
* fix the deadlock when closing db * Add deprecatedtable and test, import google.uuid. * Add vlog&bptree uuid support, and update some related tests. * Add deprecatedtable and test, import google.uuid. * Add vlog&bptree uuid support, and update some related tests. * deprecatedtable add lower and upper threshold, which used for notify autoCompact. And add default value of lower and upper threshold in options. * Add autocompact framwork, this commit just for merge TestComapct bug. * This commit just for comparison, output: === RUN TestDBCompact/test_compaction shard:1 Function took existTime:395.82922ms,reader:535.043275ms,rewriteTime:790.151805ms,all:1.945597922s shard:2 Function took existTime:409.16579ms,reader:547.093471ms,rewriteTime:810.14034ms,all:1.996946539s shard:0 Function took existTime:414.753128ms,reader:547.752194ms,rewriteTime:826.628021ms,all:2.024067234s === RUN TestDBCompactWitchDeprecateable/test_compaction shard:1 Function took existTime:15.4204ms,reader:563.989168ms,rewriteTime:910.374564ms,all:1.67209614s shard:0 Function took existTime:21.662887ms,reader:587.597162ms,rewriteTime:996.416705ms,all:1.794619638s shard:2 Function took existTime:16.989118ms,reader:627.684099ms,rewriteTime:996.287388ms,all:1.833219848s * add iostate support * This commit can be fully tested by adding uuid and deprecateable table features. Support printing performance data for two different types of compacts and TestautoCompact. * this commit for pr. * fix some formats * fix format * fix format for lint * fix format * golint disable gosec * gomat files * bptree put return old uuid. * bptree delete return old entry. * format golint. * fix test db path bug. * fix test filename bug. * support diskio monitor. * format. * IO monitoring set threshold by collecting IO bandwith in flushmemtable. * fmt * IO monitor uses IoTime rate. * use rate to check deprecatedtable, persist total number in vlog. * fmt * fix testdb name * fix deadlock in autocompact * reduce test size * autocompact coroutine graceful exit * try fix err:segment file is closed when close db * fmt * send compact msg with db.mu * fmt * without busyIO * diskio only work in linux * golint * fmt * fix deadlock in flushmemtable * fmt * Encapsulate meta load/store functions. Use struct{} as dptable value. * support longer testkey. * fix deadlock in close * fmt * change compactChan buffer * remove test log * change flushmemtable lock range * compactChan noblocking * rebase for main * fmt * sync go.sum * add compact optimization, using BatchCapacity to submit rewriting. * go fmt and golint.
- Loading branch information
Showing
24 changed files
with
1,376 additions
and
171 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.