gitextract_74218km6/ ├── .agent/ │ └── rules/ │ └── ANTIGRAVITY_INSTRUCTIONS.md ├── .circleci/ │ └── config.yml ├── .clang-format ├── .clang-tidy ├── .clangd ├── .claude/ │ ├── hooks/ │ │ └── format-after-edit.sh │ ├── settings.json │ └── skills/ │ └── reproduce-fuzz-crash/ │ └── SKILL.md ├── .ct.yaml ├── .cursorrules ├── .devcontainer/ │ ├── alpine/ │ │ ├── devcontainer.json │ │ └── post-create.sh │ ├── fedora/ │ │ └── devcontainer.json │ ├── fedora41/ │ │ └── devcontainer.json │ ├── ubuntu20/ │ │ ├── cmake-tools-kits.json │ │ ├── devcontainer.json │ │ └── post-create.sh │ ├── ubuntu20-gcc14/ │ │ └── devcontainer.json │ ├── ubuntu22/ │ │ ├── devcontainer.json │ │ └── post-create.sh │ └── ubuntu24/ │ └── devcontainer.json ├── .dockerignore ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ ├── config.yml │ │ └── feature_request.md │ ├── PULL_REQUEST_TEMPLATE.md │ ├── actions/ │ │ ├── builder/ │ │ │ └── action.yml │ │ ├── fuzzing/ │ │ │ └── action.yml │ │ ├── lint-test-chart/ │ │ │ └── action.yml │ │ ├── multi-registry-docker-login/ │ │ │ └── action.yml │ │ ├── regression-tests/ │ │ │ └── action.yml │ │ ├── repeat/ │ │ │ └── action.yml │ │ ├── sync-valkey-tests/ │ │ │ └── action.yml │ │ └── test-docker/ │ │ └── action.yml │ ├── bullmq-skipped-tests.txt │ ├── copilot-instructions.md │ ├── dependabot.yml │ ├── instructions/ │ │ └── code-review.instructions.md │ └── workflows/ │ ├── benchmark.yml │ ├── bullmq-tests.yml │ ├── ci.yml │ ├── copilot-setup-steps.yml │ ├── cov.yml │ ├── daily-builds.yml │ ├── docker-dev-release.yml │ ├── docker-release2.yml │ ├── epoll-regression-tests.yml │ ├── fuzz-long.yml │ ├── fuzz-pr.yml │ ├── generate-osrepo-site.yml │ ├── heavy-tests.yml │ ├── ioloop-v2-regtests.yml │ ├── mastodon-ruby-tests.yml │ ├── package-install.yml │ ├── regression-tests.yml │ ├── release.yml │ ├── repeat-tests.yml │ └── test-fakeredis.yml ├── .gitignore ├── .gitmodules ├── .gitorderfile ├── .nvmrc ├── .pre-commit-config.yaml ├── .pre-commit-hooks.yaml ├── .snyk ├── .vscode/ │ └── c_cpp_properties.json ├── AGENTS.md ├── CLA.txt ├── CMakeLists.txt ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── CONTRIBUTORS.md ├── LICENSE.md ├── Makefile ├── README.ja-JP.md ├── README.ko-KR.md ├── README.md ├── README.pt-BR.md ├── README.zh-CN.md ├── TODO.md ├── contrib/ │ ├── charts/ │ │ └── dragonfly/ │ │ ├── .helmignore │ │ ├── Chart.yaml │ │ ├── README.md │ │ ├── ci/ │ │ │ ├── affinity-values.golden.yaml │ │ │ ├── affinity-values.yaml │ │ │ ├── command_extraargs-values.golden.yaml │ │ │ ├── command_extraargs-values.yaml │ │ │ ├── commonlabels-values.golden.yaml │ │ │ ├── commonlabels-values.yaml │ │ │ ├── extracontainer-string-values.golden.yaml │ │ │ ├── extracontainer-string-values.yaml │ │ │ ├── extracontainer-tpl-values.golden.yaml │ │ │ ├── extracontainer-tpl-values.yaml │ │ │ ├── extraenv-and-passwordSecret-values.golden.yaml │ │ │ ├── extraenv-and-passwordSecret-values.yaml │ │ │ ├── extraenv-values.golden.yaml │ │ │ ├── extraenv-values.yaml │ │ │ ├── extravolumes-values.golden.yaml │ │ │ ├── extravolumes-values.yaml │ │ │ ├── initcontainer-string-values.golden.yaml │ │ │ ├── initcontainer-string-values.yaml │ │ │ ├── initcontainer-tpl-values.golden.yaml │ │ │ ├── initcontainer-tpl-values.yaml │ │ │ ├── password-old-env-values.golden.yaml │ │ │ ├── password-old-env-values.yaml │ │ │ ├── passwordsecret-values.golden.yaml │ │ │ ├── passwordsecret-values.tpl.golden.yaml │ │ │ ├── passwordsecret-values.tpl.yaml │ │ │ ├── passwordsecret-values.yaml │ │ │ ├── persistence-and-existing-secret.golden.yaml │ │ │ ├── persistence-and-existing-secret.yaml │ │ │ ├── persistent-values.golden.yaml │ │ │ ├── persistent-values.yaml │ │ │ ├── priorityclassname-values.golden.yaml │ │ │ ├── priorityclassname-values.yaml │ │ │ ├── prometheusrules-values.golden.yaml │ │ │ ├── prometheusrules-values.yaml │ │ │ ├── resources-values.golden.yaml │ │ │ ├── resources-values.yaml │ │ │ ├── securitycontext-values.golden.yaml │ │ │ ├── securitycontext-values.yaml │ │ │ ├── service-loadbalancer-ip.golden.yaml │ │ │ ├── service-loadbalancer-ip.yaml │ │ │ ├── service-monitor-values.golden.yaml │ │ │ ├── service-monitor-values.yaml │ │ │ ├── taints-tolerations-values.golden.yaml │ │ │ ├── taints-tolerations-values.yaml │ │ │ ├── tls-values.golden.yaml │ │ │ ├── tls-values.yaml │ │ │ ├── tolerations-values.golden.yaml │ │ │ └── tolerations-values.yaml │ │ ├── go.mod │ │ ├── go.sum │ │ ├── golden_test.go │ │ ├── templates/ │ │ │ ├── NOTES.txt │ │ │ ├── _helpers.tpl │ │ │ ├── _pod.tpl │ │ │ ├── certificate.yaml │ │ │ ├── deployment.yaml │ │ │ ├── extra-manifests.yaml │ │ │ ├── metrics-service.yaml │ │ │ ├── prometheusrule.yaml │ │ │ ├── service.yaml │ │ │ ├── serviceaccount.yaml │ │ │ ├── servicemonitor.yaml │ │ │ ├── statefulset.yaml │ │ │ └── tls-secret.yaml │ │ └── values.yaml │ ├── docker/ │ │ ├── README.md │ │ └── docker-compose.yml │ └── scripts/ │ ├── conventional-commits │ └── signed-commit ├── docs/ │ ├── README.md │ ├── async-tiering.md │ ├── cluster-node-health.md │ ├── coordinator.excalidraw │ ├── dashtable.md │ ├── dense_set.excalidraw │ ├── dense_set.md │ ├── df-share-nothing.md │ ├── differences.md │ ├── faq.md │ ├── memcached_benchmark.md │ ├── memory_bgsave.tsv │ ├── namespaces.md │ ├── quick-start/ │ │ └── README.md │ ├── rdbsave.excalidraw │ ├── rdbsave.md │ ├── shard-serialization.md │ ├── thread-per-core.excalidraw │ └── transaction.md ├── fuzz/ │ ├── FUZZING.md │ ├── dict/ │ │ ├── memcache.dict │ │ └── resp.dict │ ├── generate_targeted_seeds.py │ ├── memcache_mutator.py │ ├── package_crash.sh │ ├── replay_crash.py │ ├── resp_mutator.py │ ├── run_fuzzer.sh │ ├── seeds/ │ │ ├── memcache/ │ │ │ ├── add_replace.mc │ │ │ ├── append_prepend.mc │ │ │ ├── cas.mc │ │ │ ├── delete.mc │ │ │ ├── expiry.mc │ │ │ ├── flags.mc │ │ │ ├── flush.mc │ │ │ ├── gat.mc │ │ │ ├── incr_decr.mc │ │ │ ├── large_value.mc │ │ │ ├── meta_commands.mc │ │ │ ├── multiget.mc │ │ │ ├── noreply.mc │ │ │ ├── set_get.mc │ │ │ └── stats_version.mc │ │ └── resp/ │ │ ├── acl.resp │ │ ├── acl_ops.resp │ │ ├── acl_ops2.resp │ │ ├── bf_add.resp │ │ ├── bitfield.resp │ │ ├── bitfield_ops.resp │ │ ├── bitops.resp │ │ ├── bloom_ops.resp │ │ ├── client.resp │ │ ├── config.resp │ │ ├── copy.resp │ │ ├── del.resp │ │ ├── eval.resp │ │ ├── expire_ops.resp │ │ ├── function.resp │ │ ├── function_ops.resp │ │ ├── generic_ops.resp │ │ ├── generic_ops2.resp │ │ ├── geo_ops.resp │ │ ├── geo_ops2.resp │ │ ├── geoadd.resp │ │ ├── get.resp │ │ ├── getdel.resp │ │ ├── hash_ops.resp │ │ ├── hash_ops2.resp │ │ ├── hll_ops.resp │ │ ├── hset.resp │ │ ├── json.resp │ │ ├── json_ops.resp │ │ ├── json_ops2.resp │ │ ├── list_blocking.resp │ │ ├── list_ops.resp │ │ ├── lmpop.resp │ │ ├── lpos.resp │ │ ├── lpush.resp │ │ ├── memory.resp │ │ ├── monitor.resp │ │ ├── mset.resp │ │ ├── multi_type_pipeline.resp │ │ ├── object.resp │ │ ├── pfadd.resp │ │ ├── ping.resp │ │ ├── pipeline.resp │ │ ├── pubsub_ops.resp │ │ ├── pubsub_ops2.resp │ │ ├── rename.resp │ │ ├── rpoplpush.resp │ │ ├── sadd.resp │ │ ├── scan_hscan.resp │ │ ├── script_ops.resp │ │ ├── script_ops2.resp │ │ ├── sdiffstore.resp │ │ ├── search_ops.resp │ │ ├── search_ops2.resp │ │ ├── server_ops.resp │ │ ├── server_ops2.resp │ │ ├── set.resp │ │ ├── set_ops.resp │ │ ├── set_ops2.resp │ │ ├── smove.resp │ │ ├── sort.resp │ │ ├── srandmember.resp │ │ ├── stream_ops.resp │ │ ├── stream_ops2.resp │ │ ├── string_ops.resp │ │ ├── string_ops2.resp │ │ ├── subscribe.resp │ │ ├── throttle.resp │ │ ├── transaction.resp │ │ ├── transaction_ops2.resp │ │ ├── watch.resp │ │ ├── watch_multi.resp │ │ ├── xadd.resp │ │ ├── xread.resp │ │ ├── zadd.resp │ │ ├── zmpop.resp │ │ ├── zrangebyscore.resp │ │ ├── zset_ops.resp │ │ └── zset_ops2.resp │ └── triage_crashes.sh ├── go.work ├── go.work.sum ├── patches/ │ └── mimalloc-v2.2.4/ │ ├── 0_base.patch │ ├── 1_add_stat_type.patch │ ├── 2_return_stat.patch │ ├── 3_track_full_size.patch │ └── 4_fix_heap_collect.patch ├── pyproject.toml ├── src/ │ ├── .gitignore │ ├── CMakeLists.txt │ ├── GetGitRevisionDescription.cmake │ ├── GetGitRevisionDescription.cmake.in │ ├── common/ │ │ ├── arg_range.h │ │ ├── backed_args.h │ │ ├── heap_size.h │ │ └── string_or_view.h │ ├── core/ │ │ ├── CMakeLists.txt │ │ ├── allocation_tracker.cc │ │ ├── allocation_tracker.h │ │ ├── allocation_tracker_test.cc │ │ ├── bloom.cc │ │ ├── bloom.h │ │ ├── bloom_test.cc │ │ ├── bptree_set.h │ │ ├── bptree_set_test.cc │ │ ├── cms.cc │ │ ├── cms.h │ │ ├── cms_test.cc │ │ ├── collection_entry.h │ │ ├── compact_object.cc │ │ ├── compact_object.h │ │ ├── compact_object_test.cc │ │ ├── dash.h │ │ ├── dash_bench.cc │ │ ├── dash_internal.h │ │ ├── dash_test.cc │ │ ├── dense_set.cc │ │ ├── dense_set.h │ │ ├── detail/ │ │ │ ├── bitpacking.cc │ │ │ ├── bitpacking.h │ │ │ ├── bptree_internal.h │ │ │ ├── gen_utils.h │ │ │ ├── listpack.cc │ │ │ ├── listpack.h │ │ │ ├── listpack_wrap.cc │ │ │ ├── listpack_wrap.h │ │ │ └── stateless_allocator.h │ │ ├── dfly_core_test.cc │ │ ├── dict_builder.cc │ │ ├── dict_builder.h │ │ ├── dict_builder_test.cc │ │ ├── dragonfly_core.cc │ │ ├── expire_period.h │ │ ├── extent_tree.cc │ │ ├── extent_tree.h │ │ ├── extent_tree_test.cc │ │ ├── flatbuffers.h │ │ ├── flatbuffers_test.cc │ │ ├── generate_bin_sizes.py │ │ ├── glob_matcher.cc │ │ ├── glob_matcher.h │ │ ├── huff_coder.cc │ │ ├── huff_coder.h │ │ ├── intent_lock.h │ │ ├── interpreter.cc │ │ ├── interpreter.h │ │ ├── interpreter_polyfill.h │ │ ├── interpreter_test.cc │ │ ├── json/ │ │ │ ├── CMakeLists.txt │ │ │ ├── detail/ │ │ │ │ ├── common.h │ │ │ │ ├── flat_dfs.cc │ │ │ │ ├── flat_dfs.h │ │ │ │ ├── interned_blob.cc │ │ │ │ ├── interned_blob.h │ │ │ │ ├── interned_string.cc │ │ │ │ ├── interned_string.h │ │ │ │ ├── jsoncons_dfs.cc │ │ │ │ └── jsoncons_dfs.h │ │ │ ├── driver.cc │ │ │ ├── driver.h │ │ │ ├── interned_blob_test.cc │ │ │ ├── json_object.cc │ │ │ ├── json_object.h │ │ │ ├── json_test.cc │ │ │ ├── jsonpath_grammar.y │ │ │ ├── jsonpath_lexer.lex │ │ │ ├── jsonpath_test.cc │ │ │ ├── lexer_impl.cc │ │ │ ├── lexer_impl.h │ │ │ ├── path.cc │ │ │ └── path.h │ │ ├── linear_search_map.h │ │ ├── linear_search_map_test.cc │ │ ├── listpack_test.cc │ │ ├── memory_test.cc │ │ ├── mi_memory_resource.cc │ │ ├── mi_memory_resource.h │ │ ├── oah_entry.cc │ │ ├── oah_entry.h │ │ ├── oah_set.h │ │ ├── oah_set_test.cc │ │ ├── overloaded.h │ │ ├── page_usage/ │ │ │ ├── CMakeLists.txt │ │ │ ├── page_usage_stats.cc │ │ │ └── page_usage_stats.h │ │ ├── page_usage_stats_test.cc │ │ ├── qlist.cc │ │ ├── qlist.h │ │ ├── qlist_test.cc │ │ ├── score_map.cc │ │ ├── score_map.h │ │ ├── score_map_test.cc │ │ ├── sds_utils.cc │ │ ├── sds_utils.h │ │ ├── search/ │ │ │ ├── CMakeLists.txt │ │ │ ├── ast_expr.cc │ │ │ ├── ast_expr.h │ │ │ ├── base.cc │ │ │ ├── base.h │ │ │ ├── block_list.cc │ │ │ ├── block_list.h │ │ │ ├── block_list_test.cc │ │ │ ├── compressed_sorted_set.cc │ │ │ ├── compressed_sorted_set.h │ │ │ ├── compressed_sorted_set_test.cc │ │ │ ├── hnsw_alg.h │ │ │ ├── hnsw_index.cc │ │ │ ├── hnsw_index.h │ │ │ ├── index_result.h │ │ │ ├── indices.cc │ │ │ ├── indices.h │ │ │ ├── lexer.lex │ │ │ ├── mrmw_mutex.h │ │ │ ├── mrmw_mutex_test.cc │ │ │ ├── parser.y │ │ │ ├── query_driver.cc │ │ │ ├── query_driver.h │ │ │ ├── range_tree.cc │ │ │ ├── range_tree.h │ │ │ ├── range_tree_test.cc │ │ │ ├── rax_tree.h │ │ │ ├── rax_tree_test.cc │ │ │ ├── renewable_quota.cc │ │ │ ├── renewable_quota.h │ │ │ ├── scanner.h │ │ │ ├── search.cc │ │ │ ├── search.h │ │ │ ├── search_parser_test.cc │ │ │ ├── search_test.cc │ │ │ ├── sort_indices.cc │ │ │ ├── sort_indices.h │ │ │ ├── stateless_allocator.h │ │ │ ├── synonyms.cc │ │ │ ├── synonyms.h │ │ │ ├── tag_types.h │ │ │ ├── vector_utils.cc │ │ │ └── vector_utils.h │ │ ├── segment_allocator.cc │ │ ├── segment_allocator.h │ │ ├── size_tracking_channel.h │ │ ├── small_string.cc │ │ ├── small_string.h │ │ ├── sorted_map.cc │ │ ├── sorted_map.h │ │ ├── sorted_map_test.cc │ │ ├── sse_port.h │ │ ├── string_map.cc │ │ ├── string_map.h │ │ ├── string_map_test.cc │ │ ├── string_set.cc │ │ ├── string_set.h │ │ ├── string_set_test.cc │ │ ├── task_queue.cc │ │ ├── task_queue.h │ │ ├── testdata/ │ │ │ ├── ids.txt.zst │ │ │ └── list.txt.zst │ │ ├── tiering_types.cc │ │ ├── tiering_types.h │ │ ├── top_keys.cc │ │ ├── top_keys.h │ │ ├── top_keys_test.cc │ │ ├── topk.cc │ │ ├── topk.h │ │ ├── topk_test.cc │ │ ├── tx_queue.cc │ │ ├── tx_queue.h │ │ └── zstd_test.cc │ ├── external_libs.cmake │ ├── facade/ │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ ├── cmd_arg_parser.cc │ │ ├── cmd_arg_parser.h │ │ ├── cmd_arg_parser_test.cc │ │ ├── command_id.h │ │ ├── conn_context.h │ │ ├── connection_ref.h │ │ ├── disk_backed_queue.cc │ │ ├── disk_backed_queue.h │ │ ├── disk_backed_queue_test.cc │ │ ├── dragonfly_connection.cc │ │ ├── dragonfly_connection.h │ │ ├── dragonfly_listener.cc │ │ ├── dragonfly_listener.h │ │ ├── error.h │ │ ├── facade.cc │ │ ├── facade_stats.h │ │ ├── facade_test.cc │ │ ├── facade_test.h │ │ ├── facade_types.h │ │ ├── memcache_parser.cc │ │ ├── memcache_parser.h │ │ ├── memcache_parser_test.cc │ │ ├── ok_main.cc │ │ ├── op_status.cc │ │ ├── op_status.h │ │ ├── parsed_command.cc │ │ ├── parsed_command.h │ │ ├── redis_parser.cc │ │ ├── redis_parser.h │ │ ├── redis_parser_test.cc │ │ ├── reply_builder.cc │ │ ├── reply_builder.h │ │ ├── reply_builder_test.cc │ │ ├── reply_capture.cc │ │ ├── reply_capture.h │ │ ├── reply_mode.h │ │ ├── reply_payload.h │ │ ├── resp_expr.cc │ │ ├── resp_expr.h │ │ ├── resp_expr_test_utils.cc │ │ ├── resp_expr_test_utils.h │ │ ├── resp_parser.cc │ │ ├── resp_parser.h │ │ ├── resp_parser_test.cc │ │ ├── resp_srv_parser.cc │ │ ├── resp_srv_parser.h │ │ ├── resp_srv_parser_test.cc │ │ ├── resp_validator.cc │ │ ├── service_interface.cc │ │ ├── service_interface.h │ │ ├── socket_utils.cc │ │ ├── socket_utils.h │ │ ├── tls_helpers.cc │ │ └── tls_helpers.h │ ├── huff/ │ │ ├── LICENSE │ │ ├── README.md │ │ ├── hist.h │ │ ├── huf.h │ │ └── mem.h │ ├── redis/ │ │ ├── CMakeLists.txt │ │ ├── LICENSE.redis │ │ ├── config.h │ │ ├── crc16.c │ │ ├── crc16.h │ │ ├── crc64.c │ │ ├── crc64.h │ │ ├── crcspeed.c │ │ ├── crcspeed.h │ │ ├── debug.c │ │ ├── dict.c │ │ ├── dict.h │ │ ├── endianconv.h │ │ ├── geo.c │ │ ├── geo.h │ │ ├── geohash.c │ │ ├── geohash.h │ │ ├── geohash_helper.c │ │ ├── geohash_helper.h │ │ ├── hiredis.c │ │ ├── hiredis.h │ │ ├── hyperloglog.c │ │ ├── hyperloglog.h │ │ ├── intset.c │ │ ├── intset.h │ │ ├── listpack.c │ │ ├── listpack.h │ │ ├── lua/ │ │ │ ├── CMakeLists.txt │ │ │ ├── README.md │ │ │ ├── bit/ │ │ │ │ └── bit.c │ │ │ ├── cjson/ │ │ │ │ ├── fpconv.c │ │ │ │ ├── fpconv.h │ │ │ │ ├── lua_cjson.c │ │ │ │ ├── strbuf.c │ │ │ │ └── strbuf.h │ │ │ ├── cmsgpack/ │ │ │ │ └── lua_cmsgpack.c │ │ │ └── struct/ │ │ │ └── lua_struct.c │ │ ├── lzf.h │ │ ├── lzfP.h │ │ ├── lzf_c.c │ │ ├── lzf_d.c │ │ ├── rax.c │ │ ├── rax.h │ │ ├── rax_malloc.h │ │ ├── rdb.h │ │ ├── read.c │ │ ├── read.h │ │ ├── redis_aux.c │ │ ├── redis_aux.h │ │ ├── sds.c │ │ ├── sds.h │ │ ├── sdsalloc.h │ │ ├── siphash.c │ │ ├── stream.h │ │ ├── t_stream.c │ │ ├── util.c │ │ ├── util.h │ │ ├── ziplist.c │ │ ├── ziplist.h │ │ ├── zmalloc.c │ │ ├── zmalloc.h │ │ └── zmalloc_mi.c │ └── server/ │ ├── CMakeLists.txt │ ├── acl/ │ │ ├── acl_commands_def.h │ │ ├── acl_family.cc │ │ ├── acl_family.h │ │ ├── acl_family_test.cc │ │ ├── acl_log.cc │ │ ├── acl_log.h │ │ ├── user.cc │ │ ├── user.h │ │ ├── user_registry.cc │ │ ├── user_registry.h │ │ ├── validator.cc │ │ └── validator.h │ ├── bitops_family.cc │ ├── bitops_family_test.cc │ ├── blocking_controller.cc │ ├── blocking_controller.h │ ├── blocking_controller_test.cc │ ├── bloom_family.cc │ ├── bloom_family_test.cc │ ├── channel_store.cc │ ├── channel_store.h │ ├── cluster/ │ │ ├── CMakeLists.txt │ │ ├── cluster_config.cc │ │ ├── cluster_config.h │ │ ├── cluster_config_test.cc │ │ ├── cluster_defs.cc │ │ ├── cluster_defs.h │ │ ├── cluster_family.cc │ │ ├── cluster_family.h │ │ ├── cluster_family_test.cc │ │ ├── cluster_utility.cc │ │ ├── cluster_utility.h │ │ ├── coordinator.cc │ │ ├── coordinator.h │ │ ├── incoming_slot_migration.cc │ │ ├── incoming_slot_migration.h │ │ ├── outgoing_slot_migration.cc │ │ ├── outgoing_slot_migration.h │ │ └── slot_set.h │ ├── cluster_support.cc │ ├── cluster_support.h │ ├── cmd_support.cc │ ├── cmd_support.h │ ├── cms_family.cc │ ├── cms_family_test.cc │ ├── collection_family_fallback.cc │ ├── command_families.h │ ├── command_registry.cc │ ├── command_registry.h │ ├── common.cc │ ├── common.h │ ├── common_types.h │ ├── config_registry.cc │ ├── config_registry.h │ ├── conn_context.cc │ ├── conn_context.h │ ├── container_utils.cc │ ├── container_utils.h │ ├── db_slice.cc │ ├── db_slice.h │ ├── debugcmd.cc │ ├── debugcmd.h │ ├── detail/ │ │ ├── compressor.cc │ │ ├── compressor.h │ │ ├── decompress.cc │ │ ├── decompress.h │ │ ├── save_stages_controller.cc │ │ ├── save_stages_controller.h │ │ ├── snapshot_storage.cc │ │ ├── snapshot_storage.h │ │ ├── table.h │ │ └── wrapped_json_path.h │ ├── dfly_bench.cc │ ├── dfly_main.cc │ ├── dflycmd.cc │ ├── dflycmd.h │ ├── dragonfly_test.cc │ ├── engine_shard.cc │ ├── engine_shard.h │ ├── engine_shard_set.cc │ ├── engine_shard_set.h │ ├── engine_shard_set_test.cc │ ├── error.cc │ ├── error.h │ ├── execution_state.cc │ ├── execution_state.h │ ├── family_utils.cc │ ├── family_utils.h │ ├── generic_family.cc │ ├── generic_family.h │ ├── generic_family_test.cc │ ├── geo_family.cc │ ├── geo_family_test.cc │ ├── hll_family.cc │ ├── hll_family_test.cc │ ├── hset_family.cc │ ├── hset_family.h │ ├── hset_family_test.cc │ ├── http_api.cc │ ├── http_api.h │ ├── journal/ │ │ ├── CMakeLists.txt │ │ ├── cmd_serializer.cc │ │ ├── cmd_serializer.h │ │ ├── executor.cc │ │ ├── executor.h │ │ ├── journal.cc │ │ ├── journal.h │ │ ├── journal_slice.cc │ │ ├── journal_slice.h │ │ ├── journal_test.cc │ │ ├── pending_buf.h │ │ ├── serializer.cc │ │ ├── serializer.h │ │ ├── streamer.cc │ │ ├── streamer.h │ │ ├── tx_executor.cc │ │ ├── tx_executor.h │ │ ├── types.cc │ │ └── types.h │ ├── json_family.cc │ ├── json_family_memory_test.cc │ ├── json_family_test.cc │ ├── list_family.cc │ ├── list_family_test.cc │ ├── main_service.cc │ ├── main_service.h │ ├── memory_cmd.cc │ ├── memory_cmd.h │ ├── multi_command_squasher.cc │ ├── multi_command_squasher.h │ ├── multi_test.cc │ ├── namespaces.cc │ ├── namespaces.h │ ├── protocol_client.cc │ ├── protocol_client.h │ ├── rdb_extensions.h │ ├── rdb_load.cc │ ├── rdb_load.h │ ├── rdb_load_context.cc │ ├── rdb_load_context.h │ ├── rdb_save.cc │ ├── rdb_save.h │ ├── rdb_test.cc │ ├── replica.cc │ ├── replica.h │ ├── replica_types.h │ ├── script_mgr.cc │ ├── script_mgr.h │ ├── search/ │ │ ├── CMakeLists.txt │ │ ├── aggregator.cc │ │ ├── aggregator.h │ │ ├── aggregator_test.cc │ │ ├── doc_accessors.cc │ │ ├── doc_accessors.h │ │ ├── doc_index.cc │ │ ├── doc_index.h │ │ ├── doc_index_fallback.cc │ │ ├── global_hnsw_index.cc │ │ ├── global_hnsw_index.h │ │ ├── index_builder.cc │ │ ├── index_builder.h │ │ ├── index_join.cc │ │ ├── index_join.h │ │ ├── index_join_test.cc │ │ ├── search_family.cc │ │ ├── search_family.h │ │ └── search_family_test.cc │ ├── serializer_base.cc │ ├── serializer_base.h │ ├── serializer_base_test.cc │ ├── serializer_commons.cc │ ├── serializer_commons.h │ ├── server_family.cc │ ├── server_family.h │ ├── server_family_test.cc │ ├── server_state.cc │ ├── server_state.h │ ├── set_family.cc │ ├── set_family.h │ ├── set_family_test.cc │ ├── sharding.cc │ ├── sharding.h │ ├── slowlog.cc │ ├── slowlog.h │ ├── snapshot.cc │ ├── snapshot.h │ ├── stats.cc │ ├── stats.h │ ├── stream_family.cc │ ├── stream_family.h │ ├── stream_family_test.cc │ ├── string_family.cc │ ├── string_family_test.cc │ ├── string_stats.cc │ ├── string_stats.h │ ├── string_stats_test.cc │ ├── synchronization.cc │ ├── synchronization.h │ ├── table.cc │ ├── table.h │ ├── test_utils.cc │ ├── test_utils.h │ ├── testdata/ │ │ ├── RDB_TYPE_STREAM_LISTPACKS_2.rdb │ │ ├── RDB_TYPE_STREAM_LISTPACKS_3.rdb │ │ ├── empty.rdb │ │ ├── hll.rdb │ │ ├── ignore_expiry.rdb │ │ ├── redis6_small.rdb │ │ ├── redis6_stream.rdb │ │ ├── redis7_small.rdb │ │ └── redis_json.rdb │ ├── tiered_storage.cc │ ├── tiered_storage.h │ ├── tiered_storage_test.cc │ ├── tiering/ │ │ ├── CMakeLists.txt │ │ ├── common.h │ │ ├── decoders.cc │ │ ├── decoders.h │ │ ├── disk_storage.cc │ │ ├── disk_storage.h │ │ ├── disk_storage_test.cc │ │ ├── entry_map.h │ │ ├── external_alloc.cc │ │ ├── external_alloc.h │ │ ├── external_alloc_test.cc │ │ ├── op_manager.cc │ │ ├── op_manager.h │ │ ├── op_manager_test.cc │ │ ├── serialized_map.cc │ │ ├── serialized_map.h │ │ ├── serialized_map_test.cc │ │ ├── small_bins.cc │ │ ├── small_bins.h │ │ ├── small_bins_test.cc │ │ └── test_common.h │ ├── transaction.cc │ ├── transaction.h │ ├── tx_base.cc │ ├── tx_base.h │ ├── version.cc.in │ ├── version.h │ ├── version_monitor.cc │ ├── version_monitor.h │ ├── zset_family.cc │ ├── zset_family.h │ └── zset_family_test.cc ├── tests/ │ ├── README.md │ ├── dragonfly/ │ │ ├── __init__.py │ │ ├── acl_family_test.py │ │ ├── bull_sidekiq_test.py │ │ ├── celery_test.py │ │ ├── cluster_mgr_test.py │ │ ├── cluster_test.py │ │ ├── config_test.py │ │ ├── conftest.py │ │ ├── connection_test.py │ │ ├── eval_test.py │ │ ├── generic_test.py │ │ ├── http_conf_test.py │ │ ├── instance.py │ │ ├── json_test.py │ │ ├── list_family_test.py │ │ ├── management_test.py │ │ ├── memcache_meta.py │ │ ├── memory_test.py │ │ ├── proxy.py │ │ ├── pymemcached_test.py │ │ ├── redis_replication_test.py │ │ ├── replication_test.py │ │ ├── requirements.txt │ │ ├── search_benchmark_test.py │ │ ├── search_benchmark_utils.py │ │ ├── search_test.py │ │ ├── seeder/ │ │ │ ├── README.md │ │ │ ├── __init__.py │ │ │ ├── script-generate.lua │ │ │ ├── script-genlib.lua │ │ │ ├── script-hash.lua │ │ │ ├── script-hashlib.lua │ │ │ └── script-utillib.lua │ │ ├── seeder_test.py │ │ ├── sentinel_test.py │ │ ├── server_family_test.py │ │ ├── set_test.py │ │ ├── shutdown_test.py │ │ ├── snapshot_test.py │ │ ├── test_dash_gc.py │ │ ├── tiering_test.py │ │ ├── tls_conf_test.py │ │ ├── utility.py │ │ └── valkey_search/ │ │ ├── README.md │ │ ├── __init__.py │ │ ├── conftest.py │ │ ├── sync-valkey-search-tests.sh │ │ ├── util.py │ │ └── valkey_search_test_case_dragonfly.py │ ├── fakeredis/ │ │ ├── README.md │ │ ├── pyproject.toml │ │ └── test/ │ │ ├── __init__.py │ │ ├── conftest.py │ │ ├── test_asyncredis.py │ │ ├── test_hypotesis_joint/ │ │ │ ├── __init__.py │ │ │ └── test_joint.py │ │ ├── test_hypothesis/ │ │ │ ├── __init__.py │ │ │ ├── _server_info.py │ │ │ ├── base.py │ │ │ ├── test_connection.py │ │ │ ├── test_hash.py │ │ │ ├── test_list.py │ │ │ ├── test_server.py │ │ │ ├── test_set.py │ │ │ ├── test_string.py │ │ │ ├── test_transaction.py │ │ │ └── test_zset.py │ │ ├── test_issues.py │ │ ├── test_json/ │ │ │ ├── __init__.py │ │ │ ├── test_json.py │ │ │ ├── test_json_arr_commands.py │ │ │ └── test_json_commands.py │ │ ├── test_mixins/ │ │ │ ├── __init__.py │ │ │ ├── test_bitmap_commands.py │ │ │ ├── test_connection.py │ │ │ ├── test_generic_commands.py │ │ │ ├── test_geo_commands.py │ │ │ ├── test_hash_commands.py │ │ │ ├── test_list_commands.py │ │ │ ├── test_pubsub_commands.py │ │ │ ├── test_scan.py │ │ │ ├── test_scripting.py │ │ │ ├── test_server_commands.py │ │ │ ├── test_set_commands.py │ │ │ ├── test_sortedset_commands.py │ │ │ ├── test_streams_commands.py │ │ │ ├── test_string_commands.py │ │ │ └── test_zadd.py │ │ ├── test_stack/ │ │ │ ├── __init__.py │ │ │ ├── test_bloomfilter.py │ │ │ ├── test_cms.py │ │ │ ├── test_cuckoofilter.py │ │ │ ├── test_tdigest.py │ │ │ └── test_topk.py │ │ ├── test_transactions.py │ │ └── testtools.py │ ├── integration/ │ │ ├── .dockerignore │ │ ├── .run_ioredis_valid_test.sh │ │ ├── async.py │ │ ├── gen_sets.sh │ │ ├── generate_sets.py │ │ ├── ioredis.Dockerfile │ │ ├── jedis.Dockerfile │ │ ├── node-redis.Dockerfile │ │ ├── pascaldekloe.Dockerfile │ │ ├── relay.Dockerfile │ │ ├── run_ioredis_on_docker.sh │ │ └── stress_shutdown.sh │ └── pytest.ini └── tools/ ├── balls_bins.py ├── benchmark/ │ ├── k8s-benchmark-job.yaml │ └── post_run_checks.py ├── cache_logs_player.py ├── cache_testing.py ├── cluster_mgr.py ├── defrag_db.py ├── defrag_mem_test.py ├── docker/ │ ├── entrypoint.sh │ ├── fetch_release.sh │ └── healthcheck.sh ├── eviction/ │ ├── fill_db.py │ ├── run_fill_db.sh │ └── stop_fill_db.sh ├── faulty_io.sh ├── generate-tls-files.sh ├── json_benchmark.py ├── local/ │ ├── gen-test-certs.sh │ └── monitoring/ │ ├── docker-compose.yml │ ├── grafana/ │ │ ├── config.monitoring │ │ └── provisioning/ │ │ ├── dashboards/ │ │ │ ├── dashboard.yml │ │ │ ├── dragonfly.json │ │ │ ├── memcached.json │ │ │ ├── node-exporter.json │ │ │ └── redis.json │ │ └── datasources/ │ │ └── datasource.yml │ └── prometheus/ │ └── prometheus.yml ├── packaging/ │ ├── Dockerfile.alpine-dev │ ├── Dockerfile.ubuntu-dev │ ├── Dockerfile.ubuntu-prod │ ├── README.md │ ├── debian/ │ │ ├── compat │ │ ├── control │ │ ├── dragonfly.conf │ │ ├── dragonfly.install │ │ ├── dragonfly.logrotate │ │ ├── dragonfly.postinst │ │ ├── dragonfly.postrm │ │ ├── dragonfly.preinst │ │ ├── dragonfly.service │ │ └── rules │ ├── generate_changelog.sh │ ├── generate_debian_package.sh │ ├── osrepos/ │ │ ├── README.md │ │ ├── dragonfly.repo │ │ ├── dragonfly.sources │ │ ├── pgp-key.public │ │ ├── reprepro-config/ │ │ │ ├── distributions │ │ │ └── options │ │ ├── requirements.txt │ │ └── scripts/ │ │ ├── fetch-releases.py │ │ ├── generate-apt-repo.sh │ │ ├── generate-index.py │ │ └── sign-rpms.sh │ └── rpm/ │ ├── build_rpm.sh │ ├── dragonfly.service │ └── dragonfly.spec ├── parse_allocator_tracking_logs.py ├── plot_memtier_latency.py ├── release.sh ├── replay/ │ ├── go.mod │ ├── go.sum │ ├── main.go │ ├── parsing.go │ └── workers.go ├── requirements.txt ├── run_master_replica.sh └── vector-benches/ ├── README.md ├── go.mod ├── go.sum └── main.go