A modern replacement for Redis and Memcached
This report summarizes scanner evidence for dragonflydb/dragonfly, a C++ project with 31,773 GitHub stars. SynthScan examined 174,225 lines of code across 692 source files, recording 1194 pattern matches distributed across 18 syntactic categories. The legacy adjusted pattern signal is 9.2 (Moderate pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 962 finding(s).
Are imports declared and package/API names verified? 31 finding(s).
Are wrappers, guards, and repeated structures necessary? 787 finding(s).
Which changes need focused human review? 1194 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 1194 distinct pattern matches across 18 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/plot_memtier_latency.py | 53 | def extract_latency_timeseries(data, operation, ignore_last_seconds=3): | CODE |
| LOW | tools/plot_memtier_latency.py | 132 | def plot_latency_chart_interactive(data, output_file="latency_chart.html", open_browser=True): | CODE |
| LOW⚡ | tools/release_notes_generator.py | 1062 | def _build_commit_user_content(commit: Commit) -> str: | CODE |
| LOW⚡ | tools/release_notes_generator.py | 1404 | def _normalize_blacklist_terms(raw_terms: list[str]) -> tuple[str, ...]: | CODE |
| LOW⚡ | tools/release_notes_generator.py | 1414 | def _canonicalize_blacklist_text(text: str) -> str: | CODE |
| LOW⚡ | tools/release_notes_generator.py | 1418 | def _matches_highlight_blacklist( | CODE |
| LOW | tools/release_notes_generator.py | 551 | def _dedupe_highlights_section(notes: str) -> str: | CODE |
| LOW | tools/release_notes_generator.py | 1448 | def _score_announce_candidate(analyzed_commit: AnalyzedCommit, promoted_theme_size: int) -> float: | CODE |
| LOW | tools/release_notes_generator.py | 1474 | def _select_announce_highlights( | CODE |
| LOW | tools/release_notes_generator.py | 1508 | def build_composition_payload( | CODE |
| LOW | tools/release_notes_generator.py | 1565 | def _build_release_notes_user_message(payload: CompositionPayload) -> str: | CODE |
| LOW | tools/release_notes_generator.py | 1609 | def _build_announce_user_message(payload: CompositionPayload) -> str: | CODE |
| LOW | tools/release_notes_generator.py | 1677 | def _build_release_notes_empty_output(payload: CompositionPayload) -> str: | CODE |
| LOW | tools/release_notes_generator.py | 1684 | def _build_announce_empty_output(payload: CompositionPayload) -> str: | CODE |
| LOW | tools/release_notes_generator.py | 1701 | def _post_process_release_notes(_backend_name: str, notes: str) -> str: | CODE |
| LOW⚡ | tools/release_notes_generator.py | 523 | def _parse_commit_analysis_json(text: str) -> CommitAnalysis: | STRING |
| LOW | tools/cluster_mgr.py | 241 | def build_config_from_existing(args): | CODE |
| LOW | …ols/packaging/osrepos/scripts/wait_for_repo_version.py | 14 | def get_latest_release_version(): | CODE |
| LOW | tools/ci_test_dashboard/build_dashboard.py | 255 | def started_failing_in_sample(recent: list[dict[str, str]]) -> bool: | CODE |
| LOW | tools/ci_test_dashboard/build_dashboard.py | 700 | def failure_runs_from_segments(segments: list[dict[str, Any]]) -> list[dict[str, Any]]: | CODE |
| LOW | tools/ci_test_dashboard/build_dashboard.py | 818 | def metadata_for_dashboard_json(root: Path, json_file: Path) -> Metadata: | CODE |
| LOW | tools/ci_test_dashboard/build_dashboard.py | 908 | def metadata_for_dashboard_record(meta: Metadata, item: dict[str, Any]) -> Metadata: | CODE |
| LOW | tests/dragonfly/cluster_migration_test.py | 44 | async def test_cluster_flushall_during_migration( | CODE |
| LOW | tests/dragonfly/cluster_migration_test.py | 96 | async def test_cluster_data_migration(df_factory: DflyInstanceFactory, interrupt: bool): | CODE |
| LOW | tests/dragonfly/cluster_migration_test.py | 170 | async def test_migration_serializer_expired_fields(df_factory): | CODE |
| LOW | tests/dragonfly/cluster_migration_test.py | 212 | async def test_migration_with_key_ttl(df_factory): | CODE |
| LOW | tests/dragonfly/cluster_migration_test.py | 252 | async def test_cluster_replication_migration( | CODE |
| LOW | tests/dragonfly/cluster_migration_test.py | 326 | async def test_start_replication_during_migration( | CODE |
| LOW | tests/dragonfly/cluster_migration_test.py | 390 | async def test_keys_expiration_during_migration(df_factory: DflyInstanceFactory): | CODE |
| LOW | tests/dragonfly/cluster_migration_test.py | 433 | async def test_snapshoting_during_migration( | CODE |
| LOW | tests/dragonfly/cluster_migration_test.py | 521 | async def test_cluster_migration_while_seeding( | CODE |
| LOW | tests/dragonfly/cluster_migration_test.py | 576 | async def test_cluster_migrations_sequence( | CODE |
| LOW | tests/dragonfly/cluster_migration_test.py | 630 | async def test_migration_one_after_another(df_factory: DflyInstanceFactory, df_seeder_factory): | CODE |
| LOW | tests/dragonfly/cluster_migration_test.py | 694 | async def test_migration_rebalance_node(df_factory: DflyInstanceFactory, df_seeder_factory): | CODE |
| LOW | tests/dragonfly/cluster_migration_test.py | 784 | async def verify_keys_match_number_of_index_docs(client, expected_num_keys): | CODE |
| LOW | tests/dragonfly/cluster_migration_test.py | 799 | async def test_remove_docs_on_cluster_migration(df_factory): | CODE |
| LOW | tests/dragonfly/cluster_migration_test.py | 925 | async def test_cluster_migration_with_tiering(df_factory): | CODE |
| LOW | tests/dragonfly/cluster_migration_test.py | 937 | async def test_cluster_migration_with_tiering_and_deletes(df_factory: DflyInstanceFactory): | CODE |
| LOW | tests/dragonfly/cluster_migration_test.py | 947 | async def test_repeated_flushslots_with_replica(df_factory: DflyInstanceFactory): | CODE |
| LOW | tests/dragonfly/instance.py | 368 | def print_info_logs_to_debug_log(self): | CODE |
| LOW | tests/dragonfly/cluster_test_utils.py | 17 | def monotonically_increasing_port_number(): | CODE |
| LOW | tests/dragonfly/cluster_test_utils.py | 152 | async def wait_for_ft_index_creation(client, idx_name, timeout=5): | CODE |
| LOW | tests/dragonfly/cluster_test_utils.py | 178 | async def check_for_no_state_status(admin_clients): | CODE |
| LOW | tests/dragonfly/conftest.py | 641 | def with_ca_dir_tls_server_args(with_tls_server_args, with_tls_ca_cert_args): | CODE |
| LOW | tests/dragonfly/conftest.py | 711 | def pytest_runtest_makereport(item, call): | CODE |
| LOW | tests/dragonfly/seeder_test.py | 23 | async def test_static_collection_size(async_client: aioredis.Redis): | CODE |
| LOW | tests/dragonfly/seeder_test.py | 157 | def custom_command_generation_probability(): | CODE |
| LOW | tests/dragonfly/tiering_test.py | 105 | async def test_tiered_replication_strings_with_append(df_factory: DflyInstanceFactory, cache_mode): | CODE |
| LOW | tests/dragonfly/tiering_test.py | 197 | async def test_tiered_replication_with_hashes( | CODE |
| LOW | tests/dragonfly/tiering_test.py | 252 | async def test_tiered_replication_offloaded_listpack_hashes( | CODE |
| LOW | tests/dragonfly/tiering_test.py | 313 | async def test_tiered_replication_with_lists(df_factory: DflyInstanceFactory): | CODE |
| LOW | tests/dragonfly/tiering_test.py | 396 | async def test_concurrent_tiered_list_blocking_command(df_factory: DflyInstanceFactory): | CODE |
| LOW | tests/dragonfly/tiering_test.py | 446 | async def test_concurrent_tiered_list_materialization(df_factory: DflyInstanceFactory): | CODE |
| LOW | tests/dragonfly/tiering_test.py | 490 | async def test_concurrent_tiered_list_mutation(df_factory: DflyInstanceFactory, command: str): | CODE |
| LOW | tests/dragonfly/http_conf_test.py | 40 | async def test_metrics_does_not_count_http_connection(df_server: DflyInstance): | CODE |
| LOW | tests/dragonfly/http_conf_test.py | 51 | async def test_http_metrics_does_not_leak_read_buffer_capacity(df_server: DflyInstance): | CODE |
| LOW | tests/dragonfly/http_conf_test.py | 79 | async def test_no_password_main_port(df_server: DflyInstance): | CODE |
| LOW | tests/dragonfly/http_conf_test.py | 100 | async def test_no_password_on_admin(df_server: DflyInstance): | CODE |
| LOW | tests/dragonfly/http_conf_test.py | 126 | async def test_no_password_on_http_api(df_server: DflyInstance): | CODE |
| LOW | tests/dragonfly/http_conf_test.py | 164 | async def test_password_on_http_api(df_server: DflyInstance): | CODE |
| 523 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tools/pubsub/stress.py | 166 | except (ValueError, TypeError): | CODE |
| HIGH | tools/pubsub/celery-test.py | 209 | except Exception: | CODE |
| HIGH | tests/dragonfly/cluster_migration_test.py | 899 | except Exception: | CODE |
| HIGH | tests/dragonfly/instance.py | 63 | except ValueError: | CODE |
| HIGH | tests/dragonfly/instance.py | 536 | except Exception: | CODE |
| HIGH | tests/dragonfly/conftest.py | 703 | except OSError: | CODE |
| HIGH | tests/dragonfly/conftest.py | 397 | except Exception: | CODE |
| HIGH | tests/dragonfly/conftest.py | 444 | except Exception: | CODE |
| HIGH | tests/dragonfly/cluster_client_test.py | 228 | except MovedError: | CODE |
| HIGH | tests/dragonfly/acl_family_test.py | 769 | except asyncio.TimeoutError: | CODE |
| HIGH | tests/dragonfly/proxy.py | 66 | except (asyncio.CancelledError, ConnectionResetError): | CODE |
| HIGH | tests/dragonfly/proxy.py | 171 | except asyncio.exceptions.CancelledError: | CODE |
| HIGH | tests/dragonfly/connection_test.py | 2452 | except Exception: | CODE |
| HIGH | tests/dragonfly/connection_test.py | 2532 | except Exception: | CODE |
| HIGH | tests/dragonfly/connection_test.py | 2540 | except asyncio.TimeoutError: | CODE |
| HIGH | tests/dragonfly/connection_test.py | 2547 | except Exception: | CODE |
| HIGH | tests/dragonfly/connection_test.py | 242 | except Exception: | CODE |
| HIGH | tests/dragonfly/connection_test.py | 431 | except asyncio.TimeoutError: | CODE |
| HIGH | tests/dragonfly/connection_test.py | 706 | except asyncio.TimeoutError: | CODE |
| HIGH | tests/dragonfly/connection_test.py | 3267 | except (aioredis.ConnectionError, asyncio.CancelledError): | CODE |
| HIGH | tests/dragonfly/connection_test.py | 3612 | except asyncio.TimeoutError: | CODE |
| HIGH | tests/dragonfly/connection_test.py | 3615 | except ConnectionError: | CODE |
| HIGH | tests/dragonfly/connection_test.py | 3656 | except asyncio.TimeoutError: | CODE |
| HIGH | tests/dragonfly/connection_test.py | 3659 | except ConnectionError: | CODE |
| HIGH | tests/dragonfly/connection_test.py | 111 | except asyncio.CancelledError: | CODE |
| HIGH | tests/dragonfly/connection_test.py | 4110 | except OSError: | CODE |
| HIGH | tests/dragonfly/utility.py | 1009 | except asyncio.CancelledError: | CODE |
| HIGH | tests/dragonfly/fake_node.py | 65 | except ConnectionError: | CODE |
| HIGH | tests/dragonfly/shutdown_test.py | 63 | except redis.exceptions.ConnectionError: | CODE |
| HIGH | tests/dragonfly/search_test.py | 142 | except ValueError: | CODE |
| HIGH | tests/dragonfly/search_test.py | 1052 | except Exception: | CODE |
| HIGH | tests/dragonfly/search_test.py | 1056 | except Exception: | CODE |
| HIGH | tests/dragonfly/search_test.py | 1065 | except Exception: | CODE |
| HIGH | tests/dragonfly/snapshot_test.py | 791 | except asyncio.TimeoutError: | CODE |
| HIGH | tests/dragonfly/snapshot_test.py | 890 | except asyncio.TimeoutError: | CODE |
| HIGH | tests/dragonfly/snapshot_test.py | 293 | except Exception: | CODE |
| HIGH | tests/dragonfly/snapshot_test.py | 826 | except Exception: | CODE |
| HIGH | tests/dragonfly/snapshot_test.py | 925 | except Exception: | CODE |
| HIGH | tests/dragonfly/snapshot_test.py | 939 | except Exception: | CODE |
| HIGH | tests/dragonfly/replication_resilience_test.py | 1631 | except (asyncio.CancelledError, Exception): | CODE |
| HIGH | tests/dragonfly/replication_resilience_test.py | 1525 | except Exception: | CODE |
| HIGH | tests/dragonfly/redis_replication_test.py | 285 | except asyncio.CancelledError: | CODE |
| HIGH | tests/dragonfly/replication_specific_test.py | 1536 | except (asyncio.CancelledError, Exception): | CODE |
| HIGH | tests/dragonfly/replication_specific_test.py | 1734 | except ProcessLookupError: | CODE |
| HIGH | tests/dragonfly/replication_specific_test.py | 540 | except asyncio.CancelledError: | CODE |
| HIGH | tests/dragonfly/replication_specific_test.py | 1504 | except (asyncio.CancelledError, Exception): | CODE |
| HIGH | tests/dragonfly/seeder/__init__.py | 533 | except (redis.exceptions.ConnectionError, redis.exceptions.ResponseError): | CODE |
| HIGH | tests/dragonfly/valkey_search/util.py | 30 | except Exception: | CODE |
| HIGH | tests/dragonfly/valkey_search/util.py | 55 | except Exception: | CODE |
| HIGH | tests/dragonfly/valkey_search/util.py | 80 | except Exception: | CODE |
| HIGH | tests/fakeredis/test/test_hypothesis/base.py | 241 | except redis.ResponseError: | CODE |
| HIGH | fuzz/resp_mutator.py | 272 | except (json.JSONDecodeError, TypeError, ValueError): | CODE |
| HIGH | fuzz/replay_crash.py | 319 | except socket.timeout: | CODE |
| HIGH | fuzz/memcache_mutator.py | 291 | except ValueError: | CODE |
| HIGH | fuzz/fuzz_health.py | 63 | except OSError: | CODE |
| HIGH | fuzz/generate_targeted_seeds.py | 209 | except json.JSONDecodeError: | CODE |
| HIGH | fuzz/generate_targeted_seeds.py | 217 | except json.JSONDecodeError: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/release_notes_generator.py | 81 | # --------------------------------------------------------------------------- | COMMENT |
| LOW | tools/generate-tls-files.sh | 1 | #!/bin/bash | COMMENT |
| LOW | tools/packaging/generate_debian_package.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | tools/local/monitoring/prometheus/prometheus.yml | 1 | # my global config | COMMENT |
| LOW | tools/replay/workers.go | 301 | } | COMMENT |
| LOW | tests/dragonfly/connection_test.py | 1741 | return re.sub(rb"(\$2\r\nid\r\n):\d+\r\n", rb"\1:<client-id>\r\n", reply) | COMMENT |
| LOW | tests/dragonfly/search_test.py | 1381 | # | COMMENT |
| LOW | tests/dragonfly/search_test.py | 1401 | # See: src/core/search/indices.cc:622 - GeoIndex::RadiusSearch doesn't sort results | COMMENT |
| LOW | tests/dragonfly/search_test.py | 1421 | # # Should find cafes within the geo and vector constraints | COMMENT |
| LOW | tests/dragonfly/bull_sidekiq_test.py | 21 | # @dfly_args({"lock_on_hashtags": True}) | COMMENT |
| LOW | tests/integration/.run_ioredis_valid_test.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | tests/fakeredis/test/test_mixins/test_scan.py | 81 | # key_to_remove = keys[0] | COMMENT |
| LOW | .claude/skills/benchmark/scripts/capture_result.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | .claude/skills/benchmark/scripts/monitor_fill.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | .claude/skills/benchmark/scripts/bench_server.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | contrib/charts/dragonfly/Chart.yaml | 1 | apiVersion: v2 | COMMENT |
| LOW | contrib/charts/dragonfly/values.yaml | 41 | podSecurityContext: {} | COMMENT |
| LOW | contrib/charts/dragonfly/values.yaml | 101 | # -- Volume size to request for the PVC | COMMENT |
| LOW | contrib/charts/dragonfly/values.yaml | 121 | # -- name of the referenced issuer | COMMENT |
| LOW | contrib/charts/dragonfly/values.yaml | 201 | COMMENT | |
| LOW | .github/bullmq-skipped-tests.txt | 1 | # BullMQ tests excluded from CI runs against Dragonfly | COMMENT |
| LOW | .github/workflows/fuzz-pr.yml | 1 | # Run AFL++ fuzzing on PRs that touch C++ code. | COMMENT |
| LOW | .github/actions/builder/action.yml | 81 | if: ${{ inputs.enable-ccache == 'true' }} | COMMENT |
| LOW | fuzz/triage_crashes.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | fuzz/triage_crashes.sh | 21 | # recorded configuration; 2 = some crash could not be triaged, was inconclusive, or crashed only | COMMENT |
| LOW | src/core/oah_table.h | 1 | // Copyright 2026, DragonflyDB authors. All rights reserved. | COMMENT |
| LOW | src/core/oah_table.h | 21 | #include "core/oah_base.h" | COMMENT |
| LOW | src/core/oah_set.h | 1 | // Copyright 2026, DragonflyDB authors. All rights reserved. | COMMENT |
| LOW | src/core/cms.h | 1 | // Copyright 2026, DragonflyDB authors. All rights reserved. | COMMENT |
| LOW | src/core/topk.h | 1 | // Copyright 2026, DragonflyDB authors. All rights reserved. | COMMENT |
| LOW | src/core/topk.h | 21 | // | COMMENT |
| LOW | src/core/topk.h | 41 | // | COMMENT |
| LOW | src/core/topk.h | 81 | uint32_t count; | COMMENT |
| LOW | src/core/top_keys.h | 1 | // Copyright 2025, DragonflyDB authors. All rights reserved. | COMMENT |
| LOW | src/core/top_keys.h | 21 | // increments, and does not use PMR allocators (which are required for strict memory | COMMENT |
| LOW | src/core/sharded_hash_map.h | 1 | // Copyright 2026, DragonflyDB authors. All rights reserved. | COMMENT |
| LOW | src/core/sharded_hash_map.h | 21 | // Each shard contains an absl::flat_hash_map protected by two fiber-aware locks: | COMMENT |
| LOW | src/core/sharded_hash_map.h | 41 | // Thread safety guarantees: | COMMENT |
| LOW | src/core/sharded_hash_map.h | 121 | COMMENT | |
| LOW | src/core/oah_ptr.h | 1 | // Copyright 2026, DragonflyDB authors. All rights reserved. | COMMENT |
| LOW | src/core/string_set.h | 1 | // Copyright 2022, DragonflyDB authors. All rights reserved. | COMMENT |
| LOW | src/core/dash_internal.h | 1 | // Copyright 2024, DragonflyDB authors. All rights reserved. | COMMENT |
| LOW | src/core/dash_internal.h | 521 | COMMENT | |
| LOW | src/core/dash_internal.h | 1301 | // It is highly unlikely that this happens with real world data. | COMMENT |
| LOW | src/core/dash_internal.h | 1541 | // bucket. Furthermore, if the target or the probe have one of their stash bits reference the | COMMENT |
| LOW | src/core/interpreter.h | 1 | // Copyright 2022, DragonflyDB authors. All rights reserved. | COMMENT |
| LOW | src/core/glob_matcher.h | 1 | // Copyright 2025, DragonflyDB authors. All rights reserved. | COMMENT |
| LOW | src/core/glob_matcher.h | 41 | // Stateless matcher behind Matches(): iterative, no allocation. Exposed for tests and benchmarks. | COMMENT |
| LOW | src/core/compact_object.h | 1 | // Copyright 2024, DragonflyDB authors. All rights reserved. | COMMENT |
| LOW | src/core/compact_object.h | 241 | COMMENT | |
| LOW | src/core/dict_builder.h | 1 | // Copyright 2025, DragonflyDB authors. All rights reserved. | COMMENT |
| LOW | src/core/dict_builder.h | 21 | unsigned step); | COMMENT |
| LOW | src/core/stream_node.h | 1 | // Copyright 2026, DragonflyDB authors. All rights reserved. | COMMENT |
| LOW | src/core/flatbuffers.h | 1 | // Copyright 2024, DragonflyDB authors. All rights reserved. | COMMENT |
| LOW | src/core/tiering_types.h | 1 | // Copyright 2026, DragonflyDB authors. All rights reserved. | COMMENT |
| LOW | src/core/bptree_set.h | 81 | ToRank(rank, &path); | COMMENT |
| LOW | src/core/size_tracking_channel.h | 1 | // Copyright 2023, DragonflyDB authors. All rights reserved. | COMMENT |
| LOW | src/core/dense_set.h | 1 | // Copyright 2022, DragonflyDB authors. All rights reserved. | COMMENT |
| LOW | src/core/dense_set.h | 21 | // dict requires to allocate dictEntry per each addition in addition to the supplied key. | COMMENT |
| LOW | src/core/oah_base.h | 1 | // Copyright 2026, DragonflyDB authors. All rights reserved. | COMMENT |
| 200 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | tools/release_notes_generator.py | 133 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/release_notes_generator.py | 135 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/release_notes_generator.py | 1057 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/release_notes_generator.py | 1059 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/release_notes_generator.py | 81 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/release_notes_generator.py | 83 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/release_notes_generator.py | 330 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/release_notes_generator.py | 332 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/release_notes_generator.py | 590 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/release_notes_generator.py | 592 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/release_notes_generator.py | 909 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/release_notes_generator.py | 911 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/release_notes_generator.py | 953 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/release_notes_generator.py | 955 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/release_notes_generator.py | 1029 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/release_notes_generator.py | 1031 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/release_notes_generator.py | 1314 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/release_notes_generator.py | 1316 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/release_notes_generator.py | 1791 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/release_notes_generator.py | 1793 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/release_notes_generator.py | 518 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM⚡ | tools/release_notes_generator.py | 520 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM⚡ | tools/pubsub/celery-test.py | 80 | # ------------------------ | COMMENT |
| MEDIUM⚡ | tools/pubsub/celery-test.py | 82 | # ------------------------ | COMMENT |
| MEDIUM⚡ | tools/pubsub/celery-test.py | 91 | # ------------------------ | COMMENT |
| MEDIUM⚡ | tools/pubsub/celery-test.py | 93 | # ------------------------ | COMMENT |
| MEDIUM | tools/pubsub/celery-test.py | 20 | # ------------------------ | COMMENT |
| MEDIUM | tools/pubsub/celery-test.py | 22 | # ------------------------ | COMMENT |
| MEDIUM | tools/pubsub/celery-test.py | 65 | # ------------------------ | COMMENT |
| MEDIUM | tools/pubsub/celery-test.py | 67 | # ------------------------ | COMMENT |
| MEDIUM | tools/pubsub/celery-test.py | 166 | # ------------------------ | COMMENT |
| MEDIUM | tools/pubsub/celery-test.py | 168 | # ------------------------ | COMMENT |
| MEDIUM | tools/pubsub/celery-test.py | 185 | # ------------------------ | COMMENT |
| MEDIUM | tools/pubsub/celery-test.py | 187 | # ------------------------ | COMMENT |
| MEDIUM | tools/pubsub/celery-test.py | 247 | # ------------------------ | COMMENT |
| MEDIUM | tools/pubsub/celery-test.py | 249 | # ------------------------ | COMMENT |
| MEDIUM | tools/pubsub/celery-test.py | 456 | # ------------------------ | COMMENT |
| MEDIUM | tools/pubsub/celery-test.py | 458 | # ------------------------ | COMMENT |
| MEDIUM | tests/dragonfly/replication_utils.py | 38 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/dragonfly/replication_utils.py | 40 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/dragonfly/replication_utils.py | 171 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/dragonfly/replication_utils.py | 173 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/dragonfly/replication_utils.py | 252 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/dragonfly/replication_utils.py | 254 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/dragonfly/replication_utils.py | 288 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/dragonfly/replication_utils.py | 290 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/bullmq-skipped-tests.txt | 8 | # ── DRAGONFLY BUG ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | .github/bullmq-skipped-tests.txt | 18 | # ── FLAKY ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | fuzz/replay_crash.py | 78 | # ─── Walking an input the way the server parses it ─────────────────────────── | COMMENT |
| MEDIUM | fuzz/replay_crash.py | 227 | # ─── Barriers ───────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | fuzz/replay_crash.py | 296 | # ─── Transport ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | fuzz/replay_crash.py | 541 | # ─── Main ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | fuzz/triage_crashes.sh | 36 | # ─── Colors ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | fuzz/triage_crashes.sh | 44 | # ─── Config ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | fuzz/triage_crashes.sh | 67 | # ─── Args ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | fuzz/triage_crashes.sh | 100 | # ─── Working directory ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | fuzz/triage_crashes.sh | 123 | # ─── Extract zip ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | fuzz/triage_crashes.sh | 131 | # ─── Find crash archives ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | fuzz/triage_crashes.sh | 143 | # ─── Locate replay_crash.py ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM | fuzz/triage_crashes.sh | 152 | # ─── Helpers ────────────────────────────────────────────────────────────────── | COMMENT |
| 13 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tools/plot_memtier_latency.py | 152 | print("Error: No operation data found in JSON") | CODE |
| MEDIUM | tools/plot_memtier_latency.py | 384 | print("Error: No operation data found in JSON") | CODE |
| MEDIUM | tools/plot_memtier_latency.py | 573 | print(f"Error: Input file '{input_file}' not found!") | CODE |
| LOW | tools/defrag_mem_test.py | 100 | except Exception as e: | CODE |
| LOW | tools/defrag_mem_test.py | 159 | except Exception as e: | CODE |
| MEDIUM | tools/defrag_mem_test.py | 76 | def stats_check(connection, condition): | CODE |
| LOW | tools/release_notes_generator.py | 941 | except Exception: | CODE |
| LOW | tools/release_notes_generator.py | 1163 | except Exception as e: | CODE |
| LOW | tools/release_notes_generator.py | 2087 | except Exception as e: | CODE |
| LOW | tools/cluster_mgr.py | 70 | except Exception as e: | CODE |
| LOW | tools/defrag_db.py | 41 | except Exception as e: | STRING |
| MEDIUM | tools/defrag_db.py | 47 | print("Error recycling", recycled) | STRING |
| LOW | tools/pubsub/stress.py | 402 | except Exception as e: | CODE |
| LOW | tools/pubsub/celery-test.py | 121 | except Exception: | CODE |
| LOW | tools/pubsub/celery-test.py | 209 | except Exception: | CODE |
| LOW | tools/pubsub/celery-test.py | 234 | except Exception: | CODE |
| LOW | tools/pubsub/celery-test.py | 311 | except Exception: | CODE |
| LOW | tools/pubsub/celery-test.py | 379 | except Exception as e: | CODE |
| LOW | tests/dragonfly/cluster_migration_test.py | 899 | except Exception: | CODE |
| LOW | tests/dragonfly/cluster_migration_test.py | 1014 | except Exception as e: | STRING |
| LOW | tests/dragonfly/cluster_migration_test.py | 1024 | except Exception as e: | STRING |
| LOW | tests/dragonfly/cluster_migration_test.py | 1067 | except Exception as e: | STRING |
| LOW | tests/dragonfly/cluster_migration_test.py | 1098 | except Exception as e: | STRING |
| LOW | tests/dragonfly/instance.py | 536 | except Exception: | CODE |
| LOW | tests/dragonfly/instance.py | 541 | except Exception as e: | CODE |
| LOW | tests/dragonfly/conftest.py | 154 | except Exception: | CODE |
| LOW | tests/dragonfly/conftest.py | 164 | except Exception: | CODE |
| LOW | tests/dragonfly/conftest.py | 397 | except Exception: | CODE |
| LOW | tests/dragonfly/conftest.py | 399 | except Exception as e: | CODE |
| LOW | tests/dragonfly/conftest.py | 444 | except Exception: | CODE |
| LOW | tests/dragonfly/search_benchmark_utils.py | 167 | except Exception as e: | CODE |
| LOW | tests/dragonfly/acl_family_test.py | 237 | except Exception as e: | CODE |
| LOW | tests/dragonfly/connection_test.py | 2452 | except Exception: | CODE |
| LOW | tests/dragonfly/connection_test.py | 2532 | except Exception: | CODE |
| LOW | tests/dragonfly/connection_test.py | 2547 | except Exception: | CODE |
| LOW | tests/dragonfly/connection_test.py | 242 | except Exception: | STRING |
| LOW | tests/dragonfly/utility.py | 737 | except Exception as e: | CODE |
| LOW | tests/dragonfly/eval_test.py | 495 | except Exception: | CODE |
| LOW | tests/dragonfly/eval_test.py | 506 | except Exception: | CODE |
| LOW | tests/dragonfly/shutdown_test.py | 125 | except Exception as e: | CODE |
| MEDIUM | tests/dragonfly/search_test.py | 923 | def test_redis_om(df_server): | CODE |
| LOW⚡ | tests/dragonfly/search_test.py | 1052 | except Exception: | CODE |
| LOW⚡ | tests/dragonfly/search_test.py | 1056 | except Exception: | CODE |
| LOW⚡ | tests/dragonfly/search_test.py | 1065 | except Exception: | CODE |
| LOW | tests/dragonfly/search_test.py | 1517 | except Exception as e: | CODE |
| MEDIUM | tests/dragonfly/snapshot_test.py | 320 | def save(): | CODE |
| MEDIUM | tests/dragonfly/snapshot_test.py | 335 | def save_operation(operation_id): | CODE |
| LOW⚡ | tests/dragonfly/snapshot_test.py | 324 | except Exception: | CODE |
| LOW⚡ | tests/dragonfly/snapshot_test.py | 339 | except Exception as e: | CODE |
| LOW | tests/dragonfly/snapshot_test.py | 293 | except Exception: | CODE |
| LOW | tests/dragonfly/snapshot_test.py | 826 | except Exception: | CODE |
| LOW | tests/dragonfly/snapshot_test.py | 925 | except Exception: | CODE |
| LOW | tests/dragonfly/snapshot_test.py | 939 | except Exception: | CODE |
| LOW⚡ | tests/dragonfly/replication_resilience_test.py | 1515 | except Exception as e: | STRING |
| LOW⚡ | tests/dragonfly/replication_resilience_test.py | 1525 | except Exception: | STRING |
| LOW | tests/dragonfly/replication_specific_test.py | 1584 | except Exception: | CODE |
| LOW | tests/dragonfly/replication_specific_test.py | 1596 | except Exception: | CODE |
| LOW | …fly/valkey_search/valkey_search_test_case_dragonfly.py | 91 | except Exception as e: | CODE |
| LOW⚡ | …fly/valkey_search/valkey_search_test_case_dragonfly.py | 107 | except Exception as e: | CODE |
| LOW | tests/dragonfly/valkey_search/util.py | 30 | except Exception: | CODE |
| 9 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/dragonfly/valkey_tcl/run-tcl-tests.sh | 3 | # Exits 0 only if every non-skipped test passes (harness returns 1 on any failure). | COMMENT |
| MEDIUM | tests/dragonfly/valkey_tcl/run-tcl-tests.sh | 6 | # Fail fast on any setup error; -e is relaxed only around the harness to capture its status. | COMMENT |
| MEDIUM | tests/dragonfly/valkey_tcl/run-tcl-tests.sh | 26 | # The harness's set_executable_path.tcl requires an executable src/valkey-server to exist, | COMMENT |
| MEDIUM | tests/dragonfly/valkey_tcl/run-tcl-tests.sh | 98 | # Feed the harness a clean skipfile (strip comments and blank lines). A missing skiplist would | COMMENT |
| MEDIUM⚡ | tests/dragonfly/valkey_tcl/run-tcl-tests.sh | 112 | # The enabled suites: only ones that run to completion against an unmodified upstream harness | COMMENT |
| MEDIUM⚡ | tests/dragonfly/valkey_tcl/run-tcl-tests.sh | 118 | # --timeout bounds a single stuck test (the harness aborts the run on timeout); the outer | COMMENT |
| MEDIUM⚡ | tests/dragonfly/valkey_tcl/run-tcl-tests.sh | 122 | set +e # capture the harness exit status instead of dying mid-report | CODE |
| MEDIUM | tests/dragonfly/valkey_tcl/sync-valkey-tcl-tests.sh | 2 | # Sync the Valkey TCL test harness + the enabled test files into ./upstream (gitignored), | COMMENT |
| MEDIUM | .github/workflows/ci.yml | 284 | # tcl runs the harness; redis-tools + iproute2 (ss) for the fail-closed readiness probe. | COMMENT |
| MEDIUM | fuzz/replay_crash.py | 317 | delivered = s.send(data) > 0 # one send() like the harness; a short write is not retried | CODE |
| MEDIUM | fuzz/replay_crash.py | 694 | with open(path, "rb") as f: # the harness never sent more than one buffer per iteration | CODE |
| MEDIUM | fuzz/replay_crash.py | 707 | if args.mode == "harness": # the harness neither retries nor pauses: it moves on | CODE |
| MEDIUM | fuzz/replay_crash.py | 744 | # it; harness mode keeps the fuzzer's pace and lets a later input observe the death. | COMMENT |
| MEDIUM | fuzz/replay_crash.py | 745 | # Without --pid a liveness check is a TCP probe, so harness mode never probes between | COMMENT |
| MEDIUM | fuzz/triage_crashes.sh | 10 | # 2. harness - only if pass 1 stayed alive: the exact fuzz-harness behaviour (send, one read, | COMMENT |
| MEDIUM | fuzz/triage_crashes.sh | 216 | # A previous pass may have run SAVE/BGSAVE; the fuzz harness always starts from an empty dir. | COMMENT |
| MEDIUM | fuzz/triage_crashes.sh | 443 | # --bind=127.0.0.1 keeps the unauthenticated replay server off the network (the harness | COMMENT |
| MEDIUM | fuzz/triage_crashes.sh | 452 | # Pass 1: drain. Pass 2 (harness) only if the server survived pass 1. A pass counts as | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/dragonfly/cluster_test_utils.py | 24 | # Create a generator object | COMMENT |
| MEDIUM | tests/dragonfly/connection_test.py | 786 | # Create a publisher that sends constantly messages to the channel | COMMENT |
| MEDIUM | tests/dragonfly/connection_test.py | 3926 | # Create a separate, continuous background task: open a second connection (pub) and constantly publish messages to | COMMENT |
| MEDIUM | tests/dragonfly/replication_config_test.py | 571 | # Create an empty hashmap | COMMENT |
| MEDIUM | tests/dragonfly/replication_config_test.py | 625 | # Create an empty hashmap | COMMENT |
| MEDIUM | tests/dragonfly/replication_config_test.py | 669 | # Create a search index with HNSW vector field on the new master | COMMENT |
| MEDIUM | tests/dragonfly/search_test.py | 1118 | # Create an index with all field types on master | COMMENT |
| MEDIUM | tests/dragonfly/replication_specific_test.py | 70 | # Create a new aux index on master | COMMENT |
| MEDIUM | tests/dragonfly/memory_test.py | 46 | # Create a Dragonfly and fill it up with `type` until it reaches `min_rss`, then make sure that | COMMENT |
| MEDIUM | …fly/valkey_search/valkey_search_test_case_dragonfly.py | 27 | """This class represents a Dragonfly instance as a valkey server node""" | STRING |
| MEDIUM | tests/dragonfly/valkey_search/__init__.py | 41 | # Create a mock module for valkey_search_test_case | COMMENT |
| MEDIUM⚡ | .github/workflows/docker-dev-release.yml | 136 | # Create a temporary container and copy the binary | COMMENT |
| MEDIUM⚡ | .github/workflows/docker-dev-release.yml | 141 | # Create a tar archive | COMMENT |
| MEDIUM | .github/workflows/ci.yml | 203 | # Create a rule that automatically prints stacktrace upon segfault | COMMENT |
| MEDIUM | …actions/builder/scripts/actions_cache_ccache_helper.sh | 3 | # This file is not standalone - source it from the builder action or cache-reaper workflow; | COMMENT |
| MEDIUM | …b/actions/builder/scripts/actions_cache_deps_helper.sh | 3 | # This file is not standalone - source it from the builder action | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/parse_allocator_tracking_logs.py | 13 | CODE | |
| LOW | tools/defrag_mem_test.py | 76 | CODE | |
| LOW | tools/release_notes_generator.py | 675 | CODE | |
| LOW | tools/cluster_mgr.py | 111 | CODE | |
| LOW | tools/cache_logs_player.py | 22 | CODE | |
| LOW | tools/ci_test_dashboard/build_dashboard.py | 111 | CODE | |
| LOW | tools/ci_test_dashboard/sync_dashboard.py | 152 | CODE | |
| LOW | tools/pubsub/stress.py | 109 | CODE | |
| LOW | tools/pubsub/stress.py | 381 | CODE | |
| LOW | tools/pubsub/stress.py | 150 | CODE | |
| LOW | tools/pubsub/stress.py | 229 | CODE | |
| LOW | tools/pubsub/stress.py | 153 | CODE | |
| LOW | tools/pubsub/celery-test.py | 97 | CODE | |
| LOW | tools/pubsub/celery-test.py | 190 | CODE | |
| LOW | tools/pubsub/celery-test.py | 252 | CODE | |
| LOW | tests/dragonfly/conftest.py | 110 | CODE | |
| LOW | tests/dragonfly/conftest.py | 680 | CODE | |
| LOW | tests/dragonfly/tiering_test.py | 490 | CODE | |
| LOW | tests/dragonfly/tiering_test.py | 523 | CODE | |
| LOW | tests/dragonfly/connection_test.py | 420 | CODE | |
| LOW | tests/dragonfly/connection_test.py | 664 | CODE | |
| LOW | tests/dragonfly/connection_test.py | 1640 | CODE | |
| LOW | tests/dragonfly/connection_test.py | 4074 | CODE | |
| LOW | tests/dragonfly/connection_test.py | 77 | CODE | |
| LOW | tests/dragonfly/connection_test.py | 4096 | CODE | |
| LOW | tests/dragonfly/utility.py | 270 | CODE | |
| LOW | tests/dragonfly/utility.py | 710 | CODE | |
| LOW | tests/dragonfly/utility.py | 982 | CODE | |
| LOW | tests/dragonfly/fake_node.py | 44 | CODE | |
| LOW | tests/dragonfly/cluster_migration_resilience_test.py | 97 | CODE | |
| LOW | tests/dragonfly/cluster_migration_resilience_test.py | 179 | CODE | |
| LOW | tests/dragonfly/replication_utils.py | 43 | CODE | |
| LOW | tests/dragonfly/seeder/__init__.py | 438 | CODE | |
| LOW | tests/dragonfly/seeder/__init__.py | 496 | CODE | |
| LOW | tests/fakeredis/test/test_hypothesis/base.py | 263 | CODE | |
| LOW | .github/scripts/publish-ci-dashboard-site-to-s3.py | 30 | CODE | |
| LOW | fuzz/resp_mutator.py | 381 | CODE | |
| LOW | fuzz/replay_crash.py | 163 | CODE | |
| LOW | fuzz/replay_crash.py | 188 | CODE | |
| LOW | fuzz/replay_crash.py | 334 | CODE | |
| LOW | fuzz/replay_crash.py | 606 | CODE | |
| LOW | fuzz/check_fuzz_coverage.py | 140 | CODE | |
| LOW | fuzz/memcache_mutator.py | 84 | CODE | |
| LOW | fuzz/memcache_mutator.py | 185 | CODE | |
| LOW | fuzz/memcache_mutator.py | 251 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tests/dragonfly/replication_specific_test.py | 381 | # Step 1: Populate master with 100 streams, each containing 200 entries | COMMENT |
| LOW⚡ | tests/dragonfly/replication_specific_test.py | 390 | # Step 2: Trim each stream to a random size between 70 and 200 | COMMENT |
| LOW | tests/dragonfly/replication_specific_test.py | 404 | # Step 3: Trim all streams to 0 | COMMENT |
| LOW | .claude/skills/benchmark-report/SKILL.md | 11 | ## Step 0: Interview before writing | COMMENT |
| LOW | .claude/skills/benchmark-report/SKILL.md | 39 | ## Step 1: Scan and parse | COMMENT |
| LOW | .claude/skills/benchmark-report/SKILL.md | 65 | ## Step 2: Identify systems under test | COMMENT |
| LOW | .claude/skills/benchmark-report/SKILL.md | 79 | ## Step 3: Generate charts | COMMENT |
| LOW | .claude/skills/benchmark-report/SKILL.md | 92 | ## Step 4: Write the report | COMMENT |
| LOW | .claude/skills/reproduce-fuzz-crash/SKILL.md | 21 | ### Step 1: Parse the URL | COMMENT |
| LOW | .claude/skills/reproduce-fuzz-crash/SKILL.md | 31 | ### Step 2: Download artifacts | COMMENT |
| LOW | .claude/skills/reproduce-fuzz-crash/SKILL.md | 56 | ### Step 3: Determine mode | COMMENT |
| LOW | .claude/skills/reproduce-fuzz-crash/SKILL.md | 62 | ### Step 4: Check Dragonfly binary | COMMENT |
| LOW | .claude/skills/reproduce-fuzz-crash/SKILL.md | 78 | ### Step 5: Run triage_crashes.sh | COMMENT |
| LOW | .claude/skills/reproduce-fuzz-crash/SKILL.md | 88 | ### Step 6: Analyze and report | COMMENT |
| LOW | docs/build-from-source.md | 8 | ## Step 1 - install dependencies | COMMENT |
| LOW | docs/build-from-source.md | 38 | ## Step 2 - clone the project | COMMENT |
| LOW | docs/build-from-source.md | 44 | ## Step 3 - configure & build it | COMMENT |
| LOW | docs/build-from-source.md | 92 | ## Step 4 - voilà | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/cache_testing.py | 3 | CODE | |
| LOW | tools/defrag_mem_test.py | 4 | CODE | |
| LOW | tools/defrag_mem_test.py | 5 | CODE | |
| LOW | tools/release_notes_generator.py | 30 | CODE | |
| LOW | tools/ci_test_dashboard/build_dashboard.py | 4 | CODE | |
| LOW | tools/ci_test_dashboard/sync_dashboard.py | 4 | CODE | |
| LOW | tools/eviction/fill_db.py | 43 | CODE | |
| LOW | tests/integration/async.py | 14 | CODE | |
| LOW | tests/fakeredis/test/test_transactions.py | 1 | CODE | |
| LOW | tests/fakeredis/test/test_json/test_json.py | 5 | CODE | |
| LOW | tests/fakeredis/test/test_json/test_json_commands.py | 3 | CODE | |
| LOW | tests/fakeredis/test/test_mixins/test_set_commands.py | 1 | CODE | |
| LOW | …sts/fakeredis/test/test_mixins/test_string_commands.py | 1 | CODE | |
| LOW | …/fakeredis/test/test_mixins/test_sortedset_commands.py | 1 | CODE | |
| LOW | tests/fakeredis/test/test_mixins/test_scripting.py | 1 | CODE | |
| LOW | tests/fakeredis/test/test_hypothesis/__init__.py | 12 | CODE | |
| LOW | tests/fakeredis/test/test_hypothesis/__init__.py | 13 | CODE | |
| LOW | tests/fakeredis/test/test_hypothesis/__init__.py | 14 | CODE | |
| LOW | tests/fakeredis/test/test_hypothesis/__init__.py | 15 | CODE | |
| LOW | tests/fakeredis/test/test_hypothesis/__init__.py | 16 | CODE | |
| LOW | tests/fakeredis/test/test_hypothesis/__init__.py | 17 | CODE | |
| LOW | tests/fakeredis/test/test_hypothesis/__init__.py | 18 | CODE | |
| LOW | tests/fakeredis/test/test_hypothesis/__init__.py | 19 | CODE | |
| LOW | .github/actions/builder/scripts/deps_cache_manifest.py | 28 | CODE | |
| LOW | src/core/generate_bin_sizes.py | 4 | CODE | |
| LOW | src/core/generate_bin_sizes.py | 5 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/plot_memtier_latency.py | 571 | # Check if input file exists | COMMENT |
| LOW | tools/balls_bins.py | 26 | # Check if any bin has K or more balls | COMMENT |
| LOW | tools/docker/healthcheck.sh | 10 | # Set trap to ensure cleanup runs on exit, regardless of how the script exits | COMMENT |
| LOW | tests/dragonfly/replication_specific_test.py | 781 | # Check if replica data is consistent | COMMENT |
| LOW⚡ | …fly/valkey_search/valkey_search_test_case_dragonfly.py | 102 | # Check if replicas are connected | COMMENT |
| LOW | tests/dragonfly/valkey_search/conftest.py | 9 | # Check if integration directory exists | COMMENT |
| LOW | tests/dragonfly/valkey_search/__init__.py | 13 | # Check if integration directory exists before attempting import | COMMENT |
| LOW | …ts/dragonfly/valkey_search/sync-valkey-search-tests.sh | 40 | # Check if the file doesn't already have 'from __future__ import annotations' | COMMENT |
| LOW⚡ | .github/workflows/docker-dev-release.yml | 126 | # Check if version starts with a release version (v*.*.*) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/generate-tls-files.sh | 6 | # Example usage: | COMMENT |
| LOW | .claude/skills/benchmark/scripts/capture_result.sh | 8 | # Usage: | COMMENT |
| LOW | .claude/skills/benchmark/scripts/monitor_fill.sh | 8 | # Usage: | COMMENT |
| LOW | .claude/skills/benchmark/scripts/bench_server.sh | 12 | # Usage: | COMMENT |
| LOW | fuzz/triage_crashes.sh | 13 | # Usage: | COMMENT |
| LOW | src/common/heap_size.h | 13 | // Example usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tests/dragonfly/replication_specific_test.py | 381 | # Step 1: Populate master with 100 streams, each containing 200 entries | COMMENT |
| LOW⚡ | tests/dragonfly/replication_specific_test.py | 390 | # Step 2: Trim each stream to a random size between 70 and 200 | COMMENT |
| LOW | tests/dragonfly/replication_specific_test.py | 404 | # Step 3: Trim all streams to 0 | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tools/json_benchmark.py | 30 | r.execute_command('JSON.SET', key, '.', '{"a":123456, "b": "hello", "nested": {"abc": "ffffff", "bfb": null}}') | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/dragonfly/acl_family_test.py | 617 | assert await user.execute_command("ZRANGE out 0 -1") == ["placeholder"] | STRING |
| LOW | …sts/fakeredis/test/test_json/test_json_arr_commands.py | 24 | assert r.json().arrlen("fake-key") is None | CODE |
| LOW | src/redis/crc64.c | 139 | char li[] = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed " | CODE |
| LOW | src/redis/crc64.c | 139 | char li[] = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed " | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tools/release_notes_generator.py | 99 | # generated files, large refactors) would otherwise dominate the context window | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/dragonfly/connection_test.py | 2687 | CODE | |
| LOW | tests/dragonfly/utility.py | 514 | CODE | |
| LOW | tests/dragonfly/seeder/__init__.py | 150 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tools/release_notes_generator.py | 129 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/fakeredis/test/test_hypothesis/__init__.py | 1 | __all__ = [ | CODE |