summaryrefslogtreecommitdiff
path: root/examples/redis-unstable/tests/unit/moduleapi/defrag.tcl
diff options
context:
space:
mode:
Diffstat (limited to 'examples/redis-unstable/tests/unit/moduleapi/defrag.tcl')
-rw-r--r--examples/redis-unstable/tests/unit/moduleapi/defrag.tcl101
1 files changed, 0 insertions, 101 deletions
diff --git a/examples/redis-unstable/tests/unit/moduleapi/defrag.tcl b/examples/redis-unstable/tests/unit/moduleapi/defrag.tcl
deleted file mode 100644
index 7e714da..0000000
--- a/examples/redis-unstable/tests/unit/moduleapi/defrag.tcl
+++ /dev/null
@@ -1,101 +0,0 @@
-set testmodule [file normalize tests/modules/defragtest.so]
-
-start_server {tags {"modules external:skip debug_defrag:skip"} overrides {{save ""}}} {
- r module load $testmodule
- r config set hz 100
- r config set active-defrag-ignore-bytes 1
- r config set active-defrag-threshold-lower 0
- r config set active-defrag-cycle-min 99
-
- # try to enable active defrag, it will fail if redis was compiled without it
- catch {r config set activedefrag yes} e
- if {[r config get activedefrag] eq "activedefrag yes"} {
-
- test {Module defrag: simple key defrag works} {
- r config set activedefrag no
- wait_for_condition 100 50 {
- [s active_defrag_running] eq 0
- } else {
- fail "Unable to wait for active defrag to stop"
- }
-
- r flushdb
- r frag.resetstats
- r frag.create key1 1 1000 0
-
- r config set activedefrag yes
- wait_for_condition 200 50 {
- [getInfoProperty [r info defragtest_stats] defragtest_defrag_ended] > 0
- } else {
- fail "Unable to wait for a complete defragmentation cycle to finish"
- }
-
- set info [r info defragtest_stats]
- assert {[getInfoProperty $info defragtest_datatype_attempts] > 0}
- assert_equal 0 [getInfoProperty $info defragtest_datatype_resumes]
- assert_morethan [getInfoProperty $info defragtest_datatype_raw_defragged] 0
- assert_morethan [getInfoProperty $info defragtest_defrag_started] 0
- assert_morethan [getInfoProperty $info defragtest_defrag_ended] 0
- } {} {tsan:skip}
-
- test {Module defrag: late defrag with cursor works} {
- r config set activedefrag no
- wait_for_condition 100 50 {
- [s active_defrag_running] eq 0
- } else {
- fail "Unable to wait for active defrag to stop"
- }
-
- r flushdb
- r frag.resetstats
-
- # key can only be defragged in no less than 10 iterations
- # due to maxstep
- r frag.create key2 10000 100 1000
-
- r config set activedefrag yes
- wait_for_condition 1000 50 {
- [getInfoProperty [r info defragtest_stats] defragtest_defrag_ended] > 0 &&
- [getInfoProperty [r info defragtest_stats] defragtest_datatype_resumes] > 10
- } else {
- fail "Unable to wait for a complete defragmentation cycle to finish"
- }
-
- set info [r info defragtest_stats]
- assert_equal 0 [getInfoProperty $info defragtest_datatype_wrong_cursor]
- assert_morethan [getInfoProperty $info defragtest_datatype_raw_defragged] 0
- assert_morethan [getInfoProperty $info defragtest_defrag_started] 0
- assert_morethan [getInfoProperty $info defragtest_defrag_ended] 0
- } {} {tsan:skip}
-
- test {Module defrag: global defrag works} {
- r config set activedefrag no
- wait_for_condition 100 50 {
- [s active_defrag_running] eq 0
- } else {
- fail "Unable to wait for active defrag to stop"
- }
-
- r flushdb
- r frag.resetstats
- r frag.create_frag_global 50000
- r config set activedefrag yes
-
- wait_for_condition 1000 50 {
- [getInfoProperty [r info defragtest_stats] defragtest_defrag_ended] > 0
- } else {
- fail "Unable to wait for a complete defragmentation cycle to finish"
- }
-
- set info [r info defragtest_stats]
- assert {[getInfoProperty $info defragtest_global_strings_attempts] > 0}
- assert {[getInfoProperty $info defragtest_global_dicts_attempts] > 0}
- assert {[getInfoProperty $info defragtest_global_dicts_defragged] > 0}
- assert {[getInfoProperty $info defragtest_global_dicts_items_defragged] > 0}
- assert_morethan [getInfoProperty $info defragtest_defrag_started] 0
- assert_morethan [getInfoProperty $info defragtest_defrag_ended] 0
- assert_morethan [getInfoProperty $info defragtest_global_dicts_resumes] [getInfoProperty $info defragtest_defrag_ended]
- assert_morethan [getInfoProperty $info defragtest_global_subdicts_resumes] [getInfoProperty $info defragtest_defrag_ended]
- } {} {tsan:skip}
- }
-}