gitextract_z25o6z9o/ ├── .github/ │ ├── CODEOWNERS │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ └── config.yml │ ├── RELEASE_NOTES_TEMPLATE.md │ ├── actions/ │ │ └── run-tests/ │ │ └── action.yml │ ├── dependabot.yml │ ├── release-drafter-config.yml │ ├── spellcheck-settings.yml │ ├── wordlist.txt │ └── workflows/ │ ├── build.yml │ ├── codeql-analysis.yml │ ├── doctests.yaml │ ├── golangci-lint.yml │ ├── release-drafter.yml │ ├── spellcheck.yml │ ├── stale-issues.yml │ ├── test-e2e.yml │ └── test-redis-enterprise.yml ├── .gitignore ├── .golangci.yml ├── .prettierrc.yml ├── CONTRIBUTING.md ├── LICENSE ├── Makefile ├── README.md ├── RELEASE-NOTES.md ├── RELEASING.md ├── acl_commands.go ├── acl_commands_test.go ├── adapters.go ├── async_handoff_integration_test.go ├── auth/ │ ├── auth.go │ ├── auth_test.go │ └── reauth_credentials_listener.go ├── bench_test.go ├── bitmap_commands.go ├── bitmap_commands_test.go ├── cluster_commands.go ├── command.go ├── command_digest_test.go ├── command_policy_resolver.go ├── command_recorder_test.go ├── command_test.go ├── commands.go ├── commands_test.go ├── dial_retry_backoff.go ├── digest_test.go ├── doc.go ├── docker-compose.yml ├── dockers/ │ ├── .gitignore │ └── sentinel.conf ├── doctests/ │ ├── Makefile │ ├── README.md │ ├── bf_tutorial_test.go │ ├── bitfield_tutorial_test.go │ ├── bitmap_tutorial_test.go │ ├── cmds_generic_test.go │ ├── cmds_hash_test.go │ ├── cmds_list_test.go │ ├── cmds_servermgmt_test.go │ ├── cmds_set_test.go │ ├── cmds_sorted_set_test.go │ ├── cmds_string_test.go │ ├── cms_tutorial_test.go │ ├── cuckoo_tutorial_test.go │ ├── geo_index_test.go │ ├── geo_tutorial_test.go │ ├── hash_tutorial_test.go │ ├── hll_tutorial_test.go │ ├── home_json_example_test.go │ ├── home_prob_dts_test.go │ ├── json_tutorial_test.go │ ├── list_tutorial_test.go │ ├── lpush_lrange_test.go │ ├── main_test.go │ ├── pipe_trans_example_test.go │ ├── query_agg_test.go │ ├── query_em_test.go │ ├── query_ft_test.go │ ├── query_geo_test.go │ ├── query_range_test.go │ ├── search_quickstart_test.go │ ├── set_get_test.go │ ├── sets_example_test.go │ ├── ss_tutorial_test.go │ ├── stream_tutorial_test.go │ ├── string_example_test.go │ ├── tdigest_tutorial_test.go │ ├── timeseries_tut_test.go │ ├── topk_tutorial_test.go │ └── vec_set_test.go ├── error.go ├── error_test.go ├── error_wrapping_test.go ├── example/ │ ├── cluster-mget/ │ │ ├── README.md │ │ ├── go.mod │ │ ├── go.sum │ │ └── main.go │ ├── del-keys-without-ttl/ │ │ ├── README.md │ │ ├── go.mod │ │ ├── go.sum │ │ └── main.go │ ├── digest-optimistic-locking/ │ │ ├── README.md │ │ ├── go.mod │ │ ├── go.sum │ │ └── main.go │ ├── disable-maintnotifications/ │ │ ├── README.md │ │ ├── go.mod │ │ ├── go.sum │ │ └── main.go │ ├── hll/ │ │ ├── README.md │ │ ├── go.mod │ │ ├── go.sum │ │ └── main.go │ ├── hset-struct/ │ │ ├── README.md │ │ ├── go.mod │ │ ├── go.sum │ │ └── main.go │ ├── lua-scripting/ │ │ ├── README.md │ │ ├── go.mod │ │ ├── go.sum │ │ └── main.go │ ├── maintnotifiations-pubsub/ │ │ ├── go.mod │ │ ├── go.sum │ │ └── main.go │ ├── otel/ │ │ ├── README.md │ │ ├── client.go │ │ ├── config/ │ │ │ ├── otel-collector.yaml │ │ │ └── vector.toml │ │ ├── docker-compose.yml │ │ ├── go.mod │ │ ├── go.sum │ │ └── uptrace.yml │ ├── otel-metrics/ │ │ ├── README.md │ │ ├── go.mod │ │ ├── go.sum │ │ └── main.go │ ├── redis-bloom/ │ │ ├── README.md │ │ ├── go.mod │ │ ├── go.sum │ │ └── main.go │ ├── scan-struct/ │ │ ├── README.md │ │ ├── go.mod │ │ ├── go.sum │ │ └── main.go │ ├── tls-cert-auth/ │ │ ├── README.md │ │ ├── go.mod │ │ ├── go.sum │ │ └── main.go │ └── tls-connection/ │ ├── README.md │ ├── go.mod │ ├── go.sum │ └── main.go ├── example_instrumentation_test.go ├── example_test.go ├── export_test.go ├── extra/ │ ├── rediscensus/ │ │ ├── go.mod │ │ ├── go.sum │ │ └── rediscensus.go │ ├── rediscmd/ │ │ ├── go.mod │ │ ├── go.sum │ │ ├── rediscmd.go │ │ ├── rediscmd_test.go │ │ ├── safe.go │ │ └── unsafe.go │ ├── redisotel/ │ │ ├── README.md │ │ ├── config.go │ │ ├── go.mod │ │ ├── go.sum │ │ ├── metrics.go │ │ ├── metrics_test.go │ │ ├── tracing.go │ │ └── tracing_test.go │ ├── redisotel-native/ │ │ ├── attributes.go │ │ ├── config.go │ │ ├── go.mod │ │ ├── go.sum │ │ ├── metrics.go │ │ ├── metrics_definitions_test.go │ │ ├── metrics_stress_test.go │ │ └── redisotel.go │ └── redisprometheus/ │ ├── README.md │ ├── collector.go │ ├── go.mod │ └── go.sum ├── fuzz/ │ └── fuzz.go ├── generic_commands.go ├── geo_commands.go ├── go.mod ├── go.sum ├── hash_commands.go ├── helper/ │ ├── helper.go │ └── helper_test.go ├── hotkeys_commands.go ├── hotkeys_commands_test.go ├── hset_benchmark_test.go ├── hyperloglog_commands.go ├── internal/ │ ├── arg.go │ ├── auth/ │ │ └── streaming/ │ │ ├── conn_reauth_credentials_listener.go │ │ ├── cred_listeners.go │ │ ├── manager.go │ │ ├── manager_test.go │ │ ├── pool_hook.go │ │ └── pool_hook_state_test.go │ ├── customvet/ │ │ ├── .gitignore │ │ ├── checks/ │ │ │ └── setval/ │ │ │ ├── setval.go │ │ │ ├── setval_test.go │ │ │ └── testdata/ │ │ │ └── src/ │ │ │ └── a/ │ │ │ └── a.go │ │ ├── go.mod │ │ ├── go.sum │ │ └── main.go │ ├── hashtag/ │ │ ├── hashtag.go │ │ └── hashtag_test.go │ ├── hscan/ │ │ ├── hscan.go │ │ ├── hscan_test.go │ │ └── structmap.go │ ├── interfaces/ │ │ └── interfaces.go │ ├── internal.go │ ├── internal_test.go │ ├── log.go │ ├── maintnotifications/ │ │ └── logs/ │ │ └── log_messages.go │ ├── once.go │ ├── otel/ │ │ └── metrics.go │ ├── pool/ │ │ ├── bench_test.go │ │ ├── buffer_size_test.go │ │ ├── conn.go │ │ ├── conn_check.go │ │ ├── conn_check_dummy.go │ │ ├── conn_check_test.go │ │ ├── conn_relaxed_timeout_test.go │ │ ├── conn_state.go │ │ ├── conn_state_alloc_test.go │ │ ├── conn_state_test.go │ │ ├── conn_used_at_test.go │ │ ├── dial_conn_retry_test.go │ │ ├── dial_context_timeout_test.go │ │ ├── dial_retry_backoff_test.go │ │ ├── double_freeturn_simple_test.go │ │ ├── double_freeturn_test.go │ │ ├── export_test.go │ │ ├── hooks.go │ │ ├── hooks_test.go │ │ ├── main_test.go │ │ ├── pool.go │ │ ├── pool_single.go │ │ ├── pool_sticky.go │ │ ├── pool_test.go │ │ ├── pubsub.go │ │ ├── try_dial_test.go │ │ ├── want_conn.go │ │ └── want_conn_test.go │ ├── proto/ │ │ ├── peek_push_notification_test.go │ │ ├── proto_test.go │ │ ├── reader.go │ │ ├── reader_test.go │ │ ├── redis_errors.go │ │ ├── redis_errors_test.go │ │ ├── scan.go │ │ ├── scan_test.go │ │ ├── writer.go │ │ └── writer_test.go │ ├── rand/ │ │ └── rand.go │ ├── redis.go │ ├── routing/ │ │ ├── aggregator.go │ │ ├── aggregator_test.go │ │ ├── policy.go │ │ └── shard_picker.go │ ├── semaphore.go │ ├── util/ │ │ ├── atomic_max.go │ │ ├── atomic_min.go │ │ ├── convert.go │ │ ├── convert_test.go │ │ ├── safe.go │ │ ├── strconv.go │ │ ├── strconv_test.go │ │ ├── type.go │ │ ├── unsafe.go │ │ └── unsafe_test.go │ ├── util.go │ └── util_test.go ├── internal_maint_notif_test.go ├── internal_test.go ├── iterator.go ├── iterator_test.go ├── json.go ├── json_test.go ├── list_commands.go ├── logging/ │ ├── logging.go │ └── logging_test.go ├── main_test.go ├── maintnotifications/ │ ├── FEATURES.md │ ├── README.md │ ├── circuit_breaker.go │ ├── circuit_breaker_test.go │ ├── config.go │ ├── config_test.go │ ├── e2e/ │ │ ├── .gitignore │ │ ├── DATABASE_MANAGEMENT.md │ │ ├── README_SCENARIOS.md │ │ ├── cluster_maintnotif_test.go │ │ ├── cmd/ │ │ │ └── proxy-fi-server/ │ │ │ ├── Dockerfile │ │ │ └── main.go │ │ ├── command_runner_test.go │ │ ├── config_autostart_logic_test.go │ │ ├── config_parser_test.go │ │ ├── doc.go │ │ ├── examples/ │ │ │ └── endpoints.json │ │ ├── fault_injector.go │ │ ├── logcollector_test.go │ │ ├── main_test.go │ │ ├── notification_injector_test.go │ │ ├── notiftracker_test.go │ │ ├── proxy_fault_injector_server.go │ │ ├── scenario_endpoint_types_test.go │ │ ├── scenario_push_notifications_test.go │ │ ├── scenario_stress_test.go │ │ ├── scenario_template.go.example │ │ ├── scenario_timeout_configs_test.go │ │ ├── scenario_tls_configs_test.go │ │ ├── scenario_unified_injector_test.go │ │ ├── scripts/ │ │ │ └── run-e2e-tests.sh │ │ ├── slot_keys_test.go │ │ ├── test_mode_test.go │ │ └── utils_test.go │ ├── errors.go │ ├── example_hooks.go │ ├── handoff_worker.go │ ├── hooks.go │ ├── manager.go │ ├── manager_test.go │ ├── pool_hook.go │ ├── pool_hook_test.go │ ├── push_notification_handler.go │ ├── push_notification_handler_test.go │ └── state.go ├── monitor_test.go ├── options.go ├── options_test.go ├── osscluster.go ├── osscluster_commands.go ├── osscluster_lazy_reload_test.go ├── osscluster_maintnotifications_test.go ├── osscluster_maintnotifications_unit_test.go ├── osscluster_router.go ├── osscluster_test.go ├── otel.go ├── pipeline.go ├── pipeline_test.go ├── pool_pubsub_bench_test.go ├── pool_test.go ├── probabilistic.go ├── probabilistic_test.go ├── pubsub.go ├── pubsub_commands.go ├── pubsub_test.go ├── push/ │ ├── errors.go │ ├── handler.go │ ├── handler_context.go │ ├── processor.go │ ├── processor_unit_test.go │ ├── push.go │ ├── push_test.go │ └── registry.go ├── push_notifications.go ├── race_test.go ├── redis.go ├── redis_test.go ├── result.go ├── ring.go ├── ring_test.go ├── script.go ├── scripting_commands.go ├── scripts/ │ ├── bump_deps.sh │ ├── release.sh │ └── tag.sh ├── search_builders.go ├── search_builders_test.go ├── search_commands.go ├── search_commands_parse_test.go ├── search_test.go ├── sentinel.go ├── sentinel_test.go ├── set_commands.go ├── sortedset_commands.go ├── stream_commands.go ├── string_commands.go ├── timeseries_commands.go ├── timeseries_commands_test.go ├── tls_cert_auth_test.go ├── tls_cluster_test.go ├── tls_standalone_test.go ├── tls_test.go ├── tx.go ├── tx_test.go ├── unit_test.go ├── universal.go ├── universal_test.go ├── vectorset_commands.go ├── vectorset_commands_integration_test.go ├── vectorset_commands_test.go └── version.go