SeaweedFS is a distributed storage system for object storage (S3), file systems, and Iceberg tables, designed to handle billions of files with O(1) disk access and effortless horizontal scaling.
This report summarizes scanner evidence for seaweedfs/seaweedfs, a Go project with 35,840 GitHub stars. SynthScan examined 1,214,456 lines of code across 4155 source files, recording 1690 pattern matches distributed across 22 syntactic categories. The legacy adjusted pattern signal is 2.1 (Low 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.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 1447 finding(s).
Are imports declared and package/API names verified? 62 finding(s).
Are wrappers, guards, and repeated structures necessary? 231 finding(s).
Which changes need focused human review? 1690 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 1690 distinct pattern matches across 22 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 | install.sh | 1 | #!/bin/bash | COMMENT |
| LOW | S3_LIFECYCLE_REDESIGN.md | 381 | COMMENT | |
| LOW | S3_LIFECYCLE_REDESIGN.md | 581 | // One probe per task entry: which per-filer log shards exist, what's the earliest | COMMENT |
| LOW | S3_LIFECYCLE_REDESIGN.md | 601 | // reseeding via lazy-seeding when F reappears. Safe to delete cursor[F]. | COMMENT |
| LOW | S3_LIFECYCLE_REDESIGN.md | 621 | // 2. Surface `lifecycle_lost_log_total{filer_id}` and | COMMENT |
| LOW | S3_LIFECYCLE_REDESIGN.md | 1521 | // RetryTarget carries the routing/identification fields needed to (a) write a | COMMENT |
| LOW | terraform/test/local/run_local_cluster.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | terraform/modules/core/variables.tf | 1 | # ============================================================================= | COMMENT |
| LOW | weed/operation/assign_file_id.go | 81 | // ResourceExhausted: the master is shedding because volume growth | COMMENT |
| LOW | weed/s3api/auth_security_test.go | 381 | assert.NotEqual(t, s3err.ErrNone, errCode, "Expected signature verification to fail") | COMMENT |
| LOW | weed/s3api/s3api_bucket_config.go | 1041 | // (e.g., simultaneous tag and CORS updates), the last write may overwrite previous changes. | COMMENT |
| LOW | weed/s3api/chunked_reader_v4.go | 301 | } else if cr.chunkSignature != "" { | COMMENT |
| LOW | weed/s3api/chunked_reader_v4.go | 381 | // Update bytes to be read of the current chunk before verifying chunk's signature. | COMMENT |
| LOW | weed/s3api/auth_credentials.go | 201 | if claimed, taken := emailAccount[account.EmailAddress]; taken && claimed.Id != account.Id { | COMMENT |
| LOW | weed/s3api/auth_credentials.go | 681 | } | COMMENT |
| LOW | weed/s3api/auth_credentials.go | 1421 | } | COMMENT |
| LOW | weed/s3api/auth_credentials.go | 2001 | COMMENT | |
| LOW | weed/s3api/auth_credentials.go | 2601 | // SetIAMIntegration sets the IAM integration for advanced authentication and authorization. | COMMENT |
| LOW | weed/s3api/auth_credentials.go | 3061 | // authorizeObjectKeyAction authorizes action on bucket/objectKey for an | COMMENT |
| LOW | weed/s3api/s3api_object_handlers_rename.go | 21 | COMMENT | |
| LOW | weed/s3api/s3api_object_handlers_rename.go | 201 | // pickRenameSource resolves which reading of the source header the bucket | COMMENT |
| LOW | weed/s3api/s3api_versioning_heal_log_test.go | 21 | // public functions don't panic and that the format strings work. | COMMENT |
| LOW | weed/s3api/s3api_versioning_heal_log_test.go | 101 | COMMENT | |
| LOW | weed/s3api/s3api_object_handlers_put.go | 1201 | // Unresolvable lookups fail the same way; only a proven-absent entry with | COMMENT |
| LOW | weed/s3api/s3api_object_handlers_put.go | 1581 | // parseRequestQuery returns the parsed query for a request, or nil if there | COMMENT |
| LOW | weed/s3api/s3api_object_handlers_put.go | 1781 | return s3err.ErrServiceUnavailable | COMMENT |
| LOW | weed/s3api/s3api_object_handlers_put.go | 1861 | entry.Extended = make(map[string][]byte) | COMMENT |
| LOW | weed/s3api/s3api_object_handlers_put.go | 1941 | glog.V(2).Infof("putSuspendedVersioningObject: applied bucket default retention mode: %s", string(modeBytes)) | COMMENT |
| LOW | weed/s3api/s3api_object_handlers_put.go | 2061 | // Stamp the demoted version BEFORE the .versions/ pointer | COMMENT |
| LOW | weed/s3api/s3api_object_handlers_put.go | 2221 | // This version is born noncurrent: stamp it so the lifecycle engine | COMMENT |
| LOW | weed/s3api/s3api_object_handlers_put.go | 2941 | } | COMMENT |
| LOW | weed/s3api/s3api_internal_lifecycle.go | 401 | } | COMMENT |
| LOW | weed/s3api/sts_params_test.go | 141 | // The Router does not match "/" for STS because Action is not in query. | COMMENT |
| LOW | weed/s3api/s3api_object_handlers_list.go | 1061 | // glog.V(4).Infof("doListFilerEntries dir: %s, prefix: %s, marker %s, maxKeys: %d, prefixEndsOnDelimiter: %+v", dir, p | COMMENT |
| LOW | weed/s3api/s3api_object_handlers_list.go | 1421 | hiddenProbeBudget = 10000 | COMMENT |
| LOW | weed/s3api/s3api_tables.go | 661 | // and in the X-Amz-Credential query parameter for presigned requests. | COMMENT |
| LOW | weed/s3api/s3api_handlers.go | 41 | client := filer_pb.NewSeaweedFilerClient(grpcConnection) | COMMENT |
| LOW | weed/s3api/s3_validation_utils.go | 41 | COMMENT | |
| LOW | weed/s3api/s3_action_resolver.go | 21 | // - bucket: Bucket name from the request path | COMMENT |
| LOW | …ed/s3api/s3api_object_handlers_copy_collection_test.go | 41 | // collection, so the entry write is unaffected either way. | COMMENT |
| LOW | weed/s3api/s3_iam_middleware.go | 401 | } | COMMENT |
| LOW | weed/s3api/s3_iam_middleware.go | 521 | COMMENT | |
| LOW | weed/s3api/auth_signature_v4.go | 1 | /* | COMMENT |
| LOW | weed/s3api/auth_signature_v4.go | 1301 | 'a' <= s && s <= 'z' || | COMMENT |
| LOW | weed/s3api/s3api_object_versioning.go | 41 | delete(extended, s3_constants.ExtLatestVersionOwnerKey) | COMMENT |
| LOW | weed/s3api/s3api_object_versioning.go | 621 | // A sibling directory that is a prefix of the marker up to a byte below '0' | COMMENT |
| LOW | weed/s3api/s3api_object_versioning.go | 1361 | // repointLatestBeforeDeletion is the "option 1" pre-step for deleting a | COMMENT |
| LOW | weed/s3api/s3api_object_versioning.go | 1561 | // | COMMENT |
| LOW | weed/s3api/s3api_object_versioning.go | 1641 | // | COMMENT |
| LOW | weed/s3api/s3api_object_versioning.go | 1761 | }) | COMMENT |
| LOW | weed/s3api/s3api_object_versioning.go | 1801 | } | COMMENT |
| LOW | weed/s3api/s3api_object_versioning.go | 1821 | // caller. If they have changed, abort. | COMMENT |
| LOW | weed/s3api/s3api_object_versioning.go | 2221 | // points to a version file that no longer exists. It paginates the directory, | COMMENT |
| LOW | weed/s3api/s3api_object_versioning.go | 2241 | // | COMMENT |
| LOW | weed/s3api/s3api_object_versioning.go | 2261 | } else { | COMMENT |
| LOW | weed/s3api/s3api_object_versioning.go | 2321 | versioningHealInfof("healed", "bucket=%s key=%s mode=pointer_repaired new_version=%s file=%s delete_marker=%v", bucket | COMMENT |
| LOW | weed/s3api/s3api_object_versioning.go | 2561 | return true | COMMENT |
| LOW | weed/s3api/s3api_bucket_policy_engine.go | 101 | // EvaluatePolicy evaluates whether an action is allowed by bucket policy | COMMENT |
| LOW | weed/s3api/s3api_object_versioned_finalize.go | 101 | COMMENT | |
| LOW | weed/s3api/s3api_object_versioned_finalize.go | 281 | } | COMMENT |
| 783 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | weed/s3api/auth_security_test.go | 356 | // Step 1: Sign a request targeting the client-facing URL using real AWS SDK signer | COMMENT |
| LOW⚡ | weed/s3api/auth_security_test.go | 364 | // Step 2: Create a separate request as the proxy would deliver it | COMMENT |
| LOW⚡ | weed/s3api/auth_security_test.go | 374 | // Step 3: Verify | COMMENT |
| LOW⚡ | weed/s3api/auth_security_test.go | 516 | // Step 1: Sign a request using the real AWS SDK v2 signer. | COMMENT |
| LOW⚡ | weed/s3api/auth_security_test.go | 525 | // Step 2: Build the request as the proxy would deliver it to SeaweedFS. | COMMENT |
| LOW⚡ | weed/s3api/auth_security_test.go | 545 | // Step 3: Verify extractHostHeader returns the expected value. | COMMENT |
| LOW⚡ | weed/s3api/auth_security_test.go | 552 | // Step 4: Verify the full signature matches. | COMMENT |
| LOW | weed/s3api/s3api_object_handlers_put.go | 750 | // Step 3: Calculate MD5 hash and add SSE metadata to chunks | COMMENT |
| LOW | weed/s3api/s3api_object_handlers_put.go | 849 | // Step 4: Create metadata entry | COMMENT |
| LOW | weed/s3api/s3api_object_handlers_put.go | 991 | // Step 4: Save metadata to filer via gRPC | COMMENT |
| LOW | weed/s3api/s3api_object_handlers_copy.go | 2746 | // Step 1: Decrypt source data | COMMENT |
| LOW | weed/s3api/s3api_object_handlers_copy.go | 2843 | // Step 2: Re-encrypt with destination encryption (if any) | COMMENT |
| LOW | weed/s3api/s3_sse_s3_integration_test.go | 47 | // Step 1: Encrypt (simulates what happens during PUT) | COMMENT |
| LOW | weed/s3api/s3_sse_s3_integration_test.go | 72 | // Step 2: Simulate storage (inline file - no chunks) | COMMENT |
| LOW | weed/s3api/s3_sse_s3_integration_test.go | 83 | // Step 3: Decrypt (simulates what happens during GET) | COMMENT |
| LOW⚡ | weed/s3api/s3api_object_retention.go | 528 | // Step 1: Check if governance bypass was requested via header | COMMENT |
| LOW⚡ | weed/s3api/s3api_object_retention.go | 535 | // Step 2: Validate user has permission to bypass governance retention | COMMENT |
| LOW⚡ | weed/s3api/s3_list_parts_action_test.go | 200 | // Step 1: Initiate multipart upload (POST with uploads query) | COMMENT |
| LOW⚡ | weed/s3api/s3_list_parts_action_test.go | 210 | // Step 2: List existing parts (GET with uploadId query) - THIS WAS THE MISSING MAPPING | COMMENT |
| LOW⚡ | weed/s3api/s3_list_parts_action_test.go | 220 | // Step 3: Upload a part (PUT with uploadId and partNumber) | COMMENT |
| LOW | weed/s3api/s3_list_parts_action_test.go | 231 | // Step 4: Complete multipart upload (POST with uploadId) | COMMENT |
| LOW | weed/util/chunk_cache/chunk_cache.go | 226 | // Step 1: Read and validate header (volume ID + cookie) | COMMENT |
| LOW | weed/util/chunk_cache/chunk_cache.go | 252 | // Step 2: Read actual data from the offset position (after header) | COMMENT |
| LOW | weed/shell/command_remote_cache.go | 109 | // Step 1: Collect all remote files | COMMENT |
| LOW | weed/shell/command_remote_cache.go | 123 | // Step 2: Collect all local files (only if we need to delete local extra files) | COMMENT |
| LOW | weed/shell/command_remote_cache.go | 141 | // Step 3: Determine actions needed | COMMENT |
| LOW | weed/shell/command_remote_cache.go | 223 | // Step 4: Execute actions | COMMENT |
| LOW⚡ | weed/shell/command_s3_user_provision.go | 114 | // Step 0: Check if user already exists | COMMENT |
| LOW⚡ | weed/shell/command_s3_user_provision.go | 123 | // Step 1: Create policy | COMMENT |
| LOW | weed/shell/command_s3_user_provision.go | 157 | // Step 2: Create new user with credentials | COMMENT |
| LOW | weed/shell/command_remote_copy_local.go | 113 | // Step 1: Collect all local files that are part of the remote mount | COMMENT |
| LOW | weed/shell/command_remote_copy_local.go | 129 | // Step 2: Check which files exist on remote storage | COMMENT |
| LOW | weed/shell/command_remote_copy_local.go | 143 | // Step 3: Determine files to copy and files to delete | COMMENT |
| LOW | weed/shell/command_remote_copy_local.go | 174 | // Step 4: Copy files to remote storage | COMMENT |
| LOW | weed/shell/command_remote_copy_local.go | 225 | // Step 5: Delete extraneous files from remote storage | COMMENT |
| LOW | weed/admin/topology/storage_slot_test.go | 555 | // Step 1: Add pending task (should reserve capacity via StorageSlotChange) | COMMENT |
| LOW | weed/admin/topology/storage_slot_test.go | 579 | // Step 2: Assign task (capacity already reserved by pending task) | COMMENT |
| LOW⚡ | weed/admin/topology/storage_slot_test.go | 592 | // Step 3: Complete task (should release reserved capacity) | COMMENT |
| LOW⚡ | weed/admin/topology/storage_slot_test.go | 601 | // Step 4: Apply actual storage change (simulates master topology update) | COMMENT |
| LOW | weed/storage/volume_replica/replica_sync.go | 115 | // Step 1: Find the largest replica (highest file count) that's not excluded. | COMMENT |
| LOW | weed/storage/volume_replica/replica_sync.go | 136 | // Step 2: Read index database from the best replica | COMMENT |
| LOW | weed/storage/volume_replica/replica_sync.go | 147 | // Step 3: For each other replica (including excluded), find entries missing from best and copy them | COMMENT |
| LOW | weed/iam/integration/iam_integration_test.go | 64 | // Step 1: Attempt role assumption | COMMENT |
| LOW | weed/iam/integration/iam_integration_test.go | 84 | // Step 2: Test policy enforcement with assumed credentials | COMMENT |
| LOW | weed/iam/integration/iam_integration_test.go | 138 | // Step 1: Attempt role assumption with LDAP credentials | COMMENT |
| LOW | weed/iam/integration/iam_integration_test.go | 158 | // Step 2: Test policy enforcement | COMMENT |
| LOW⚡ | weed/iam/policy/policy_engine.go | 1235 | // Step 1: Substitute policy variables (e.g., ${aws:username}, ${saml:username}) | COMMENT |
| LOW⚡ | weed/iam/policy/policy_engine.go | 1238 | // Step 2: Handle special patterns | COMMENT |
| LOW⚡ | weed/iam/policy/policy_engine.go | 1255 | // Step 3: Case-insensitive exact match | COMMENT |
| LOW⚡ | weed/iam/policy/policy_engine.go | 1260 | // Step 4: Handle AWS-style wildcards (case-insensitive) | COMMENT |
| LOW | weed/mount/meta_cache/meta_cache_deadlock_test.go | 104 | // Step 1: the "flush handler" takes the fh exclusive lock | COMMENT |
| LOW | weed/mount/meta_cache/meta_cache_deadlock_test.go | 116 | // Step 2: a subscriber event arrives; the apply loop will run | COMMENT |
| LOW | weed/mount/meta_cache/meta_cache_deadlock_test.go | 131 | // Step 3: still holding the fh lock, the flush handler applies its local | COMMENT |
| LOW | weed/mq/topic/local_partition.go | 136 | // Step 2: Enter the main loop - read from in-memory buffer, occasionally checking disk | COMMENT |
| LOW | weed/mq/kafka/protocol/offset_fetch_pattern_test.go | 45 | // Step 1: Fetch batch of messages starting from nextOffset | COMMENT |
| LOW⚡ | weed/mq/kafka/protocol/offset_fetch_pattern_test.go | 64 | // Step 2: Commit the last offset in this batch | COMMENT |
| LOW⚡ | weed/mq/kafka/protocol/offset_fetch_pattern_test.go | 70 | // Step 3: Verify offset is correctly stored | COMMENT |
| LOW⚡ | weed/mq/kafka/protocol/offset_fetch_pattern_test.go | 76 | // Step 4: Next fetch should start from lastConsumedOffset + 1 | COMMENT |
| LOW⚡ | weed/mq/kafka/protocol/batch_crc_compat_test.go | 262 | // Step 1: Read the batch header to get the CRC | COMMENT |
| LOW⚡ | weed/mq/kafka/protocol/batch_crc_compat_test.go | 270 | // Step 2: Calculate CRC over the data (from byte 21 onwards) | COMMENT |
| 159 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | weed/s3api/auth_security_test.go | 356 | // Step 1: Sign a request targeting the client-facing URL using real AWS SDK signer | COMMENT |
| LOW⚡ | weed/s3api/auth_security_test.go | 364 | // Step 2: Create a separate request as the proxy would deliver it | COMMENT |
| LOW⚡ | weed/s3api/auth_security_test.go | 374 | // Step 3: Verify | COMMENT |
| LOW⚡ | weed/s3api/auth_security_test.go | 516 | // Step 1: Sign a request using the real AWS SDK v2 signer. | COMMENT |
| LOW⚡ | weed/s3api/auth_security_test.go | 525 | // Step 2: Build the request as the proxy would deliver it to SeaweedFS. | COMMENT |
| LOW⚡ | weed/s3api/auth_security_test.go | 545 | // Step 3: Verify extractHostHeader returns the expected value. | COMMENT |
| LOW⚡ | weed/s3api/auth_security_test.go | 552 | // Step 4: Verify the full signature matches. | COMMENT |
| LOW | weed/s3api/s3api_object_handlers_put.go | 750 | // Step 3: Calculate MD5 hash and add SSE metadata to chunks | COMMENT |
| LOW | weed/s3api/s3api_object_handlers_put.go | 849 | // Step 4: Create metadata entry | COMMENT |
| LOW | weed/s3api/s3api_object_handlers_put.go | 991 | // Step 4: Save metadata to filer via gRPC | COMMENT |
| LOW | weed/s3api/s3api_object_handlers_copy.go | 2746 | // Step 1: Decrypt source data | COMMENT |
| LOW | weed/s3api/s3api_object_handlers_copy.go | 2843 | // Step 2: Re-encrypt with destination encryption (if any) | COMMENT |
| LOW | weed/s3api/s3_sse_s3_integration_test.go | 47 | // Step 1: Encrypt (simulates what happens during PUT) | COMMENT |
| LOW | weed/s3api/s3_sse_s3_integration_test.go | 72 | // Step 2: Simulate storage (inline file - no chunks) | COMMENT |
| LOW | weed/s3api/s3_sse_s3_integration_test.go | 83 | // Step 3: Decrypt (simulates what happens during GET) | COMMENT |
| LOW⚡ | weed/s3api/s3api_object_retention.go | 528 | // Step 1: Check if governance bypass was requested via header | COMMENT |
| LOW⚡ | weed/s3api/s3api_object_retention.go | 535 | // Step 2: Validate user has permission to bypass governance retention | COMMENT |
| LOW⚡ | weed/s3api/s3_list_parts_action_test.go | 200 | // Step 1: Initiate multipart upload (POST with uploads query) | COMMENT |
| LOW⚡ | weed/s3api/s3_list_parts_action_test.go | 210 | // Step 2: List existing parts (GET with uploadId query) - THIS WAS THE MISSING MAPPING | COMMENT |
| LOW⚡ | weed/s3api/s3_list_parts_action_test.go | 220 | // Step 3: Upload a part (PUT with uploadId and partNumber) | COMMENT |
| LOW | weed/s3api/s3_list_parts_action_test.go | 231 | // Step 4: Complete multipart upload (POST with uploadId) | COMMENT |
| LOW | weed/util/chunk_cache/chunk_cache.go | 226 | // Step 1: Read and validate header (volume ID + cookie) | COMMENT |
| LOW | weed/util/chunk_cache/chunk_cache.go | 252 | // Step 2: Read actual data from the offset position (after header) | COMMENT |
| LOW | weed/shell/command_remote_cache.go | 109 | // Step 1: Collect all remote files | COMMENT |
| LOW | weed/shell/command_remote_cache.go | 123 | // Step 2: Collect all local files (only if we need to delete local extra files) | COMMENT |
| LOW | weed/shell/command_remote_cache.go | 141 | // Step 3: Determine actions needed | COMMENT |
| LOW | weed/shell/command_remote_cache.go | 181 | // For caching, we need to check if the local file exists and needs caching | COMMENT |
| LOW | weed/shell/command_remote_cache.go | 223 | // Step 4: Execute actions | COMMENT |
| LOW⚡ | weed/shell/command_s3_user_provision.go | 114 | // Step 0: Check if user already exists | COMMENT |
| LOW⚡ | weed/shell/command_s3_user_provision.go | 123 | // Step 1: Create policy | COMMENT |
| LOW | weed/shell/command_s3_user_provision.go | 157 | // Step 2: Create new user with credentials | COMMENT |
| LOW | weed/shell/command_remote_copy_local.go | 113 | // Step 1: Collect all local files that are part of the remote mount | COMMENT |
| LOW | weed/shell/command_remote_copy_local.go | 129 | // Step 2: Check which files exist on remote storage | COMMENT |
| LOW | weed/shell/command_remote_copy_local.go | 143 | // Step 3: Determine files to copy and files to delete | COMMENT |
| LOW | weed/shell/command_remote_copy_local.go | 174 | // Step 4: Copy files to remote storage | COMMENT |
| LOW | weed/shell/command_remote_copy_local.go | 225 | // Step 5: Delete extraneous files from remote storage | COMMENT |
| LOW | weed/admin/topology/storage_slot_test.go | 555 | // Step 1: Add pending task (should reserve capacity via StorageSlotChange) | COMMENT |
| LOW | weed/admin/topology/storage_slot_test.go | 579 | // Step 2: Assign task (capacity already reserved by pending task) | COMMENT |
| LOW⚡ | weed/admin/topology/storage_slot_test.go | 592 | // Step 3: Complete task (should release reserved capacity) | COMMENT |
| LOW⚡ | weed/admin/topology/storage_slot_test.go | 601 | // Step 4: Apply actual storage change (simulates master topology update) | COMMENT |
| LOW | weed/storage/volume_replica/replica_sync.go | 115 | // Step 1: Find the largest replica (highest file count) that's not excluded. | COMMENT |
| LOW | weed/storage/volume_replica/replica_sync.go | 136 | // Step 2: Read index database from the best replica | COMMENT |
| LOW | weed/storage/volume_replica/replica_sync.go | 147 | // Step 3: For each other replica (including excluded), find entries missing from best and copy them | COMMENT |
| LOW | weed/iam/integration/iam_integration_test.go | 64 | // Step 1: Attempt role assumption | COMMENT |
| LOW | weed/iam/integration/iam_integration_test.go | 84 | // Step 2: Test policy enforcement with assumed credentials | COMMENT |
| LOW | weed/iam/integration/iam_integration_test.go | 138 | // Step 1: Attempt role assumption with LDAP credentials | COMMENT |
| LOW | weed/iam/integration/iam_integration_test.go | 158 | // Step 2: Test policy enforcement | COMMENT |
| LOW⚡ | weed/iam/policy/policy_engine.go | 1235 | // Step 1: Substitute policy variables (e.g., ${aws:username}, ${saml:username}) | COMMENT |
| LOW⚡ | weed/iam/policy/policy_engine.go | 1238 | // Step 2: Handle special patterns | COMMENT |
| LOW⚡ | weed/iam/policy/policy_engine.go | 1255 | // Step 3: Case-insensitive exact match | COMMENT |
| LOW⚡ | weed/iam/policy/policy_engine.go | 1260 | // Step 4: Handle AWS-style wildcards (case-insensitive) | COMMENT |
| LOW | weed/mount/meta_cache/meta_cache_deadlock_test.go | 104 | // Step 1: the "flush handler" takes the fh exclusive lock | COMMENT |
| LOW | weed/mount/meta_cache/meta_cache_deadlock_test.go | 116 | // Step 2: a subscriber event arrives; the apply loop will run | COMMENT |
| LOW | weed/mount/meta_cache/meta_cache_deadlock_test.go | 131 | // Step 3: still holding the fh lock, the flush handler applies its local | COMMENT |
| LOW | weed/mq/topic/local_partition.go | 136 | // Step 2: Enter the main loop - read from in-memory buffer, occasionally checking disk | COMMENT |
| LOW | weed/mq/kafka/protocol/offset_fetch_pattern_test.go | 45 | // Step 1: Fetch batch of messages starting from nextOffset | COMMENT |
| LOW⚡ | weed/mq/kafka/protocol/offset_fetch_pattern_test.go | 64 | // Step 2: Commit the last offset in this batch | COMMENT |
| LOW⚡ | weed/mq/kafka/protocol/offset_fetch_pattern_test.go | 70 | // Step 3: Verify offset is correctly stored | COMMENT |
| LOW⚡ | weed/mq/kafka/protocol/offset_fetch_pattern_test.go | 76 | // Step 4: Next fetch should start from lastConsumedOffset + 1 | COMMENT |
| LOW | weed/mq/kafka/protocol/fetch.go | 1011 | // We need to check if this looks like a real RecordValue or just random bytes | COMMENT |
| 157 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | terraform/test/local-secure/main.tf | 1 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | terraform/test/local-secure/main.tf | 6 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | terraform/test/local/main.tf | 1 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | terraform/test/local/main.tf | 8 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/modules/core/main.tf | 1 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/modules/core/main.tf | 6 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/modules/core/main.tf | 78 | # =========================================================================== | COMMENT |
| MEDIUM | terraform/modules/core/main.tf | 80 | # =========================================================================== | COMMENT |
| MEDIUM | terraform/modules/core/main.tf | 123 | # =========================================================================== | COMMENT |
| MEDIUM | terraform/modules/core/main.tf | 125 | # =========================================================================== | COMMENT |
| MEDIUM | terraform/modules/core/main.tf | 170 | # =========================================================================== | COMMENT |
| MEDIUM | terraform/modules/core/main.tf | 172 | # =========================================================================== | COMMENT |
| MEDIUM | terraform/modules/core/main.tf | 221 | # =========================================================================== | COMMENT |
| MEDIUM | terraform/modules/core/main.tf | 223 | # =========================================================================== | COMMENT |
| MEDIUM | terraform/modules/core/main.tf | 264 | # =========================================================================== | COMMENT |
| MEDIUM | terraform/modules/core/main.tf | 266 | # =========================================================================== | COMMENT |
| MEDIUM | terraform/modules/core/main.tf | 314 | # =========================================================================== | COMMENT |
| MEDIUM | terraform/modules/core/main.tf | 316 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | terraform/modules/core/variables.tf | 1 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | terraform/modules/core/variables.tf | 13 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/modules/core/variables.tf | 51 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | terraform/modules/core/variables.tf | 54 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | terraform/modules/core/variables.tf | 106 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | terraform/modules/core/variables.tf | 108 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | terraform/modules/core/variables.tf | 145 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | terraform/modules/core/variables.tf | 147 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | terraform/modules/core/variables.tf | 191 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | terraform/modules/core/variables.tf | 193 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | terraform/modules/core/variables.tf | 236 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | terraform/modules/core/variables.tf | 239 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | terraform/modules/core/variables.tf | 267 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | terraform/modules/core/variables.tf | 270 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | terraform/modules/core/variables.tf | 283 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | terraform/modules/core/variables.tf | 285 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | terraform/modules/core/tests/render.tftest.hcl | 8 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | terraform/modules/core/tests/render.tftest.hcl | 32 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | terraform/modules/core/tests/render.tftest.hcl | 54 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | terraform/modules/core/tests/render.tftest.hcl | 72 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | terraform/modules/core/tests/render.tftest.hcl | 100 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | terraform/modules/core/tests/render.tftest.hcl | 132 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | terraform/modules/core/tests/render.tftest.hcl | 155 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | terraform/modules/security/variables.tf | 1 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/modules/security/variables.tf | 9 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/modules/aws/security.tf | 1 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/modules/aws/security.tf | 10 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/modules/aws/variables.tf | 1 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/modules/aws/variables.tf | 8 | # ============================================================================= | COMMENT |
| MEDIUM | weed/shell/command_fs_distribute_chunks_test.go | 39 | // ── shortName ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | weed/shell/command_fs_distribute_chunks_test.go | 56 | // ── relevantNodes ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | weed/shell/command_fs_distribute_chunks_test.go | 70 | // ── computeOwnerTarget ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | weed/shell/command_fs_distribute_chunks_test.go | 110 | // ── buildDistributionCounts ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | weed/shell/command_fs_distribute_chunks_test.go | 156 | // ── selectActiveNodes ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | weed/shell/command_fs_distribute_chunks_test.go | 181 | // ── planOwnerMoves ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | weed/shell/command_fs_distribute_chunks_test.go | 223 | // ── planDistribution: primary ───────────────────────────────────────────────── | COMMENT |
| MEDIUM | weed/shell/command_fs_distribute_chunks_test.go | 287 | // ── planDistribution: round-robin ───────────────────────────────────────────── | COMMENT |
| MEDIUM | weed/shell/command_fs_distribute_chunks_test.go | 361 | // ── planDistribution: replica ───────────────────────────────────────────────── | COMMENT |
| MEDIUM | weed/shell/command_fs_distribute_chunks_test.go | 410 | // ── printRedistributionPlan ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | weed/ec/ec_lifecycle_model_test.go | 115 | // ── invariants ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | weed/ec/ec_lifecycle_model_test.go | 159 | // ── operations as step lists ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | weed/ec/ec_lifecycle_model_test.go | 327 | // ── recovery convergence ──────────────────────────────────────────────────── | COMMENT |
| 27 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docker/test.py | 91 | except Exception as e: | CODE |
| MEDIUM | docker/test.py | 92 | print(f"Error listing files: {e}") | CODE |
| MEDIUM | test/s3/compatibility/fix_s3_tests_bucket_conflicts.py | 35 | print(f"Error: File {file_path} not found") | CODE |
| LOW | test/s3/error_compat/s3_error_compat_test.py | 112 | except Exception as e: | CODE |
| MEDIUM | test/s3/error_compat/s3_error_compat_test.py | 100 | def cleanup(): | CODE |
| LOW⚡ | test/s3/parquet/test_cross_filesystem_compatibility.py | 151 | except Exception: | CODE |
| LOW⚡ | test/s3/parquet/test_cross_filesystem_compatibility.py | 161 | except Exception: | CODE |
| LOW⚡ | test/s3/parquet/test_cross_filesystem_compatibility.py | 171 | except Exception: | CODE |
| LOW⚡ | test/s3/parquet/test_cross_filesystem_compatibility.py | 183 | except Exception as e: # noqa: BLE001 - Intentionally broad for compatibility testing | CODE |
| LOW⚡ | test/s3/parquet/test_cross_filesystem_compatibility.py | 192 | except Exception as e: # noqa: BLE001 - Intentionally broad for compatibility testing | CODE |
| LOW⚡ | test/s3/parquet/test_cross_filesystem_compatibility.py | 201 | except Exception as e: # noqa: BLE001 - Intentionally broad for compatibility testing | CODE |
| LOW⚡ | test/s3/parquet/test_cross_filesystem_compatibility.py | 216 | except Exception as e: # noqa: BLE001 - Intentionally broad for compatibility testing | CODE |
| LOW⚡ | test/s3/parquet/test_cross_filesystem_compatibility.py | 225 | except Exception as e: # noqa: BLE001 - Intentionally broad for compatibility testing | CODE |
| LOW⚡ | test/s3/parquet/test_cross_filesystem_compatibility.py | 234 | except Exception as e: # noqa: BLE001 - Intentionally broad for compatibility testing | CODE |
| LOW | test/s3/parquet/test_cross_filesystem_compatibility.py | 94 | except Exception: | CODE |
| LOW | test/s3/parquet/test_cross_filesystem_compatibility.py | 132 | except Exception: | CODE |
| LOW | test/s3/parquet/test_cross_filesystem_compatibility.py | 302 | except Exception as e: # noqa: BLE001 - Top-level exception handler for test orchestration | CODE |
| LOW | test/s3/parquet/test_cross_filesystem_compatibility.py | 339 | except Exception as e: # noqa: BLE001 - Top-level exception handler for test orchestration | CODE |
| LOW | test/s3/parquet/test_cross_filesystem_compatibility.py | 352 | except Exception: | CODE |
| LOW | test/s3/parquet/s3_parquet_test.py | 118 | except Exception: | CODE |
| LOW | test/s3/parquet/s3_parquet_test.py | 132 | except Exception: | CODE |
| LOW | test/s3/parquet/s3_parquet_test.py | 144 | except Exception as e: | CODE |
| LOW | test/s3/parquet/s3_parquet_test.py | 159 | except Exception as e: | CODE |
| LOW | test/s3/parquet/s3_parquet_test.py | 199 | except Exception as e: | CODE |
| LOW | test/s3/parquet/s3_parquet_test.py | 225 | except Exception as e: | CODE |
| LOW⚡ | test/s3/parquet/s3_parquet_test.py | 253 | except Exception as e: | CODE |
| LOW⚡ | test/s3/parquet/s3_parquet_test.py | 266 | except Exception as e: | CODE |
| LOW | test/s3/parquet/s3_parquet_test.py | 278 | except Exception as e: | CODE |
| LOW | test/s3/parquet/s3_parquet_test.py | 319 | except Exception as e: | CODE |
| LOW | test/s3/parquet/s3_parquet_test.py | 342 | except Exception as e: | CODE |
| MEDIUM | test/s3/parquet/s3_parquet_test.py | 410 | print(f"Error details logged to: {ERROR_LOG_FILE}") | CODE |
| LOW | test/s3/parquet/debug_write_dataset.py | 55 | except Exception as e: | CODE |
| LOW⚡ | test/s3/parquet/debug_write_dataset.py | 69 | except Exception as e: | CODE |
| LOW⚡ | test/s3/parquet/debug_write_dataset.py | 79 | except Exception as e: | CODE |
| LOW⚡ | test/s3/parquet/debug_write_dataset.py | 82 | except Exception as e: | CODE |
| MEDIUM | test/s3/parquet/debug_write_dataset.py | 38 | def list_recursive(path, indent=0): | CODE |
| LOW | test/s3/parquet/test_implicit_directory_fix.py | 132 | except Exception as e: | CODE |
| LOW | test/s3/parquet/test_implicit_directory_fix.py | 155 | except Exception as e: | CODE |
| LOW⚡ | test/s3/parquet/test_implicit_directory_fix.py | 174 | except Exception as e: | CODE |
| LOW⚡ | test/s3/parquet/test_implicit_directory_fix.py | 195 | except Exception as e: | CODE |
| LOW⚡ | test/s3/parquet/test_implicit_directory_fix.py | 226 | except Exception as e: | CODE |
| LOW | test/s3/parquet/test_implicit_directory_fix.py | 245 | except Exception as e: | CODE |
| LOW | test/s3/parquet/test_pyarrow_native_s3.py | 111 | except Exception: | CODE |
| LOW | test/s3/parquet/test_pyarrow_native_s3.py | 148 | except Exception: | CODE |
| LOW | test/s3/parquet/test_pyarrow_native_s3.py | 170 | except Exception as e: | CODE |
| LOW | test/s3/parquet/test_pyarrow_native_s3.py | 179 | except Exception: | CODE |
| LOW⚡ | test/s3/parquet/test_pyarrow_native_s3.py | 266 | except Exception as exc: | CODE |
| LOW | test/s3/parquet/test_pyarrow_native_s3.py | 302 | except Exception: | CODE |
| LOW | test/s3/parquet/test_sse_s3_compatibility.py | 98 | except Exception: | CODE |
| LOW | test/s3/parquet/test_sse_s3_compatibility.py | 134 | except Exception: | CODE |
| LOW | test/s3/parquet/test_sse_s3_compatibility.py | 165 | except Exception as e: | CODE |
| LOW | test/s3/spark/issue_8234_repro_test.go | 47 | except Exception as err: | CODE |
| LOW | test/s3tables/catalog/test_rest_catalog_auth.py | 141 | except Exception as e: | CODE |
| LOW | test/s3tables/catalog/test_rest_catalog_auth.py | 183 | except Exception as e: | CODE |
| LOW | test/s3tables/catalog/test_rest_catalog_auth.py | 213 | except Exception as e: | CODE |
| LOW | test/s3tables/catalog/test_rest_catalog.py | 146 | except Exception as e: | CODE |
| LOW | test/s3tables/catalog/test_rest_catalog.py | 172 | except Exception as e: | CODE |
| LOW | test/s3tables/catalog/test_rest_catalog.py | 210 | except Exception as e: | CODE |
| LOW | test/s3tables/catalog/test_rest_catalog.py | 241 | except Exception as e: | CODE |
| LOW | test/s3tables/catalog_spark/spark_operations_test.go | 210 | except Exception as e: | STRING |
| 24 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | terraform/test/local-secure/main.tf | 2 | # Local mTLS test harness: generate the CA + component certs + JWT keys with the | COMMENT |
| MEDIUM | terraform/test/local-secure/main.tf | 39 | # non-secure harness. | COMMENT |
| MEDIUM⚡ | terraform/test/local/main.tf | 2 | # Local test harness: render a small SeaweedFS cluster with the core module | COMMENT |
| MEDIUM | terraform/test/local/main.tf | 33 | # High port range so the harness does not collide with a SeaweedFS cluster | COMMENT |
| MEDIUM⚡ | terraform/modules/core/variables.tf | 7 | # infra wrappers (consume cloud_init/systemd_unit) and the local test harness | COMMENT |
| MEDIUM | cmd/weed-sql/sqlcmd.go | 185 | // Split file content into individual queries (robust approach). | COMMENT |
| MEDIUM | weed/s3api/s3api_sts.go | 305 | // Use typed errors for robust error checking | COMMENT |
| MEDIUM | weed/s3api/s3_iam_middleware.go | 106 | // Determine token type by issuer claim (more robust than checking role claim) | COMMENT |
| MEDIUM | weed/kms/gcp/gcp_kms.go | 300 | // This is a simplified implementation - in production, you might want a more robust serialization | COMMENT |
| MEDIUM | weed/util/sqlutil/splitter.go | 8 | // This robust implementation handles SQL comments, quoted strings, and escaped characters. | COMMENT |
| MEDIUM | weed/shell/command_remote_cache.go | 37 | # comprehensive sync and cache: update metadata, cache content, and remove deleted files | COMMENT |
| MEDIUM | weed/ec/ec_decode.go | 141 | // Keep this robust against wording tweaks while still being specific. | COMMENT |
| MEDIUM | weed/server/postgres/protocol.go | 41 | // Use typed errors for robust error mapping | COMMENT |
| MEDIUM | weed/storage/disk_location_ec.go | 590 | // checkDatFileExists checks if a .dat file with actual data exists with robust | COMMENT |
| MEDIUM | weed/iam/providers/errors.go | 6 | // These enable robust error checking with errors.Is() throughout the stack | COMMENT |
| MEDIUM | weed/iam/oidc/oidc_provider.go | 701 | // Use JWT library's typed errors for robust error checking | COMMENT |
| MEDIUM | weed/iam/utils/arn_utils_test.go | 13 | // format to ensure robust handling of both legacy and modern AWS ARN formats. | COMMENT |
| MEDIUM | weed/iam/sts/sts_service.go | 1031 | // Map provider errors to STS errors using errors.Is() for robust error checking | COMMENT |
| MEDIUM | weed/iam/sts/session_claims.go | 139 | // This enables seamless integration with existing code expecting SessionInfo | COMMENT |
| MEDIUM | weed/iam/sts/constants.go | 90 | // Typed errors for robust error checking with errors.Is() | COMMENT |
| MEDIUM | weed/filer/filer_deletion.go | 507 | // TODO: Consider these improvements for more robust error handling: | COMMENT |
| MEDIUM | weed/query/engine/hybrid_message_scanner.go | 239 | // Uses SeaweedFS MQ's GenMergedReadFunc for seamless integration | COMMENT |
| MEDIUM | test/benchmark/fuse_db/bin/lib.sh | 2 | # IMPORTANT: this harness manages ONLY its own processes via pidfiles and its own | COMMENT |
| MEDIUM | test/s3/remote_cache/command_edge_cases_test.go | 102 | // This is a simplified check; a more robust test would check if the file is *actually* gone from local cache | COMMENT |
| MEDIUM | test/s3/remote_cache/command_edge_cases_test.go | 105 | // The instruction implies just adding the test, not necessarily making it fully robust for all pattern scenarios. | COMMENT |
| MEDIUM | test/s3/iam/s3_iam_distributed_test.go | 114 | // Test concurrent operations across distributed instances with robust retry mechanisms | COMMENT |
| MEDIUM | test/s3tables/catalog/test_lance_namespace.py | 61 | # what the namespace vends is correct for its own host, and a test harness | COMMENT |
| MEDIUM | test/samba/smb_tests.sh | 5 | # harness (run_inside_container.sh). | COMMENT |
| MEDIUM | test/kafka/kafka-client-loadtest/docker-compose.yml | 65 | # Enable comprehensive Kafka client DEBUG logging to trace offset management | COMMENT |
| MEDIUM | test/kafka/kafka-client-loadtest/config/loadtest.yaml | 4 | test_mode: "comprehensive" # producer, consumer, comprehensive | CODE |
| MEDIUM | …st/kafka/kafka-client-loadtest/scripts/run-loadtest.sh | 81 | # Run comprehensive test for 5 minutes | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | test/s3/parquet/test_cross_filesystem_compatibility.py | 249 | if not read.schema.equals(original.schema): | CODE |
| HIGH⚡ | test/s3/parquet/test_cross_filesystem_compatibility.py | 257 | if not read_sorted.equals(original_sorted): | CODE |
| HIGH⚡ | test/s3/parquet/test_cross_filesystem_compatibility.py | 263 | if not col_original.equals(col_read): | CODE |
| HIGH⚡ | test/s3/parquet/test_pyarrow_native_s3.py | 208 | if not table_read.schema.equals(table.schema): | CODE |
| HIGH⚡ | test/s3/parquet/test_pyarrow_native_s3.py | 215 | if not table_read_sorted.equals(table_sorted): | CODE |
| HIGH⚡ | test/s3/parquet/test_pyarrow_native_s3.py | 221 | if not col_original.equals(col_read): | CODE |
| HIGH | test/s3/parquet/test_pyarrow_native_s3.py | 235 | if not table_dataset_sorted.equals(table_sorted): | CODE |
| HIGH | test/s3/parquet/test_pyarrow_native_s3.py | 240 | if not col_original.equals(col_read): | CODE |
| HIGH⚡ | test/s3/parquet/test_pyarrow_native_s3.py | 254 | if not table_pads_sorted.equals(table_sorted): | CODE |
| HIGH⚡ | test/s3/parquet/test_pyarrow_native_s3.py | 259 | if not col_original.equals(col_read): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docker/admin_integration/check_volumes.sh | 7 | # Check if master is running | COMMENT |
| LOW | docker/admin_integration/demo_vacuum_testing.sh | 7 | # Check if SeaweedFS is running | COMMENT |
| LOW | test/kms/setup_openbao.sh | 25 | # Check if we can connect | COMMENT |
| LOW | test/s3/iam/setup_keycloak.sh | 145 | # Check if it exists now (might have been created by another process) | COMMENT |
| LOW | test/s3/iam/setup_keycloak.sh | 215 | # Check if role already assigned | COMMENT |
| LOW | test/s3/iam/setup_keycloak.sh | 236 | # Check if a realm roles mapper already exists for this client | COMMENT |
| LOW | test/s3/iam/setup_keycloak.sh | 277 | # Check if an audience mapper already exists for this client | COMMENT |
| LOW | test/s3/iam/setup_all_tests.sh | 57 | # Check if LDAP container is already running | COMMENT |
| LOW | test/s3/iam/setup_all_tests.sh | 176 | # Check if Keycloak is responding | COMMENT |
| LOW | test/s3/parquet/test_pyarrow_native_s3.py | 133 | # Check if bucket exists | COMMENT |
| LOW | test/s3/parquet/test_pyarrow_native_s3.py | 156 | # Check if bucket exists by trying to list it | COMMENT |
| LOW | test/java/spark/run-tests.sh | 8 | # Check if SeaweedFS is running | COMMENT |
| LOW | test/java/spark/quick-start.sh | 8 | # Check if SeaweedFS is running | COMMENT |
| LOW⚡ | test/java/spark/quick-start.sh | 92 | # Check if Docker is available | COMMENT |
| LOW⚡ | test/java/spark/quick-start.sh | 98 | # Check if Maven is available | COMMENT |
| LOW⚡ | test/java/spark/quick-start.sh | 104 | # Check if SeaweedFS is running, if not start it | COMMENT |
| LOW | test/postgres/validate-setup.sh | 27 | # Check if running from correct directory | COMMENT |
| LOW | test/postgres/validate-setup.sh | 65 | # Check if services are running | COMMENT |
| LOW | test/kafka/test-schema-bypass.sh | 11 | # Check if Kafka gateway is running | COMMENT |
| LOW | test/kafka/loadtest/run_million_record_test.sh | 25 | # Check if SeaweedFS infrastructure is running | COMMENT |
| LOW | test/kafka/scripts/test_schema_registry.sh | 10 | # Check if we have a real schema registry URL | COMMENT |
| LOW | test/kafka/scripts/test_schema_registry.sh | 46 | # Check if services are running | COMMENT |
| LOW | …fka/kafka-client-loadtest/scripts/wait-for-services.sh | 39 | # Check if a service is reachable | COMMENT |
| LOW | …fka/kafka-client-loadtest/scripts/wait-for-services.sh | 71 | # Check if we have at least one volume server | COMMENT |
| LOW | …fka/kafka-client-loadtest/scripts/wait-for-services.sh | 96 | # Check if Schema Registry container is running first | COMMENT |
| LOW | …fka/kafka-client-loadtest/scripts/wait-for-services.sh | 185 | # Check if it's still starting up (healthcheck start_period) | COMMENT |
| LOW | …st/kafka/kafka-client-loadtest/scripts/run-loadtest.sh | 181 | # Check if Docker and Docker Compose are available | COMMENT |
| LOW | …afka/kafka-client-loadtest/scripts/register-schemas.sh | 95 | # Check if it's a consumer lag timeout (error_code 50002) | COMMENT |
| LOW | .github/workflows/s3-keycloak-tests.yml | 66 | # Set WEED_BINARY to use the installed version | COMMENT |
| LOW | .github/workflows/deploy_telemetry.yml | 147 | # Check if service exists and deploy accordingly | COMMENT |
| LOW | .github/workflows/s3-policy-tests.yml | 118 | # Set WEED_BINARY to use the installed version | COMMENT |
| LOW | .github/workflows/s3-policy-tests.yml | 433 | # Set WEED_BINARY to use the installed version (though test uses 'weed' command) | COMMENT |
| LOW | .github/workflows/s3-proxy-signature-tests.yml | 67 | # Check if containers are running | COMMENT |
| LOW | .github/workflows/s3-iam-tests.yml | 120 | # Set WEED_BINARY to use the installed version | COMMENT |
| LOW | .github/workflows/s3tests.yml | 918 | # Check if server process is still alive before waiting | COMMENT |
| LOW | .github/workflows/s3tests.yml | 934 | # Check if server process is still alive | COMMENT |
| LOW | .github/workflows/kafka-tests.yml | 255 | # Check if broker is properly registered by querying cluster nodes | COMMENT |
| LOW | .github/workflows/kafka-tests.yml | 272 | # Check if broker failed to start and show logs | COMMENT |
| LOW | .github/workflows/kafka-tests.yml | 434 | # Check if broker is properly registered by querying cluster nodes | COMMENT |
| LOW | .github/workflows/kafka-tests.yml | 451 | # Check if broker failed to start and show logs | COMMENT |
| LOW | .github/workflows/kafka-tests.yml | 595 | # Check if broker is properly registered by querying cluster nodes | COMMENT |
| LOW | .github/workflows/kafka-tests.yml | 612 | # Check if broker failed to start and show logs | COMMENT |
| LOW | .github/workflows/kafka-tests.yml | 753 | # Check if broker is properly registered by querying cluster nodes | COMMENT |
| LOW | .github/workflows/kafka-tests.yml | 770 | # Check if broker failed to start and show logs | COMMENT |
| LOW | .github/workflows/posix-compliance.yml | 295 | # Check if this is actually a FUSE mount — the plain directory created | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | weed/static/javascript/jquery-3.6.0.min.js | 2 | !function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):f | CODE |
| CRITICAL | …a/spark/src/test/java/seaweed/spark/SparkTestBase.java | 108 | org.apache.hadoop.fs.FileSystem fs = org.apache.hadoop.fs.FileSystem.get( | CODE |
| CRITICAL | …java/seaweed/spark/ParquetOperationComparisonTest.java | 308 | try (ParquetWriter<Group> writer = org.apache.parquet.hadoop.example.ExampleParquetWriter.builder(path) | CODE |
| CRITICAL | …java/seaweed/spark/ParquetOperationComparisonTest.java | 347 | try (ParquetWriter<Group> writer = org.apache.parquet.hadoop.example.ExampleParquetWriter.builder(path) | CODE |
| CRITICAL | …est/java/seaweed/spark/SparkReadDirectParquetTest.java | 157 | try (ParquetWriter<Group> writer = org.apache.parquet.hadoop.example.ExampleParquetWriter.builder(path) | CODE |
| CRITICAL | …k/src/test/java/seaweed/spark/SimpleOneColumnTest.java | 27 | org.apache.hadoop.fs.FileSystem fs = org.apache.hadoop.fs.FileSystem.get( | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | weed/admin/static/js/policy_editor.js | 118 | function policyEditorOffersNotPrincipal(which) { | CODE |
| LOW | weed/admin/static/js/policy_editor.js | 504 | function commitPolicyEditorToTextarea(which) { | CODE |
| LOW | weed/admin/static/js/policy_editor.js | 514 | function commitPolicyTextareaToEditor(which) { | CODE |
| LOW | weed/admin/static/js/policy_editor.js | 558 | function loadPolicyTextareaIntoEditor(which) { | CODE |
| LOW | weed/admin/static/js/policy_editor.js | 680 | function policyTextDisallowedNegationError(which) { | CODE |
| LOW | weed/admin/static/js/policy_editor.js | 704 | function confirmPolicyFieldDiscard(which) { | CODE |
| LOW | weed/admin/static/js/policy_editor.js | 911 | function renderPolicyDatalistOptions(datalist, values) { | CODE |
| LOW | weed/admin/static/js/policy_editor.js | 917 | function updatePolicyResourceSuggestions(which, inputEl) { | CODE |
| LOW | weed/admin/static/js/policy_editor.js | 962 | function loadPolicyPrincipalSuggestions() { | CODE |
| LOW | weed/admin/static/js/policy_editor.js | 972 | function updatePolicyPrincipalSuggestions(which) { | CODE |
| LOW | weed/admin/static/js/s3tables.js | 443 | async function loadIcebergNamespaceTables(node, bucketArn, catalogName) { | CODE |
| LOW | weed/admin/static/js/admin.js | 969 | function updateDeleteSelectedButton() { | CODE |
| LOW | weed/admin/static/js/admin.js | 1421 | function setupFileManagerEventHandlers() { | CODE |
| LOW | weed/admin/view/app/s3_buckets_templ.go | 883 | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 100, "<!-- Bucket Policy Modal --><div class=\"mo | CODE |
| LOW | weed/admin/view/app/service_accounts_templ.go | 272 | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 26, "</select> <small class=\"form-text text-mute | CODE |
| LOW | weed/admin/view/app/file_browser_templ.go | 868 | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 94, "\"><!-- File List Preview --><div id=\"fileL | CODE |
| LOW | weed/admin/view/app/object_store_users_templ.go | 240 | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 24, "</div><div class=\"mb-3\"><label for=\"email | CODE |
| LOW | weed/admin/view/app/plugin_templ.go | 112 | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 7, "<div class=\"plugin-section plugin-section-ov | CODE |
| LOW | weed/admin/view/app/topic_details_templ.go | 998 | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 117, "</div></div></div></div></div></div></div>< | CODE |
| LOW | test/s3/compatibility/fix_s3_tests_bucket_conflicts.py | 185 | def _sw_get_new_bucket_resource(name=None): | CODE |
| LOW⚡ | test/s3/parquet/s3_parquet_test.py | 259 | def read_with_parquet_dataset(path: str, fs: s3fs.S3FileSystem) -> Tuple[bool, str, int]: | CODE |
| LOW | test/s3/parquet/test_implicit_directory_fix.py | 69 | def test_implicit_directory_head_behavior(fs, s3_client): | CODE |
| LOW | test/s3/parquet/test_implicit_directory_fix.py | 159 | def test_pyarrow_dataset_read(fs): | CODE |
| LOW⚡ | test/s3/parquet/test_implicit_directory_fix.py | 179 | def test_explicit_directory_marker(fs, s3_client): | CODE |
| LOW⚡ | test/s3/parquet/test_implicit_directory_fix.py | 210 | def test_empty_file_not_directory(fs, s3_client): | CODE |
| LOW | test/s3tables/catalog/test_rest_catalog_auth.py | 41 | def test_namespace_operations(catalog, prefix): | CODE |
| LOW | test/s3tables/catalog/test_rest_catalog.py | 41 | def test_namespace_operations(catalog, prefix): | CODE |
| LOW | test/s3vectors/s3vectors_test.py | 72 | def test_vector_bucket_policy(vectors): | CODE |
| LOW | test/s3vectors/s3vectors_test.py | 141 | def test_upsert_and_invalid_batch(vectors, index): | CODE |
| LOW | test/s3vectors/s3vectors_test.py | 169 | def test_list_pagination_and_segments(vectors, index): | CODE |
| LOW | test/s3vectors/s3vectors_test.py | 219 | def test_delete_bucket_conflict(vectors, index): | CODE |
| LOW | test/s3vectors/s3vectors_test.py | 224 | def test_vector_policy_permissions(vectors, vector_clients, index): | CODE |
| LOW | test/s3vectors/s3vectors_test.py | 267 | def test_vector_bucket_encryption(vectors): | CODE |
| LOW | test/s3vectors/s3vectors_test.py | 309 | def test_delete_and_recreate_index(vectors, index): | CODE |
| LOW | test/s3vectors/s3vectors_test.py | 324 | def test_index_arn_validation(vectors, index): | CODE |
| LOW | test/s3vectors/s3vectors_test.py | 367 | def test_query_without_writer(vectors, index, cluster): | CODE |
| LOW | …thub/actions/cleanup-stale-fuse-mounts/test_cleanup.py | 29 | def test_only_fuse_integration_test_mounts_are_candidates(self): | CODE |
| LOW | …thub/actions/cleanup-stale-fuse-mounts/test_cleanup.py | 38 | def test_all_test_mount_layouts_are_candidates(self): | CODE |
| LOW | …thub/actions/cleanup-stale-fuse-mounts/test_cleanup.py | 55 | def test_mountinfo_paths_are_unescaped_once(self): | CODE |
| LOW⚡ | …thub/actions/cleanup-stale-fuse-mounts/test_cleanup.py | 67 | def test_healthy_mount_is_untouched(self): | CODE |
| LOW⚡ | …thub/actions/cleanup-stale-fuse-mounts/test_cleanup.py | 72 | def test_other_probe_errors_are_untouched(self): | CODE |
| LOW⚡ | …thub/actions/cleanup-stale-fuse-mounts/test_cleanup.py | 79 | def test_probe_timeout_does_not_detach_a_possibly_live_mount(self): | CODE |
| LOW⚡ | …thub/actions/cleanup-stale-fuse-mounts/test_cleanup.py | 84 | def test_disconnected_mount_is_lazily_unmounted(self): | CODE |
| LOW⚡ | …thub/actions/cleanup-stale-fuse-mounts/test_cleanup.py | 91 | def test_replaced_or_removed_mount_is_untouched(self): | CODE |
| LOW⚡ | …thub/actions/cleanup-stale-fuse-mounts/test_cleanup.py | 96 | def test_mount_identity_is_checked_without_stat(self): | CODE |
| LOW⚡ | …thub/actions/cleanup-stale-fuse-mounts/test_cleanup.py | 101 | def test_missing_or_timed_out_helper_uses_fallback(self): | CODE |
| LOW⚡ | …thub/actions/cleanup-stale-fuse-mounts/test_cleanup.py | 109 | def test_failed_helpers_fall_back_to_sudo(self): | CODE |
| LOW⚡ | …thub/actions/cleanup-stale-fuse-mounts/test_cleanup.py | 116 | def test_cleanup_fails_when_stale_mount_remains(self): | CODE |
| LOW⚡ | …thub/actions/cleanup-stale-fuse-mounts/test_cleanup.py | 123 | def test_unmounted_test_dir_is_reclaimed(self): | CODE |
| LOW⚡ | …thub/actions/cleanup-stale-fuse-mounts/test_cleanup.py | 129 | def test_probe_process_reports_errno(self): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | terraform/modules/core/variables.tf | 4 | # This module is a PURE RENDERER. It creates zero cloud resources. It takes a | COMMENT |
| MEDIUM | weed/command/mini.go | 1349 | sb.WriteString("# This file is loaded on startup if it exists\n") | CODE |
| MEDIUM | test/kms/setup_openbao.sh | 60 | # Create the encryption key | COMMENT |
| MEDIUM | test/s3/parquet/debug_write_dataset.py | 9 | # Create a simple test table | COMMENT |
| MEDIUM | test/s3/parquet/test_implicit_directory_fix.py | 83 | # Create a dataset using PyArrow (creates implicit directory) | COMMENT |
| MEDIUM⚡ | test/s3/parquet/test_implicit_directory_fix.py | 185 | # Create an explicit directory marker | COMMENT |
| MEDIUM⚡ | test/s3/parquet/test_implicit_directory_fix.py | 216 | # Create an empty file with text/plain mime type | COMMENT |
| MEDIUM | test/s3tables/catalog/test_rest_catalog_auth.py | 83 | # Define a simple schema | COMMENT |
| MEDIUM | test/s3tables/catalog/test_rest_catalog.py | 83 | # Define a simple schema | COMMENT |
| MEDIUM | …afka/kafka-client-loadtest/scripts/register-schemas.sh | 66 | # Create the schema registration payload | COMMENT |
| MEDIUM | …afka/kafka-client-loadtest/scripts/register-schemas.sh | 181 | # Define the Avro schema for load test messages | COMMENT |
| MEDIUM | …afka/kafka-client-loadtest/scripts/register-schemas.sh | 197 | # Define the JSON schema for load test messages | COMMENT |
| MEDIUM | …afka/kafka-client-loadtest/scripts/register-schemas.sh | 217 | # Define the Protobuf schema for load test messages | COMMENT |
| MEDIUM | …afka/kafka-client-loadtest/scripts/register-schemas.sh | 232 | # Define the key schema (simple string) | COMMENT |
| MEDIUM | test/foundationdb/test_fdb_s3.sh | 114 | # Create a directory | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | weed/s3api/auth_credentials.go | 167 | EmailAddress: "admin@example.com", | CODE |
| LOW | weed/s3api/auth_sts_identity_test.go | 334 | "email": "user@example.com", | CODE |
| LOW | weed/s3api/auth_sts_identity_test.go | 353 | assert.Equal(t, "user@example.com", sessionInfo.RequestContext["email"]) | CODE |
| LOW | weed/s3api/auth_sts_identity_test.go | 363 | assert.Equal(t, "user@example.com", identity.Claims["email"], "email should be in Claims") | CODE |
| LOW | weed/kms/config.go | 471 | req := &DescribeKeyRequest{KeyID: "health-check-dummy-key"} | CODE |
| LOW | weed/admin/config/schema.go | 59 | Placeholder string `json:"placeholder"` | CODE |
| LOW | weed/iam/oidc/oidc_provider_test.go | 128 | "email": "user@example.com", | CODE |
| LOW | weed/iam/oidc/oidc_provider_test.go | 140 | assert.Equal(t, "user@example.com", email) | CODE |
| LOW | weed/iam/oidc/oidc_provider_test.go | 365 | "email": "user@example.com", | CODE |
| LOW | weed/iam/oidc/oidc_provider_test.go | 374 | assert.Equal(t, "user@example.com", identity.Email) | CODE |
| LOW | weed/iam/oidc/oidc_provider_test.go | 388 | "email": "user@example.com", | CODE |
| LOW | weed/iam/oidc/oidc_provider_test.go | 466 | "email": "user@example.com", | CODE |
| LOW | weed/iam/oidc/oidc_provider_test.go | 498 | assert.Equal(t, "user@example.com", identity.Email) | CODE |
| LOW | weed/iam/oidc/oidc_provider_test.go | 550 | assert.Equal(t, "user@example.com", identity.Email) | CODE |
| LOW | weed/iam/oidc/oidc_provider_test.go | 658 | "email": "user@example.com", | CODE |
| LOW | weed/mq/kafka/schema/reconstruction_test.go | 64 | "name": "John Doe", | CODE |
| LOW | weed/mq/kafka/schema/reconstruction_test.go | 111 | if finalDecodedMsg.RecordValue.Fields["name"].GetStringValue() != "John Doe" { | CODE |
| LOW | weed/mq/kafka/schema/reconstruction_test.go | 112 | t.Errorf("Expected name='John Doe', got %v", finalDecodedMsg.RecordValue.Fields["name"].GetStringValue()) | CODE |
| LOW | weed/mq/kafka/schema/reconstruction_test.go | 314 | "name": "John Doe", | CODE |
| LOW | weed/mq/kafka/schema/manager_test.go | 64 | "name": "John Doe", | CODE |
| LOW | weed/mq/kafka/schema/manager_test.go | 106 | if nameValue == nil || nameValue.GetStringValue() != "John Doe" { | CODE |
| LOW | weed/mq/kafka/schema/manager_test.go | 107 | t.Errorf("Expected name='John Doe', got %v", nameValue) | CODE |
| LOW | weed/mq/kafka/schema/decode_encode_test.go | 50 | "name": "John Doe", | CODE |
| LOW | weed/mq/kafka/schema/decode_encode_test.go | 212 | "street": "123 Main St", | CODE |
| LOW | weed/mq/kafka/schema/json_schema_decoder_test.go | 106 | "name": "John Doe", | CODE |
| LOW⚡ | weed/mq/kafka/schema/json_schema_decoder_test.go | 132 | "name": "John Doe" | CODE |
| LOW⚡ | weed/mq/kafka/schema/json_schema_decoder_test.go | 140 | "name": "John Doe", | CODE |
| LOW⚡ | weed/mq/kafka/schema/json_schema_decoder_test.go | 149 | "name": "John Doe", | CODE |
| LOW | weed/mq/kafka/schema/json_schema_decoder_test.go | 519 | jsonData := []byte(`{"id": 123, "name": "John Doe"}`) | CODE |
| LOW | weed/mq/kafka/schema/json_schema_decoder_test.go | 538 | jsonData := []byte(`{"id": 123, "name": "John Doe"}`) | CODE |
| LOW | weed/mq/kafka/schema/integration_test.go | 454 | "email": map[string]interface{}{"string": "user@example.com"}, | CODE |
| LOW | weed/mq/kafka/schema/avro_decoder_test.go | 87 | "name": "John Doe", | CODE |
| LOW | weed/mq/kafka/schema/avro_decoder_test.go | 110 | if result["name"] != "John Doe" { | CODE |
| LOW | weed/mq/kafka/schema/avro_decoder_test.go | 111 | t.Errorf("Expected name='John Doe', got %v", result["name"]) | CODE |
| LOW | weed/mq/kafka/schema/avro_decoder_test.go | 519 | "name": "John Doe", | CODE |
| LOW | weed/query/engine/test_sample_data_test.go | 125 | "data": {Kind: &schema_pb.Value_StringValue{StringValue: `{"field": "email", "new_value": "user@example.com"} | CODE |
| LOW | test/s3/iam/s3_iam_framework.go | 338 | return []byte("dummy-key"), nil | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | test/benchmark/fuse_db/bin/fsbench.py | 52 | except OSError: pass | CODE |
| HIGH | test/benchmark/fuse_db/bin/sqlite_bench.py | 16 | except OSError: pass | CODE |
| HIGH | test/s3/parquet/test_implicit_directory_fix.py | 80 | except: | CODE |
| HIGH | test/s3tables/lifecycle/iceberg_lifecycle.py | 157 | except NoSuchTableError: | CODE |
| HIGH | test/s3tables/lifecycle/iceberg_lifecycle.py | 139 | except NamespaceAlreadyExistsError: | CODE |
| HIGH | test/s3vectors/conftest.py | 42 | except (OSError, urllib.error.URLError): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | install.sh | 6 | # Usage: | COMMENT |
| LOW | weed/filer/filer.go | 957 | // Example usage: | COMMENT |
| LOW | weed/wdclient/vidmap_client.go | 141 | // Example usage: | COMMENT |
| LOW | weed/worker/tasks/base/volume_utils.go | 14 | // Example usage: | COMMENT |
| LOW | docker/compose/test-git-on-mount.sh | 14 | # Usage: | COMMENT |
| LOW | test/s3/proxy_signature/test.sh | 5 | # Usage: | COMMENT |
| LOW | test/s3tables/catalog/docker-compose.test.yaml | 6 | # Usage: | COMMENT |
| LOW | test/samba/run.sh | 17 | # Usage: | COMMENT |
| LOW | test/pjdfstest/run.sh | 13 | # Usage: | COMMENT |
| LOW | k8s/charts/seaweedfs/openshift-values.yaml | 20 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | terraform/examples/aws-ha-distributed/main.tf | 7 | # This is a scaffold: it provisions instances, protected EBS data disks, and the | COMMENT |
| MEDIUM | weed/notification/webhook/webhook_queue_test.go | 795 | // the scaffold ships exactly that combination, and a named target must not | COMMENT |
| MEDIUM | test/s3/parquet/test_cross_filesystem_compatibility.py | 302 | except Exception as e: # noqa: BLE001 - Top-level exception handler for test orchestration | CODE |
| MEDIUM | test/s3/parquet/test_cross_filesystem_compatibility.py | 339 | except Exception as e: # noqa: BLE001 - Top-level exception handler for test orchestration | CODE |
| MEDIUM | test/volume_server/DEV_PLAN.md | 413 | ### Phase 0: Harness and scaffolding | COMMENT |
| MEDIUM | test/postgres/SETUP_OVERVIEW.md | 11 | ├── docker-compose.yml # Multi-service orchestration | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | weed/server/volume_grpc_tier_upload.go | 68 | // check whether the existing backend storage is the same as requested | COMMENT |
| HIGH | .github/pull_request_template.md | 17 | # Checks for AI generated PRs | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | test/s3tables/catalog_clickhouse/append_rows.py | 0 | append rows to an existing iceberg table via the seaweedfs rest catalog. used by the doris integration test to materiali | STRING |
| HIGH | test/s3tables/catalog_dremio/append_rows.py | 0 | append rows to an existing iceberg table via the seaweedfs rest catalog. used by the doris integration test to materiali | STRING |
| HIGH | test/s3tables/catalog_doris/append_rows.py | 0 | append rows to an existing iceberg table via the seaweedfs rest catalog. used by the doris integration test to materiali | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test/s3/error_compat/s3_error_compat_test.py | 14 | CODE | |
| LOW | test/s3/error_compat/s3_error_compat_test.py | 14 | CODE | |
| LOW | test/s3/parquet/test_cross_filesystem_compatibility.py | 49 | CODE | |
| LOW | test/s3/parquet/test_cross_filesystem_compatibility.py | 50 | CODE | |
| LOW | test/s3/parquet/debug_write_dataset.py | 36 | CODE | |
| LOW | test/s3/parquet/test_implicit_directory_fix.py | 13 | CODE | |
| LOW | test/s3/parquet/test_implicit_directory_fix.py | 21 | CODE | |
| LOW | test/s3/parquet/example_pyarrow_native.py | 33 | CODE | |
| LOW | test/s3tables/unity_catalog/delta_rs_writer.py | 25 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test/s3/parquet/debug_write_dataset.py | 38 | CODE | |
| LOW | test/s3/parquet/test_pyarrow_native_s3.py | 184 | CODE | |
| LOW | test/s3/parquet/test_pyarrow_native_s3.py | 271 | CODE | |
| LOW | .github/scripts/helm_jwt_keys.py | 144 | CODE | |
| LOW | postgres-examples/test_client.py | 103 | CODE | |
| LOW | postgres-examples/test_client.py | 145 | CODE | |
| LOW | postgres-examples/test_client.py | 242 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | test/s3/parquet/s3_parquet_test.py | 168 | Helper to discover all parquet files for a given path. Args: path: S3 path (file or directory) | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | k8s/charts/seaweedfs/values.yaml | 429 | # If these don't meet your needs, you can use "custom" here along with extraVolumes and extraVolumeMounts | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test/s3/parquet/test_implicit_directory_fix.py | 31 | logger = logging.getLogger(__name__) | CODE |