Repository Analysis

rustfs/rustfs

🚀2.3x faster than MinIO for 4KB object payloads. RustFS is an open-source, S3-compatible high-performance object storage system supporting migration and coexistence with other S3-compatible platforms such as MinIO and Ceph.

5.0 Low AI signal View on GitHub
5.0
Adjusted Score
5.0
Raw Score
100%
Time Factor
2026-05-30
Last Push
28,147
Stars
Rust
Language
488,119
Lines of Code
1348
Files
2143
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 7HIGH 0MEDIUM 79LOW 2057

Pattern Findings

2143 matches across 12 categories. Click a row to expand file-level details.

Over-Commented Block1894 hits · 1884 pts
SeverityFileLineSnippet
LOW_typos.toml1[default]
LOWCargo.toml1# Copyright 2024 RustFS Team
LOWdeny.toml1# cargo-deny configuration
LOWdeny.toml21ignore = [
LOWrustfmt.toml1# Copyright 2024 RustFS Team
LOWrustfmt.toml21#
LOWdocker-compose.decommission.yml1# Copyright 2024 RustFS Team
LOWdocker-buildx.sh1#!/usr/bin/env bash
LOWdocker-compose-simple.yml1# Copyright 2024 RustFS Team
LOWdocker-compose.yml1# Copyright 2024 RustFS Team
LOWrust-toolchain.toml1# Copyright 2024 RustFS Team
LOW.docker/compose/docker-compose.cluster.local-build.yml1# Copyright 2024 RustFS Team
LOW.docker/compose/docker-compose.cluster.yaml1# Copyright 2024 RustFS Team
LOW.docker/compose/docker-compose.observability.yaml1# Copyright 2024 RustFS Team
LOW…docker-compose.cluster.local-build.profiling-amd64.yml1# Copyright 2024 RustFS Team
LOW.docker/openobserve-otel/otel-collector-config.yaml1# Copyright 2024 RustFS Team
LOW.docker/openobserve-otel/docker-compose.yml1# Copyright 2024 RustFS Team
LOW.docker/observability/jaeger.yaml1# Copyright 2024 RustFS Team
LOW.docker/observability/loki.yaml1# Copyright 2024 RustFS Team
LOW…er/observability/docker-compose-example-for-rustfs.yml1# Copyright 2024 RustFS Team
LOW…ker/observability/docker-compose-tempo-ha-override.yml1# Copyright 2024 RustFS Team
LOW.docker/observability/otel-collector-config.yaml1# Copyright 2024 RustFS Team
LOW.docker/observability/docker-compose.yml1# Copyright 2024 RustFS Team
LOW.docker/observability/tempo.yaml1# Copyright 2024 RustFS Team
LOW.docker/observability/tempo-ha.yaml1# Copyright 2024 RustFS Team
LOW.docker/observability/prometheus.yml1# Copyright 2024 RustFS Team
LOW…lity/grafana/provisioning/datasources/datasources.yaml1# Copyright 2024 RustFS Team
LOW…vability/grafana/provisioning/dashboards/dashboard.yml1# Copyright 2024 RustFS Team
LOW.docker/mqtt/docker-compose.yml1# Copyright 2024 RustFS Team
LOW.docker/mqtt/docker-compose-more.yml1# Copyright 2024 RustFS Team
LOWcrates/io-core/Cargo.toml1# Copyright 2024 RustFS Team
LOWcrates/io-core/examples/scheduler_example.rs1// Copyright 2024 RustFS Team
LOWcrates/io-core/src/bufreader_optimizer.rs1// Copyright 2024 RustFS Team
LOWcrates/io-core/src/bufreader_optimizer.rs121/// and should not be wrapped with additional BufReader layers.
LOWcrates/io-core/src/lock_optimizer.rs1// Copyright 2024 RustFS Team
LOWcrates/io-core/src/config.rs1// Copyright 2024 RustFS Team
LOWcrates/io-core/src/shared_memory.rs1// Copyright 2024 RustFS Team
LOWcrates/io-core/src/direct_io.rs1// Copyright 2024 RustFS Team
LOWcrates/io-core/src/direct_io.rs21//!
LOWcrates/io-core/src/direct_io.rs81///
LOWcrates/io-core/src/direct_io.rs121 /// Alignment requirement for reads (512 bytes for most systems)
LOWcrates/io-core/src/lib.rs1// Copyright 2024 RustFS Team
LOWcrates/io-core/src/lib.rs21//!
LOWcrates/io-core/src/io_profile.rs1// Copyright 2024 RustFS Team
LOWcrates/io-core/src/backpressure.rs1// Copyright 2024 RustFS Team
LOWcrates/io-core/src/timeout_wrapper.rs1// Copyright 2024 RustFS Team
LOWcrates/io-core/src/scheduler.rs1// Copyright 2024 RustFS Team
LOWcrates/io-core/src/scheduler.rs461
LOWcrates/io-core/src/scheduler.rs521
LOWcrates/io-core/src/scheduler.rs601/// # Arguments
LOWcrates/io-core/src/pool.rs1// Copyright 2024 RustFS Team
LOWcrates/io-core/src/pool.rs21use std::mem::ManuallyDrop;
LOWcrates/io-core/src/pool.rs41/// # Example
LOWcrates/io-core/src/pool.rs81 /// Pool name for metrics
LOWcrates/io-core/src/pool.rs161 /// - Medium: 64KB buffers, max 500 concurrent
LOWcrates/io-core/src/pool.rs201 medium_pool,
LOWcrates/io-core/src/pool.rs221 /// # Example
LOWcrates/io-core/src/pool.rs241 ///
LOWcrates/io-core/src/io_priority_queue.rs1// Copyright 2024 RustFS Team
LOWcrates/io-core/src/writer.rs1// Copyright 2024 RustFS Team
1834 more matches not shown…
Decorative Section Separators75 hits · 252 pts
SeverityFileLineSnippet
MEDIUMcrates/s3select-api/src/object_store.rs952 // ── 3. Yield phase (one Bytes per NDJSON line) ───────────────────
MEDIUMcrates/s3select-api/src/object_store.rs1365 // ── sub-path navigation tests ─────────────────────────────────────────
MEDIUMcrates/s3select-api/src/object_store.rs1406 // ── SQL path extraction tests ─────────────────────────────────────────
MEDIUMcrates/ecstore/src/error.rs36 // ── Disk / Volume ────────────────────────────────────────────────
MEDIUMcrates/ecstore/src/error.rs80 // ── Bucket ───────────────────────────────────────────────────────
MEDIUMcrates/ecstore/src/error.rs90 // ── Object ───────────────────────────────────────────────────────
MEDIUMcrates/ecstore/src/error.rs110 // ── Multipart ────────────────────────────────────────────────────
MEDIUMcrates/ecstore/src/error.rs124 // ── Erasure / Quorum ─────────────────────────────────────────────
MEDIUMcrates/ecstore/src/error.rs138 // ── Operational ──────────────────────────────────────────────────
MEDIUMcrates/ecstore/src/error.rs172 // ── Generic ──────────────────────────────────────────────────────
MEDIUMcrates/obs/src/config.rs104 // ── OTLP export ──────────────────────────────────────────────────────────
MEDIUMcrates/obs/src/config.rs160 // ── Local logging ─────────────────────────────────────────────────────────
MEDIUMcrates/obs/src/config.rs180 // ── Log cleanup ───────────────────────────────────────────────────────────
MEDIUMcrates/obs/src/telemetry/rolling.rs357 // ── Construction ──────────────────────────────────────────────────────────
MEDIUMcrates/obs/src/telemetry/rolling.rs407 // ── Basic writes ──────────────────────────────────────────────────────────
MEDIUMcrates/obs/src/telemetry/rolling.rs422 // ── Size-based rotation ────────────────────────────────────────────────────
MEDIUMcrates/obs/src/telemetry/rolling.rs465 // ── Archive filename format ────────────────────────────────────────────────
MEDIUMcrates/obs/src/telemetry/rolling.rs527 // ── Restart with existing file ─────────────────────────────────────────────
MEDIUMcrates/obs/src/telemetry/local.rs112// ─── Stdout-only ─────────────────────────────────────────────────────────────
MEDIUMcrates/obs/src/telemetry/local.rs166// ─── File-rolling ─────────────────────────────────────────────────────────────
MEDIUMcrates/obs/src/telemetry/local.rs187 // ── 1. Ensure the log directory exists ───────────────────────────────────
MEDIUMcrates/obs/src/telemetry/local.rs192 // ── 2. Enforce directory permissions (Unix only) ─────────────────────────
MEDIUMcrates/obs/src/telemetry/local.rs196 // ── 3. Choose rotation strategy ──────────────────────────────────────────
MEDIUMcrates/obs/src/telemetry/local.rs224 // ── 4. Build subscriber layers ────────────────────────────────────────────
MEDIUMcrates/obs/src/telemetry/local.rs280 // ── 5. Start background cleanup task ─────────────────────────────────────
MEDIUMcrates/obs/src/telemetry/local.rs300// ─── Directory permissions (Unix) ─────────────────────────────────────────────
MEDIUMcrates/obs/src/telemetry/local.rs359// ─── Cleanup task ─────────────────────────────────────────────────────────────
MEDIUMcrates/obs/src/telemetry/otel.rs105 // ── Resource & sampling ──────────────────────────────────────────────────
MEDIUMcrates/obs/src/telemetry/otel.rs114 // ── Endpoint resolution ───────────────────────────────────────────────────
MEDIUMcrates/obs/src/telemetry/otel.rs161 // ── Tracer provider (HTTP) ────────────────────────────────────────────────
MEDIUMcrates/obs/src/telemetry/otel.rs164 // ── Meter provider (HTTP) ─────────────────────────────────────────────────
MEDIUMcrates/obs/src/telemetry/otel.rs170 // ── Logger Logic ──────────────────────────────────────────────────────────
MEDIUMcrates/obs/src/telemetry/otel.rs271 // ── Tracing subscriber registry ───────────────────────────────────────────
MEDIUMcrates/obs/src/telemetry/otel.rs325// ─── Private builder helpers ──────────────────────────────────────────────────
MEDIUMcrates/obs/src/telemetry/mod.rs88 // ── Rule 1: OpenTelemetry HTTP pipeline ───────────────────────────────────
MEDIUMcrates/obs/src/telemetry/mod.rs99 // ── Rule 2 & 3: Local logging (file or stdout) ────────────────────────────
MEDIUMcrates/heal/tests/heal_integration_test.rs190 // ─── 1️⃣ delete single data shard file ─────────────────────────────────────
MEDIUMcrates/heal/tests/heal_integration_test.rs246 // ─── 1️⃣ delete bucket dir on disk ──────────────
MEDIUMcrates/heal/tests/heal_integration_test.rs301 // ─── 3️⃣ Verify bucket directory is restored on every disk ───────
MEDIUMcrates/heal/tests/heal_integration_test.rs312 // ─── 1️⃣ delete format.json on one disk ──────────────
MEDIUMcrates/heal/tests/heal_integration_test.rs327 // ─── 2️⃣ verify format.json is restored ───────
MEDIUMcrates/heal/tests/heal_integration_test.rs355 // ─── 1️⃣ delete format.json on one disk ──────────────
MEDIUMcrates/heal/tests/heal_integration_test.rs392 // ─── 3️⃣ verify format.json is restored ───────
MEDIUMcrates/heal/tests/heal_integration_test.rs396 // ─── 3️⃣ verify each part file is restored ───────
MEDIUMcrates/s3select-query/src/test/integration_test.rs284 // ──────────────────────────────────────────────
MEDIUMcrates/s3select-query/src/test/integration_test.rs287 // ──────────────────────────────────────────────
MEDIUMscripts/run.sh115# ============================================================================
MEDIUMscripts/run.sh117# ============================================================================
MEDIUMscripts/run.sh296# ============================================================================
MEDIUMscripts/run.sh298# ============================================================================
MEDIUMscripts/run.sh407# ============================================
MEDIUMscripts/run.sh409# ============================================
MEDIUMscripts/run.sh495# ============================================================================
MEDIUMscripts/run.sh497# ============================================================================
MEDIUMscripts/run.sh508# ============================================================================
MEDIUMscripts/run.sh510# ============================================================================
MEDIUMscripts/run.sh528# ============================================================================
MEDIUMscripts/run.sh530# ============================================================================
MEDIUMscripts/s3-tests/non_standard_tests.txt2# =========================================================
MEDIUMscripts/s3-tests/run.sh72# =============================================================================
15 more matches not shown…
Verbosity Indicators116 hits · 185 pts
SeverityFileLineSnippet
LOWcrates/kms/examples/kms_vault_kv_demo.rs49 // Step 1: Initialize global KMS service manager
LOWcrates/kms/examples/kms_vault_kv_demo.rs54 // Step 2: Get Vault configuration from environment or use defaults
LOWcrates/kms/examples/kms_vault_kv_demo.rs68 // Step 3: Configure KMS with Vault backend
LOWcrates/kms/examples/kms_vault_kv_demo.rs76 // Step 4: Start the KMS service
LOWcrates/kms/examples/kms_vault_kv_demo.rs81 // Step 5: Get the encryption service
LOWcrates/kms/examples/kms_vault_kv_demo.rs88 // Step 6: Create a master key (stored in Vault) or use existing one
LOWcrates/kms/examples/kms_vault_kv_demo.rs137 // Step 7: Describe the key (retrieved from Vault)
LOWcrates/kms/examples/kms_vault_kv_demo.rs151 // Step 8: Generate a data encryption key (OPTIONAL - for demonstration only)
LOWcrates/kms/examples/kms_vault_kv_demo.rs182 // Step 9: Encrypt some data using high-level API
LOWcrates/kms/examples/kms_vault_kv_demo.rs221 // Step 10: Decrypt the data using high-level API
LOWcrates/kms/examples/kms_vault_kv_demo.rs249 // Step 11: List all keys (from Vault)
LOWcrates/kms/examples/kms_vault_kv_demo.rs264 // Step 12: Check cache statistics
LOWcrates/kms/examples/kms_vault_kv_demo.rs274 // Step 13: Health check (verifies Vault connectivity)
LOWcrates/kms/examples/kms_vault_kv_demo.rs279 // Step 14: Stop the service
LOWcrates/kms/examples/kms_local_demo.rs43 // Step 1: Initialize global KMS service manager
LOWcrates/kms/examples/kms_local_demo.rs48 // Step 2: Create a temporary directory for local backend
LOWcrates/kms/examples/kms_local_demo.rs56 // Step 3: Configure KMS with local backend
LOWcrates/kms/examples/kms_local_demo.rs64 // Step 4: Start the KMS service
LOWcrates/kms/examples/kms_local_demo.rs69 // Step 5: Get the encryption service
LOWcrates/kms/examples/kms_local_demo.rs76 // Step 6: Create a master key
LOWcrates/kms/examples/kms_local_demo.rs101 // Step 7: Describe the key
LOWcrates/kms/examples/kms_local_demo.rs115 // Step 8: Generate a data encryption key (OPTIONAL - for demonstration only)
LOWcrates/kms/examples/kms_local_demo.rs146 // Step 9: Encrypt some data using high-level API
LOWcrates/kms/examples/kms_local_demo.rs185 // Step 10: Decrypt the data using high-level API
LOWcrates/kms/examples/kms_local_demo.rs213 // Step 11: List all keys
LOWcrates/kms/examples/kms_local_demo.rs228 // Step 12: Check cache statistics
LOWcrates/kms/examples/kms_local_demo.rs238 // Step 13: Health check
LOWcrates/kms/examples/kms_local_demo.rs243 // Step 14: Stop the service
LOWcrates/heal/src/heal/task.rs441 // Step 1: Check if object exists and get metadata
LOWcrates/heal/src/heal/task.rs468 // Step 2: directly call ecstore to perform heal
LOWcrates/heal/src/heal/task.rs526 // Step 3: Verify heal result
LOWcrates/heal/src/heal/task.rs644 // Step 1: Check if bucket exists
LOWcrates/heal/src/heal/task.rs660 // Step 2: Perform bucket heal using ecstore
LOWcrates/heal/src/heal/task.rs812 // Step 1: Check if object exists
LOWcrates/heal/src/heal/task.rs834 // Step 2: Perform metadata heal using ecstore
LOWcrates/heal/src/heal/task.rs915 // Step 1: Perform MRF heal using ecstore
LOWcrates/heal/src/heal/task.rs980 // Step 1: Check if object exists
LOWcrates/heal/src/heal/task.rs1002 // Step 2: Perform EC decode heal using ecstore
LOWcrates/heal/src/heal/task.rs1082 // Step 1: Perform disk format heal using ecstore
LOWcrates/heal/src/heal/task.rs1124 // Step 2: Get disk for resume functionality
LOWcrates/heal/src/heal/task.rs1135 // Step 3: Heal bucket structure
LOWcrates/heal/src/heal/task.rs1190 // Step 4: Execute erasure set heal with resume
LOWcrates/e2e_test/src/special_chars_test.rs445 // Step 1: Upload file (like `mc cp README.md "local/dummy/a%20f+/b/c/3/README.md"`)
LOWcrates/e2e_test/src/special_chars_test.rs456 // Step 2: Navigate to folder (like navigating to "%20f+/" in UI)
LOWcrates/e2e_test/src/special_chars_test.rs479 // Step 3: List deeper (like `mc ls "local/dummy/a%20f+/b/c/3/"`)
LOWcrates/e2e_test/src/kms/multipart_encryption_test.rs29/// Step 1: Test the basic single-file encryption function (ensure that SSE-S3 works properly in non-sharded scenarios)
LOWcrates/e2e_test/src/kms/multipart_encryption_test.rs86/// Step 2: Test the unencrypted shard upload (make sure the shard upload base is working properly)
LOWcrates/e2e_test/src/kms/multipart_encryption_test.rs114 // Step 1: Create a sharded upload
LOWcrates/e2e_test/src/kms/multipart_encryption_test.rs125 // Step 2: Upload individual shards
LOWcrates/e2e_test/src/kms/multipart_encryption_test.rs155 // Step 3: Complete the shard upload
LOWcrates/e2e_test/src/kms/multipart_encryption_test.rs172 // Step 4: Download and verify
LOWcrates/e2e_test/src/kms/multipart_encryption_test.rs185/// Step 3: Test Shard Upload + SSE-S3 Encryption (Focus Test)
LOWcrates/e2e_test/src/kms/multipart_encryption_test.rs213 // Step 1: Create a shard upload and enable SSE-S3
LOWcrates/e2e_test/src/kms/multipart_encryption_test.rs233 // Step 2: Upload individual shards
LOWcrates/e2e_test/src/kms/multipart_encryption_test.rs263 // Step 3: Complete the shard upload
LOWcrates/e2e_test/src/kms/multipart_encryption_test.rs280 // Step 4: HEAD request to inspect metadata
LOWcrates/e2e_test/src/kms/multipart_encryption_test.rs287 // Step 5: GET request to download and verify
LOWcrates/e2e_test/src/kms/multipart_encryption_test.rs309/// Step 4: test larger multipart uploads (streaming encryption)
LOWcrates/e2e_test/src/kms/multipart_encryption_test.rs435/// Step 5: test multipart uploads for every encryption mode
LOW…tes/e2e_test/src/kms/bucket_default_encryption_test.rs44 // Step 1: Set bucket default encryption to SSE-S3
56 more matches not shown…
Hallucination Indicators7 hits · 70 pts
SeverityFileLineSnippet
CRITICALcrates/s3select-api/src/query/session.rs75 let data_bytes: Vec<u8> = if context.input.request.input_serialization.parquet.is_some() {
CRITICALcrates/s3select-api/src/query/session.rs77 } else if context.input.request.input_serialization.json.is_some() {
CRITICALcrates/s3select-query/src/dispatcher/manager.rs169 if let Some(csv) = self.input.request.input_serialization.csv.as_ref() {
CRITICALcrates/s3select-query/src/dispatcher/manager.rs221 } else if self.input.request.input_serialization.parquet.is_some() {
CRITICALcrates/s3select-query/src/dispatcher/manager.rs224 } else if self.input.request.input_serialization.json.is_some() {
CRITICALcrates/protocols/src/sftp/driver.rs976 let access_key = self.session_context.principal.user_identity.credentials.access_key.clone();
CRITICALcrates/protocols/src/sftp/driver.rs977 let secret_key = self.session_context.principal.user_identity.credentials.secret_key.clone();
Redundant / Tautological Comments29 hits · 43 pts
SeverityFileLineSnippet
LOWdocker-buildx.sh64# Check if Docker buildx is available
LOWdocker-buildx.sh78 # Check if builder exists
LOWbuild-rustfs.sh257 # Check if console assets already exist
LOWbuild-rustfs.sh348 # Check if binary exists
LOWbuild-rustfs.sh354 # Check if binary is executable
LOWbuild-rustfs.sh377 # Check if it's a valid ELF/Mach-O binary
LOWbuild-rustfs.sh413 # Check if we need cross-compilation
LOWbuild-rustfs.sh607 # Check if we're in a Rust project
LOWentrypoint.sh43 # Check if START and END are numbers
LOWentrypoint.sh121# Check if any argument looks like a data path (starts with / and not an option)
LOWcrates/notify/src/global.rs93 /// # Return value
LOWcrates/notify/src/global.rs129 /// # Return value
LOWcrates/notify/src/global.rs173 /// # Return value
LOWcrates/notify/src/global.rs206 /// # Return value
LOWscripts/run_e2e_tests.sh87# Set trap to cleanup on exit
LOWscripts/run_e2e_tests.sh153 # Check if process is still running first (faster check)
LOWscripts/test/delete_xldir_simple.sh13# Check if path exists
LOWscripts/test/delete_xldir.sh61# Check if path is provided
LOWscripts/test/delete_xldir.sh67# Check if path exists
LOWscripts/s3-tests/run.sh136# Set TESTEXPR to override this with a custom pytest -k expression.
LOWscripts/s3-tests/run.sh353 # Check if we should skip compilation
LOWscripts/s3-tests/run.sh504# Check if log file indicates server is started (most reliable method)
LOWscripts/s3-tests/run.sh589 # Check if server is still running
LOWscripts/s3-tests/run.sh661# Check if template exists
LOW.github/workflows/docker.yml73 # Check if we should build Docker images
LOW.github/workflows/docker.yml108 # Check if the triggering workflow was successful
LOW.github/workflows/docker.yml132 # Check if this was triggered by a tag push
LOW.github/workflows/build.yml108 # Check if this is a prerelease
LOW.github/workflows/build.yml642 # Check if release already exists
Fake / Example Data13 hits · 13 pts
SeverityFileLineSnippet
LOWcrates/crypto/src/jwt/tests.rs176 "sub": "user@example.com",
LOWcrates/crypto/src/jwt/tests.rs177 "name": "John Doe",
LOWcrates/trusted-proxies/tests/unit/validation_tests.rs20 assert!(ValidationUtils::is_valid_email("user@example.com"));
LOWcrates/iam/src/oidc.rs1339 claims.insert("email".to_string(), serde_json::json!("user@example.com"));
LOWcrates/iam/src/oidc.rs1342 assert_eq!(extract_string_claim(&claims, "email"), "user@example.com");
LOWcrates/iam/src/oidc.rs1464 let payload = r#"{"sub":"user123","email":"user@example.com"}"#;
LOWcrates/iam/src/oidc.rs1470 assert_eq!(claims.get("email").and_then(|v| v.as_str()), Some("user@example.com"));
LOWcrates/iam/src/oidc.rs1760 email: "user@example.com".to_string(),
LOWcrates/iam/src/oidc.rs1785 email: "user@example.com".to_string(),
LOWcrates/iam/src/oidc.rs1798 assert_eq!(deserialized.email, "user@example.com");
LOWcrates/iam/src/oidc.rs1977 email: "user@example.com".to_string(),
LOWcrates/iam/src/utils.rs205 sub: "user@example.com".to_string(),
LOWcrates/s3select-query/src/sql/parser.rs345 let sql = "SELECT * FROM S3Object WHERE name = 'John Doe' AND department = 'IT'";
Self-Referential Comments2 hits · 6 pts
SeverityFileLineSnippet
MEDIUM.github/workflows/build.yml387 # Create the zip package
MEDIUM.github/workflows/build.yml665 # Create the release
Example Usage Blocks2 hits · 3 pts
SeverityFileLineSnippet
LOW…ker/observability/docker-compose-tempo-ha-override.yml17# Usage:
LOWcrates/targets/src/target/mod.rs298/// Example usage:
Slop Phrases1 hit · 3 pts
SeverityFileLineSnippet
MEDIUMcrates/protocols/src/swift/formpost.rs257/// This is a basic implementation that extracts form fields and file uploads.
AI Slop Vocabulary1 hit · 3 pts
SeverityFileLineSnippet
MEDIUMscripts/s3-tests/run.sh41# Compatibility default for the s3-tests harness:
Unused Imports2 hits · 2 pts
SeverityFileLineSnippet
LOWscripts/s3-tests/compare_dual_targets.py4
LOWscripts/s3-tests/compare_dual_targets.py20
Excessive Try-Catch Wrapping1 hit · 1 pts
SeverityFileLineSnippet
LOWscripts/s3-tests/compare_dual_targets.py411 except Exception as exc: # noqa: BLE001