Neon: Serverless Postgres. We separated storage and compute to offer autoscaling, code-like database branching, and scale to zero.
This report summarizes scanner evidence for neondatabase/neon, a Rust project with 23,186 GitHub stars. SynthScan examined 444,432 lines of code across 1505 source files, recording 1890 pattern matches distributed across 23 syntactic categories. The legacy adjusted pattern signal is 5.6 (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? 1486 finding(s).
Are imports declared and package/API names verified? 216 finding(s).
Are wrappers, guards, and repeated structures necessary? 734 finding(s).
Which changes need focused human review? 1890 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 1890 distinct pattern matches across 23 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 | run_clippy.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | .config/hakari.toml | 1 | # This file contains settings for `cargo hakari`. | COMMENT |
| LOW | test_runner/websocket_tunnel.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | test_runner/regress/test_pg_regress.py | 61 | # 9.5) is that all the regression tests that deal with unlogged tables | COMMENT |
| LOW | test_runner/regress/test_tenant_relocation.py | 461 | pageserver_http.configure_failpoints(("pageserver-wal-ingest-logical-message-sleep", "off")) | COMMENT |
| LOW | test_runner/regress/test_tenant_relocation.py | 481 | # | COMMENT |
| LOW | test_runner/regress/test_tenant_relocation.py | 501 | # The bug occurs if the child branch's walreceiver runs before the | COMMENT |
| LOW | test_runner/regress/test_tenant_relocation.py | 521 | # put_rel_creation: | COMMENT |
| LOW | test_runner/regress/test_next_xid.py | 301 | # run a workload that consumes a lot of multi-XIDs until we approach that, but that | COMMENT |
| LOW | test_runner/regress/test_compatibility.py | 41 | # The path to the snapshot is configured by COMPATIBILITY_SNAPSHOT_DIR environment variable. | COMMENT |
| LOW | test_runner/regress/test_compatibility.py | 61 | # ./scripts/pytest -k test_create_snapshot | COMMENT |
| LOW | test_runner/regress/test_compatibility.py | 81 | # # Build previous version of binaries and store them somewhere: | COMMENT |
| LOW | test_runner/regress/test_compatibility.py | 101 | # export DEFAULT_PG_VERSION=17 | COMMENT |
| LOW | test_runner/regress/test_sharding.py | 681 | # Assert on how many reconciles happened during the process. This is something of an | COMMENT |
| LOW | test_runner/regress/test_sharding.py | 1481 | workload.validate() | COMMENT |
| LOW | test_runner/regress/test_remote_storage.py | 41 | # | COMMENT |
| LOW | test_runner/regress/test_timeline_detach_ancestor.py | 741 | COMMENT | |
| LOW | test_runner/regress/test_timeline_detach_ancestor.py | 1921 | # TEST: 1. tad which partially succeeds, one returns 500 | COMMENT |
| LOW | test_runner/regress/test_hot_standby.py | 121 | # in protocol version v2 two LSNs were introduced: main request_lsn (apply LSN | COMMENT |
| LOW | test_runner/regress/test_download_extensions.py | 261 | # when the library is used in the query. | COMMENT |
| LOW | test_runner/regress/test_tenant_detach.py | 141 | COMMENT | |
| LOW | test_runner/regress/test_tenant_detach.py | 161 | # signal to all in-progress tasks associated with the tenant. | COMMENT |
| LOW | test_runner/regress/test_pageserver_secondary.py | 161 | COMMENT | |
| LOW | test_runner/regress/test_wal_acceptor.py | 1181 | # Now recheck again flush_lsn and exit if it is good | COMMENT |
| LOW | test_runner/regress/test_wal_acceptor.py | 1781 | sk.http_client().timeline_digest(tenant_id, timeline_id, timeline_start_lsn, dst_flush_lsn) | COMMENT |
| LOW | test_runner/regress/test_branch_and_gc.py | 21 | # Consider two LSNs `lsn1` and `lsn2` with some delta files as follows: | COMMENT |
| LOW | test_runner/regress/test_branch_and_gc.py | 41 | # ... | COMMENT |
| LOW | test_runner/regress/test_branch_and_gc.py | 101 | ) | COMMENT |
| LOW | test_runner/regress/test_nbtree_pagesplit_cycleid.py | 81 | "DECLARE foo NO SCROLL CURSOR FOR SELECT row_number() over () FROM t ORDER BY id ASC" | COMMENT |
| LOW | test_runner/regress/test_nbtree_pagesplit_cycleid.py | 101 | ses3t = threading.Thread(target=vacuum_freeze_t, args=(ses3, wait_evt)) | COMMENT |
| LOW | test_runner/regress/test_wal_restore.py | 201 | assert restored.safe_psql("select count(*) from t", user="cloud_admin") == [(300000,)] | COMMENT |
| LOW | test_runner/regress/test_wal_restore.py | 221 | # superuser_name = "databricks_superuser" | COMMENT |
| LOW | test_runner/regress/test_wal_restore.py | 241 | # } | COMMENT |
| LOW | test_runner/regress/test_wal_restore.py | 261 | # test_instance_name_1, | COMMENT |
| LOW | test_runner/regress/test_wal_restore.py | 281 | COMMENT | |
| LOW | test_runner/regress/test_wal_restore.py | 301 | COMMENT | |
| LOW | test_runner/regress/test_replica_start.py | 341 | # The transaction in primary has not committed yet. | COMMENT |
| LOW | test_runner/performance/test_compaction.py | 141 | compaction_mapped_rss = after - before | COMMENT |
| LOW | …st_runner/performance/test_storage_controller_scale.py | 381 | f.result() | COMMENT |
| LOW | test_runner/performance/test_random_writes.py | 21 | env = neon_with_baseline | COMMENT |
| LOW | test_runner/performance/test_compute_startup.py | 21 | # `ping localhost` | COMMENT |
| LOW | test_runner/performance/test_compute_startup.py | 41 | endpoint = None | COMMENT |
| LOW | test_runner/performance/test_write_amplification.py | 1 | # Demonstrate Write Amplification with naive oldest-first layer checkpointing | COMMENT |
| LOW | test_runner/performance/test_write_amplification.py | 41 | cur.execute(f"create index on tbl{i} (i);") | COMMENT |
| LOW | …est_pageserver_max_throughput_getpage_at_latest_lsn.py | 181 | 0, 17 | COMMENT |
| LOW | storage_scrubber/src/lib.rs | 41 | const CLOUD_ADMIN_API_TOKEN_ENV_VAR: &str = "CLOUD_ADMIN_API_TOKEN"; | COMMENT |
| LOW | safekeeper/spec/modelcheck.sh | 41 | echo "" >> $outfile | COMMENT |
| LOW | safekeeper/src/control_file_upgrade.rs | 101 | /// of last record streamed to everyone) | COMMENT |
| LOW | safekeeper/src/control_file_upgrade.rs | 121 | pub proposer_uuid: PgUuid, | COMMENT |
| LOW | safekeeper/src/control_file_upgrade.rs | 161 | /// Since which LSN safekeeper has (had) WAL for this timeline. | COMMENT |
| LOW | safekeeper/src/control_file_upgrade.rs | 181 | // Peers and their state as we remember it. Knowing peers themselves is | COMMENT |
| LOW | safekeeper/src/control_file_upgrade.rs | 201 | /// for correctness, exists for monitoring purposes. | COMMENT |
| LOW | safekeeper/src/control_file_upgrade.rs | 221 | /// only by walproposer. | COMMENT |
| LOW | safekeeper/src/control_file_upgrade.rs | 281 | /// Unique id of the last *elected* proposer we dealt with. Not needed | COMMENT |
| LOW | safekeeper/src/control_file_upgrade.rs | 301 | /// walproposer proto called 'truncate_lsn'. Updates are currently drived | COMMENT |
| LOW | safekeeper/src/recovery.rs | 41 | let cancel = tli.cancel.clone(); | COMMENT |
| LOW | safekeeper/src/timeline.rs | 601 | self.cancel.cancel(); | COMMENT |
| LOW | safekeeper/src/timeline.rs | 641 | Ok(dir_existed) | COMMENT |
| LOW | safekeeper/src/pull_timeline.rs | 121 | /// Build a tokio_tar stream that sends encoded bytes into a Bytes channel. | COMMENT |
| LOW | safekeeper/src/pull_timeline.rs | 281 | COMMENT | |
| 680 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test_runner/regress/test_compute_http.py | 17 | def test_compute_no_scope_claim(neon_simple_env: NeonEnv): | CODE |
| LOW | test_runner/regress/test_compute_http.py | 50 | def test_compute_admin_scope_claim(neon_simple_env: NeonEnv, audience: str | None): | CODE |
| LOW | test_runner/regress/test_sni_router.py | 156 | def test_pg_sni_router_in_proxy( | CODE |
| LOW | …st_runner/regress/test_pageserver_metric_collection.py | 203 | def test_metric_collection_cleans_up_tempfile( | STRING |
| LOW | …st_runner/regress/test_pageserver_metric_collection.py | 329 | def iterate_pageserver_workdir(path: Path, prefix: str) -> PrefixPartitionedFiles: | STRING |
| LOW | test_runner/regress/test_pg_regress.py | 420 | def test_tx_abort_with_many_relations( | CODE |
| LOW | test_runner/regress/test_tenants_with_remote_storage.py | 102 | def test_tenants_attached_after_download(neon_env_builder: NeonEnvBuilder): | CODE |
| LOW | test_runner/regress/test_tenants_with_remote_storage.py | 199 | def test_tenant_redownloads_truncated_file_on_startup( | STRING |
| LOW | test_runner/regress/test_tenant_relocation.py | 148 | def switch_pg_to_new_pageserver( | CODE |
| LOW | test_runner/regress/test_tenant_relocation.py | 396 | def test_emergency_relocate_with_branches_slow_replay( | CODE |
| LOW | test_runner/regress/test_tenant_relocation.py | 550 | def test_emergency_relocate_with_branches_createdb( | CODE |
| LOW | test_runner/regress/test_disk_usage_eviction.py | 49 | def test_min_resident_size_override_handling( | CODE |
| LOW | test_runner/regress/test_disk_usage_eviction.py | 169 | def pageserver_start_with_disk_usage_eviction( | CODE |
| LOW | test_runner/regress/test_disk_usage_eviction.py | 360 | def test_broken_tenants_are_skipped(eviction_env: EvictionEnv): | CODE |
| LOW | test_runner/regress/test_disk_usage_eviction.py | 413 | def test_pageserver_evicts_until_pressure_is_relieved( | CODE |
| LOW | test_runner/regress/test_disk_usage_eviction.py | 447 | def test_pageserver_respects_overridden_resident_size( | CODE |
| LOW | test_runner/regress/test_disk_usage_eviction.py | 524 | def test_pageserver_falls_back_to_global_lru(eviction_env: EvictionEnv, order: EvictionOrder): | CODE |
| LOW | test_runner/regress/test_disk_usage_eviction.py | 557 | def test_partial_evict_tenant(eviction_env: EvictionEnv, order: EvictionOrder): | CODE |
| LOW | test_runner/regress/test_disk_usage_eviction.py | 734 | def test_statvfs_error_handling(eviction_env: EvictionEnv): | CODE |
| LOW | test_runner/regress/test_disk_usage_eviction.py | 756 | def test_statvfs_pressure_usage(eviction_env: EvictionEnv): | CODE |
| LOW | test_runner/regress/test_disk_usage_eviction.py | 807 | def test_statvfs_pressure_min_avail_bytes(eviction_env: EvictionEnv): | CODE |
| LOW | test_runner/regress/test_disk_usage_eviction.py | 843 | def more_than_min_avail_bytes_freed(): | CODE |
| LOW | test_runner/regress/test_disk_usage_eviction.py | 852 | def test_secondary_mode_eviction(eviction_env_ha: EvictionEnv): | CODE |
| LOW | test_runner/regress/test_disk_usage_eviction.py | 900 | def test_import_timeline_disk_pressure_eviction( | CODE |
| LOW | test_runner/regress/test_pageserver_catchup.py | 13 | def test_pageserver_catchup_while_compute_down(neon_env_builder: NeonEnvBuilder): | CODE |
| LOW | test_runner/regress/test_next_xid.py | 287 | def test_multixid_wraparound_import( | CODE |
| LOW | test_runner/regress/test_compatibility.py | 214 | def test_backward_compatibility( | CODE |
| LOW | test_runner/regress/test_compatibility.py | 243 | def test_forward_compatibility( | CODE |
| LOW | test_runner/regress/test_compatibility.py | 506 | def test_historic_storage_formats( | CODE |
| LOW | test_runner/regress/test_pageserver_api.py | 64 | def test_pageserver_http_get_wal_receiver_not_found(neon_simple_env: NeonEnv): | CODE |
| LOW | test_runner/regress/test_pageserver_api.py | 113 | def test_pageserver_http_get_wal_receiver_success(neon_simple_env: NeonEnv): | CODE |
| LOW | test_runner/regress/test_pageserver_api.py | 132 | def test_pageserver_http_api_client(neon_simple_env: NeonEnv): | CODE |
| LOW | test_runner/regress/test_pageserver_api.py | 138 | def test_pageserver_http_api_client_auth_enabled(neon_env_builder: NeonEnvBuilder): | CODE |
| LOW | test_runner/regress/test_pageserver_api.py | 149 | def test_pageserver_http_index_part_force_patch(neon_env_builder: NeonEnvBuilder): | CODE |
| LOW | test_runner/regress/test_pageserver_api.py | 170 | def test_pageserver_get_tenant_visible_size(neon_env_builder: NeonEnvBuilder): | CODE |
| LOW | test_runner/regress/test_unstable_extensions.py | 12 | def test_unstable_extensions_installation(neon_simple_env: NeonEnv): | CODE |
| LOW | test_runner/regress/test_neon_cli.py | 23 | def helper_compare_timeline_list( | CODE |
| LOW | test_runner/regress/test_neon_cli.py | 69 | def helper_compare_tenant_list(pageserver_http_client: PageserverHttpClient, env: NeonEnv): | CODE |
| LOW | test_runner/regress/test_neon_cli.py | 156 | def test_cli_start_stop_multi(neon_env_builder: NeonEnvBuilder): | CODE |
| LOW | test_runner/regress/test_neon_cli.py | 205 | def test_parse_project_git_version_output_positive(): | CODE |
| LOW | test_runner/regress/test_neon_cli.py | 225 | def test_parse_project_git_version_output_local_docker(): | CODE |
| LOW | test_runner/regress/test_neon_cli.py | 240 | def test_binaries_version_parses(neon_binpath: Path): | CODE |
| LOW | test_runner/regress/test_layer_eviction.py | 260 | def ensure_resident_and_remote_size_metrics(): | CODE |
| LOW | test_runner/regress/test_ddl_forwarding.py | 314 | def test_ddl_forwarding_invalid_db(neon_simple_env: NeonEnv): | CODE |
| LOW | test_runner/regress/test_ddl_forwarding.py | 358 | def test_ddl_forwarding_role_specs(neon_simple_env: NeonEnv): | CODE |
| LOW | test_runner/regress/test_event_trigger_extension.py | 23 | def neon_env_builder_event_trigger_extension( | CODE |
| LOW | test_runner/regress/test_event_trigger_extension.py | 51 | def test_event_trigger_extension(neon_env_builder_event_trigger_extension: NeonEnvBuilder): | CODE |
| LOW | test_runner/regress/test_safekeeper_migration.py | 24 | def test_safekeeper_migration_simple(neon_env_builder: NeonEnvBuilder): | CODE |
| LOW | test_runner/regress/test_safekeeper_migration.py | 91 | def test_new_sk_set_validation(neon_env_builder: NeonEnvBuilder): | CODE |
| LOW | test_runner/regress/test_safekeeper_migration.py | 126 | def test_safekeeper_migration_common_set_failpoints(neon_env_builder: NeonEnvBuilder): | CODE |
| LOW | test_runner/regress/test_safekeeper_migration.py | 202 | def test_sk_generation_aware_tombstones(neon_env_builder: NeonEnvBuilder): | CODE |
| LOW | test_runner/regress/test_safekeeper_migration.py | 291 | def test_safekeeper_migration_stale_timeline(neon_env_builder: NeonEnvBuilder): | CODE |
| LOW | test_runner/regress/test_safekeeper_migration.py | 383 | def test_pull_from_most_advanced_sk(neon_env_builder: NeonEnvBuilder): | CODE |
| LOW | test_runner/regress/test_safekeeper_migration.py | 465 | def test_abort_safekeeper_migration(neon_env_builder: NeonEnvBuilder): | CODE |
| LOW | test_runner/regress/test_auth.py | 27 | def assert_client_not_authorized(env: NeonEnv, http_client: PageserverHttpClient): | CODE |
| LOW | test_runner/regress/test_auth.py | 75 | def test_compute_auth_to_pageserver(neon_env_builder: NeonEnvBuilder): | CODE |
| LOW | test_runner/regress/test_auth.py | 94 | def test_pageserver_multiple_keys(neon_env_builder: NeonEnvBuilder): | CODE |
| LOW | test_runner/regress/test_auth.py | 148 | def test_pageserver_key_reload(neon_env_builder: NeonEnvBuilder): | CODE |
| LOW | test_runner/regress/test_proxy_metric_collection.py | 43 | def proxy_with_metric_collector( | CODE |
| LOW | test_runner/regress/test_proxy_metric_collection.py | 80 | async def test_proxy_metric_collection( | CODE |
| 486 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | test_runner/regress/test_pageserver_secondary.py | 611 | # ============================== | COMMENT |
| MEDIUM | test_runner/regress/test_pageserver_secondary.py | 626 | # =================================================================== | COMMENT |
| MEDIUM | test_runner/regress/test_pageserver_secondary.py | 659 | # ================================================================== | COMMENT |
| MEDIUM | test_runner/regress/test_pageserver_secondary.py | 691 | # ======================== | COMMENT |
| MEDIUM | test_runner/regress/test_pageserver_secondary.py | 697 | # =================================== | COMMENT |
| MEDIUM⚡ | test_runner/performance/test_branching.py | 15 | # ----------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | test_runner/performance/test_branching.py | 17 | # ----------------------------------------------------------------------- | COMMENT |
| MEDIUM | test_runner/performance/test_branching.py | 99 | # ----------------------------------------------------------------------- | COMMENT |
| MEDIUM | test_runner/performance/test_branching.py | 101 | # ----------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | .github/workflows/random-ops-test.yml | 6 | # ┌───────────── minute (0 - 59) | COMMENT |
| MEDIUM⚡ | .github/workflows/random-ops-test.yml | 7 | # │ ┌───────────── hour (0 - 23) | COMMENT |
| MEDIUM⚡ | .github/workflows/random-ops-test.yml | 8 | # │ │ ┌───────────── day of the month (1 - 31) | COMMENT |
| MEDIUM⚡ | .github/workflows/random-ops-test.yml | 9 | # │ │ │ ┌───────────── month (1 - 12 or JAN-DEC) | COMMENT |
| MEDIUM⚡ | .github/workflows/random-ops-test.yml | 10 | # │ │ │ │ ┌───────────── day of the week (0 - 6 or SUN-SAT) | COMMENT |
| MEDIUM⚡ | .github/workflows/force-test-extensions-upgrade.yml | 5 | # ┌───────────── minute (0 - 59) | COMMENT |
| MEDIUM⚡ | .github/workflows/force-test-extensions-upgrade.yml | 6 | # │ ┌───────────── hour (0 - 23) | COMMENT |
| MEDIUM⚡ | .github/workflows/force-test-extensions-upgrade.yml | 7 | # │ │ ┌───────────── day of the month (1 - 31) | COMMENT |
| MEDIUM⚡ | .github/workflows/force-test-extensions-upgrade.yml | 8 | # │ │ │ ┌───────────── month (1 - 12 or JAN-DEC) | COMMENT |
| MEDIUM⚡ | .github/workflows/force-test-extensions-upgrade.yml | 9 | # │ │ │ │ ┌───────────── day of the week (0 - 6 or SUN-SAT) | COMMENT |
| MEDIUM⚡ | .github/workflows/ingest_benchmark.yml | 9 | # ┌───────────── minute (0 - 59) | COMMENT |
| MEDIUM⚡ | .github/workflows/ingest_benchmark.yml | 10 | # │ ┌───────────── hour (0 - 23) | COMMENT |
| MEDIUM⚡ | .github/workflows/ingest_benchmark.yml | 11 | # │ │ ┌───────────── day of the month (1 - 31) | COMMENT |
| MEDIUM⚡ | .github/workflows/ingest_benchmark.yml | 12 | # │ │ │ ┌───────────── month (1 - 12 or JAN-DEC) | COMMENT |
| MEDIUM⚡ | .github/workflows/ingest_benchmark.yml | 13 | # │ │ │ │ ┌───────────── day of the week (0 - 6 or SUN-SAT) | COMMENT |
| MEDIUM⚡ | .github/workflows/periodic_pagebench.yml | 6 | # ┌───────────── minute (0 - 59) | COMMENT |
| MEDIUM⚡ | .github/workflows/periodic_pagebench.yml | 7 | # │ ┌───────────── hour (0 - 23) | COMMENT |
| MEDIUM⚡ | .github/workflows/periodic_pagebench.yml | 8 | # │ │ ┌───────────── day of the month (1 - 31) | COMMENT |
| MEDIUM⚡ | .github/workflows/periodic_pagebench.yml | 9 | # │ │ │ ┌───────────── month (1 - 12 or JAN-DEC) | COMMENT |
| MEDIUM⚡ | .github/workflows/periodic_pagebench.yml | 10 | # │ │ │ │ ┌───────────── day of the week (0 - 6 or SUN-SAT) | COMMENT |
| MEDIUM⚡ | .github/workflows/large_oltp_growth.yml | 8 | # ┌───────────── minute (0 - 59) | COMMENT |
| MEDIUM⚡ | .github/workflows/large_oltp_growth.yml | 9 | # │ ┌───────────── hour (0 - 23) | COMMENT |
| MEDIUM⚡ | .github/workflows/large_oltp_growth.yml | 10 | # │ │ ┌───────────── day of the month (1 - 31) | COMMENT |
| MEDIUM⚡ | .github/workflows/large_oltp_growth.yml | 11 | # │ │ │ ┌───────────── month (1 - 12 or JAN-DEC) | COMMENT |
| MEDIUM⚡ | .github/workflows/large_oltp_growth.yml | 12 | # │ │ │ │ ┌───────────── day of the week (0 - 6 or SUN-SAT) | COMMENT |
| MEDIUM⚡ | .github/workflows/cloud-regress.yml | 5 | # ┌───────────── minute (0 - 59) | COMMENT |
| MEDIUM⚡ | .github/workflows/cloud-regress.yml | 6 | # │ ┌───────────── hour (0 - 23) | COMMENT |
| MEDIUM⚡ | .github/workflows/cloud-regress.yml | 7 | # │ │ ┌───────────── day of the month (1 - 31) | COMMENT |
| MEDIUM⚡ | .github/workflows/cloud-regress.yml | 8 | # │ │ │ ┌───────────── month (1 - 12 or JAN-DEC) | COMMENT |
| MEDIUM⚡ | .github/workflows/cloud-regress.yml | 9 | # │ │ │ │ ┌───────────── day of the week (0 - 6 or SUN-SAT) | COMMENT |
| MEDIUM⚡ | .github/workflows/large_oltp_benchmark.yml | 10 | # ┌───────────── minute (0 - 59) | COMMENT |
| MEDIUM⚡ | .github/workflows/large_oltp_benchmark.yml | 11 | # │ ┌───────────── hour (0 - 23) | COMMENT |
| MEDIUM⚡ | .github/workflows/large_oltp_benchmark.yml | 12 | # │ │ ┌───────────── day of the month (1 - 31) | COMMENT |
| MEDIUM⚡ | .github/workflows/large_oltp_benchmark.yml | 13 | # │ │ │ ┌───────────── month (1 - 12 or JAN-DEC) | COMMENT |
| MEDIUM⚡ | .github/workflows/large_oltp_benchmark.yml | 14 | # │ │ │ │ ┌───────────── day of the week (0 - 6 or SUN-SAT) | COMMENT |
| MEDIUM⚡ | .github/workflows/build_and_test_fully.yml | 6 | # ┌───────────── minute (0 - 59) | COMMENT |
| MEDIUM⚡ | .github/workflows/build_and_test_fully.yml | 7 | # │ ┌───────────── hour (0 - 23) | COMMENT |
| MEDIUM⚡ | .github/workflows/build_and_test_fully.yml | 8 | # │ │ ┌───────────── day of the month (1 - 31) | COMMENT |
| MEDIUM⚡ | .github/workflows/build_and_test_fully.yml | 9 | # │ │ │ ┌───────────── month (1 - 12 or JAN-DEC) | COMMENT |
| MEDIUM⚡ | .github/workflows/build_and_test_fully.yml | 10 | # │ │ │ │ ┌───────────── day of the week (0 - 6 or SUN-SAT) | COMMENT |
| MEDIUM⚡ | .github/workflows/cloud-extensions.yml | 5 | # ┌───────────── minute (0 - 59) | COMMENT |
| MEDIUM⚡ | .github/workflows/cloud-extensions.yml | 6 | # │ ┌───────────── hour (0 - 23) | COMMENT |
| MEDIUM⚡ | .github/workflows/cloud-extensions.yml | 7 | # │ │ ┌───────────── day of the month (1 - 31) | COMMENT |
| MEDIUM⚡ | .github/workflows/cloud-extensions.yml | 8 | # │ │ │ ┌───────────── month (1 - 12 or JAN-DEC) | COMMENT |
| MEDIUM⚡ | .github/workflows/cloud-extensions.yml | 9 | # │ │ │ │ ┌───────────── day of the week (0 - 6 or SUN-SAT) | COMMENT |
| MEDIUM⚡ | .github/workflows/benchbase_tpcc.yml | 6 | # ┌───────────── minute (0 - 59) | COMMENT |
| MEDIUM⚡ | .github/workflows/benchbase_tpcc.yml | 7 | # │ ┌───────────── hour (0 - 23) | COMMENT |
| MEDIUM⚡ | .github/workflows/benchbase_tpcc.yml | 8 | # │ │ ┌───────────── day of the month (1 - 31) | COMMENT |
| MEDIUM⚡ | .github/workflows/benchbase_tpcc.yml | 9 | # │ │ │ ┌───────────── month (1 - 12 or JAN-DEC) | COMMENT |
| MEDIUM⚡ | .github/workflows/benchbase_tpcc.yml | 10 | # │ │ │ │ ┌───────────── day of the week (0 - 6 or SUN-SAT) | COMMENT |
| MEDIUM⚡ | .github/workflows/pg-clients.yml | 6 | # ┌───────────── minute (0 - 59) | COMMENT |
| 19 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pre-commit.py | 3 | CODE | |
| LOW | test_runner/conftest.py | 1 | CODE | |
| LOW | test_runner/test_broken.py | 1 | CODE | |
| LOW | test_runner/regress/test_read_validation.py | 1 | CODE | |
| LOW | test_runner/regress/test_compute_http.py | 1 | CODE | |
| LOW | test_runner/regress/test_lfc_prefetch.py | 1 | CODE | |
| LOW | test_runner/regress/test_sni_router.py | 1 | CODE | |
| LOW | …st_runner/regress/test_pageserver_metric_collection.py | 1 | CODE | |
| LOW | test_runner/regress/test_pg_regress.py | 4 | CODE | |
| LOW | test_runner/regress/test_close_fds.py | 1 | CODE | |
| LOW | test_runner/regress/test_tenants_with_remote_storage.py | 9 | CODE | |
| LOW | test_runner/regress/test_ancestor_branch.py | 1 | CODE | |
| LOW | test_runner/regress/test_lfc_resize.py | 1 | CODE | |
| LOW | test_runner/regress/test_old_request_lsn.py | 1 | CODE | |
| LOW | test_runner/regress/test_prefetch_buffer_resize.py | 1 | CODE | |
| LOW | test_runner/regress/test_tenant_relocation.py | 1 | CODE | |
| LOW | test_runner/regress/test_setup.py | 3 | CODE | |
| LOW | test_runner/regress/test_disk_usage_eviction.py | 1 | CODE | |
| LOW | test_runner/regress/test_s3_restore.py | 1 | CODE | |
| LOW | test_runner/regress/test_pageserver_catchup.py | 1 | CODE | |
| LOW | test_runner/regress/test_next_xid.py | 1 | CODE | |
| LOW | test_runner/regress/test_compatibility.py | 1 | CODE | |
| LOW | test_runner/regress/test_pageserver_api.py | 1 | CODE | |
| LOW | test_runner/regress/test_logging.py | 1 | CODE | |
| LOW | test_runner/regress/test_unstable_extensions.py | 1 | CODE | |
| LOW | test_runner/regress/test_neon_cli.py | 1 | CODE | |
| LOW | test_runner/regress/test_layer_eviction.py | 1 | CODE | |
| LOW | test_runner/regress/test_ddl_forwarding.py | 1 | CODE | |
| LOW | test_runner/regress/test_event_trigger_extension.py | 1 | CODE | |
| LOW | test_runner/regress/test_attach_tenant_config.py | 1 | CODE | |
| LOW | test_runner/regress/test_build_info_metric.py | 1 | CODE | |
| LOW | test_runner/regress/test_safekeeper_migration.py | 1 | CODE | |
| LOW | test_runner/regress/test_auth.py | 1 | CODE | |
| LOW | test_runner/regress/test_proxy_metric_collection.py | 1 | CODE | |
| LOW | test_runner/regress/test_basebackup_error.py | 1 | CODE | |
| LOW | test_runner/regress/test_timeline_gc_blocking.py | 1 | CODE | |
| LOW | test_runner/regress/test_readonly_node.py | 1 | CODE | |
| LOW | test_runner/regress/test_neon_local_cli.py | 1 | CODE | |
| LOW | …unner/regress/test_physical_and_logical_replicaiton.py | 1 | CODE | |
| LOW | test_runner/regress/test_basebackup.py | 1 | CODE | |
| LOW | test_runner/regress/test_combocid.py | 1 | CODE | |
| LOW | test_runner/regress/test_fsm_truncate.py | 1 | CODE | |
| LOW | …t_runner/regress/test_communicator_metrics_exporter.py | 1 | CODE | |
| LOW | test_runner/regress/test_layers_from_future.py | 1 | CODE | |
| LOW | test_runner/regress/test_truncate.py | 1 | CODE | |
| LOW | test_runner/regress/test_sharding.py | 1 | CODE | |
| LOW | test_runner/regress/test_multixact.py | 1 | CODE | |
| LOW | test_runner/regress/test_remote_storage.py | 1 | CODE | |
| LOW | test_runner/regress/test_recovery.py | 1 | CODE | |
| LOW | test_runner/regress/test_subscriber_restart.py | 1 | CODE | |
| LOW | test_runner/regress/test_compute_locales.py | 1 | CODE | |
| LOW | test_runner/regress/test_compute_locales.py | 8 | CODE | |
| LOW | test_runner/regress/test_compaction.py | 1 | CODE | |
| LOW | test_runner/regress/test_compute_reconfigure.py | 1 | CODE | |
| LOW | test_runner/regress/test_proxy_websockets.py | 1 | CODE | |
| LOW | test_runner/regress/test_timeline_detach_ancestor.py | 1 | CODE | |
| LOW | test_runner/regress/test_compute_termination.py | 1 | CODE | |
| LOW | test_runner/regress/test_clog_truncate.py | 1 | CODE | |
| LOW | test_runner/regress/test_tenant_tasks.py | 1 | CODE | |
| LOW | test_runner/regress/test_fullbackup.py | 1 | CODE | |
| 136 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | .config/hakari.toml | 1 | # This file contains settings for `cargo hakari`. | COMMENT |
| MEDIUM | test_runner/regress/test_compute_http.py | 29 | # Create an admin-scoped HTTP client | COMMENT |
| MEDIUM | test_runner/regress/test_compute_http.py | 65 | # Create an admin-scoped HTTP client | COMMENT |
| MEDIUM | test_runner/regress/test_signed_char.py | 43 | # Create a test table | STRING |
| MEDIUM | test_runner/regress/test_signed_char.py | 45 | # Create a GIN based index | STRING |
| MEDIUM | test_runner/regress/test_disk_usage_eviction.py | 869 | # Create a secondary mode location for the tenant, all tenants on one pageserver that will only | COMMENT |
| MEDIUM | test_runner/regress/test_compatibility.py | 594 | # Create the timeline on safekeepers manually. | COMMENT |
| MEDIUM | test_runner/regress/test_neon_cli.py | 50 | # Create a branch for us | COMMENT |
| MEDIUM | test_runner/regress/test_neon_cli.py | 54 | # Create a nested branch | COMMENT |
| MEDIUM | test_runner/regress/test_layer_eviction.py | 36 | # Create a number of layers in the tenant | COMMENT |
| MEDIUM | test_runner/regress/test_rest_broker.py | 19 | # Create the required roles for PostgREST authentication | COMMENT |
| MEDIUM | test_runner/regress/test_rest_broker.py | 26 | # Create the pgrst schema and configuration function required by the rest broker | COMMENT |
| MEDIUM | test_runner/regress/test_layers_from_future.py | 97 | # Create a number of layers in the tenant | COMMENT |
| MEDIUM | test_runner/regress/test_sharding.py | 1335 | # Create a tenant with secondary locations enabled | COMMENT |
| MEDIUM | test_runner/regress/test_sharding.py | 2060 | # Create a branch and write some data | COMMENT |
| MEDIUM | test_runner/regress/test_recovery.py | 35 | # Create a branch for us | COMMENT |
| MEDIUM | test_runner/regress/test_timeline_archive.py | 312 | # Create a branch and archive it | COMMENT |
| MEDIUM | test_runner/regress/test_timeline_archive.py | 772 | # Create a branch and write some additional data to the parent | COMMENT |
| MEDIUM | test_runner/regress/test_timeline_archive.py | 931 | # Create a branch and archive it | COMMENT |
| MEDIUM | test_runner/regress/test_timeline_archive.py | 1046 | # Create a branch and archive it | COMMENT |
| MEDIUM | test_runner/regress/test_timeline_archive.py | 1163 | # Create a branch | COMMENT |
| MEDIUM | test_runner/regress/test_branching.py | 284 | # Create a timeline whose creation will succeed. The tenant will need at least one | COMMENT |
| MEDIUM | test_runner/regress/test_branching.py | 290 | # Create a timeline whose upload to remote storage will be blocked | COMMENT |
| MEDIUM | test_runner/regress/test_gc_aggressive.py | 22 | # Create a table with {NUM_ROWS} rows, and perform {UPDATES_TO_PERFORM} random | COMMENT |
| MEDIUM | test_runner/regress/test_branch_behind.py | 16 | # Create a couple of branches off the main branch, at a historical point in time. | COMMENT |
| MEDIUM | test_runner/regress/test_subscriber_branching.py | 58 | # Create a test user to avoid using superuser | COMMENT |
| MEDIUM | test_runner/regress/test_createuser.py | 26 | # Create a branch | COMMENT |
| MEDIUM | test_runner/regress/test_wal_acceptor.py | 1520 | # Create the environment in the test-specific output dir | COMMENT |
| MEDIUM | test_runner/regress/test_wal_acceptor.py | 2762 | # Create a timeline and endpoint | COMMENT |
| MEDIUM | …_runner/regress/test_hadron_ps_connectivity_metrics.py | 55 | # Create a tenant that has one primary and one secondary. Due to primary/secondary placement constraints, | COMMENT |
| MEDIUM | test_runner/regress/test_twophase.py | 69 | # Create a branch with the transaction in prepared state | COMMENT |
| MEDIUM | test_runner/regress/test_storage_scrubber.py | 237 | # Create an extra timeline, to ensure the scrubber isn't confused by multiple timelines | COMMENT |
| MEDIUM | test_runner/regress/test_storage_scrubber.py | 261 | # Create a timeline after split, to ensure scrubber can handle timelines that exist in child shards but not ancestor | COMMENT |
| MEDIUM | test_runner/regress/test_storage_scrubber.py | 395 | # Create a second timeline so that when we delete the first one, child shards still have some content in S3. | COMMENT |
| MEDIUM | test_runner/regress/test_vm_bits.py | 27 | # Create a test table for a few different scenarios and freeze it to set the VM bits. | COMMENT |
| MEDIUM | test_runner/regress/test_vm_bits.py | 150 | # Create a test table and freeze it to set the all-frozen VM bit on all pages. | COMMENT |
| MEDIUM | test_runner/regress/test_vm_bits.py | 234 | # Create a test table and freeze it to set the all-frozen VM bit on all pages. | COMMENT |
| MEDIUM | test_runner/regress/test_backpressure.py | 105 | # Create a branch for us | COMMENT |
| MEDIUM | test_runner/regress/test_storage_controller.py | 384 | # Create a tenant directly via pageserver HTTP API, skipping the storage controller | COMMENT |
| MEDIUM | test_runner/regress/test_storage_controller.py | 2243 | # Create a second timeline to ensure that import finds both | COMMENT |
| MEDIUM | test_runner/regress/test_broken_timeline.py | 122 | # Creating the timeline didn't finish. The other timelines on tenant should still be present and work normally. | COMMENT |
| MEDIUM | test_runner/regress/test_broken_timeline.py | 174 | # Creating the timeline didn't finish. The other timelines on tenant should still be present and work normally. | COMMENT |
| MEDIUM | test_runner/regress/test_broken_timeline.py | 208 | # Creating the timeline didn't finish. The other timelines on tenant should still be present and work normally. | COMMENT |
| MEDIUM | test_runner/regress/test_tenant_delete.py | 425 | # Create an unsharded tenant. | COMMENT |
| MEDIUM | test_runner/regress/test_lsn_mapping.py | 292 | # Create a new branch | COMMENT |
| MEDIUM | test_runner/regress/test_createdropdb.py | 35 | # Create a branch | COMMENT |
| MEDIUM | test_runner/regress/test_relations.py | 23 | # Create a relation in v1 | COMMENT |
| MEDIUM⚡ | test_runner/regress/test_relations.py | 65 | # Create a relation in v2 | COMMENT |
| MEDIUM | test_runner/regress/test_ondemand_slru_download.py | 36 | # Create a test table | COMMENT |
| MEDIUM | test_runner/regress/test_ondemand_slru_download.py | 98 | # Create a test table | COMMENT |
| MEDIUM | test_runner/regress/test_ondemand_slru_download.py | 152 | # Create a test table | COMMENT |
| MEDIUM | test_runner/regress/test_replica_start.py | 87 | # Create a replica. It should start up normally, thanks to the CLOG-scanning | STRING |
| MEDIUM | test_runner/regress/test_replica_start.py | 130 | # Create a replica. It should start up normally, thanks to the CLOG-scanning | STRING |
| MEDIUM | test_runner/regress/test_replica_start.py | 212 | # Create a replica. but before that, wait for the wal to be flushed to | STRING |
| MEDIUM | test_runner/regress/test_replica_start.py | 334 | # Create a replica at this LSN | STRING |
| MEDIUM | test_runner/regress/test_replica_start.py | 472 | # Create a replica. It should start up normally, thanks to the CLOG-scanning | STRING |
| MEDIUM | test_runner/regress/test_replica_start.py | 554 | # Create a replica. It should start up normally, thanks to the CLOG-scanning | STRING |
| MEDIUM | test_runner/regress/test_replica_start.py | 629 | # Create a replica. It should start up normally, thanks to the CLOG-scanning | STRING |
| MEDIUM | test_runner/regress/test_replica_start.py | 687 | # Create a replica. It should start up normally, because of ignore policy | STRING |
| MEDIUM | test_runner/regress/test_compute_monitor.py | 30 | # Create a new database | COMMENT |
| 8 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …st_runner/regress/test_pageserver_metric_collection.py | 0 | insert into foo select 'long string to consume some space' || g from generate_series(1, 1000) g | STRING |
| HIGH | test_runner/regress/test_gc_aggressive.py | 0 | insert into foo select 'long string to consume some space' || g from generate_series(1, 1000) g | STRING |
| HIGH | test_runner/regress/test_old_request_lsn.py | 0 | insert into foo select 'long string to consume some space' || g from generate_series(1, 1000) g | STRING |
| HIGH | test_runner/regress/test_pageserver_catchup.py | 0 | insert into foo select 'long string to consume some space' || g from generate_series(1, 1000) g | STRING |
| HIGH | test_runner/regress/test_timeline_size.py | 0 | insert into foo select 'long string to consume some space' || g from generate_series(1, 1000) g | STRING |
| HIGH | test_runner/regress/test_layer_eviction.py | 0 | insert into foo select 'long string to consume some space' || g from generate_series(1, 1000) g | STRING |
| HIGH | test_runner/regress/test_readonly_node.py | 0 | insert into foo select 'long string to consume some space' || g from generate_series(1, 1000) g | STRING |
| HIGH | test_runner/regress/test_branch_behind.py | 0 | insert into foo select 'long string to consume some space' || g from generate_series(1, 1000) g | STRING |
| HIGH | test_runner/regress/test_bad_connection.py | 0 | insert into foo select 'long string to consume some space' || g from generate_series(1, 1000) g | STRING |
| HIGH | test_runner/regress/test_change_pageserver.py | 0 | insert into foo select 'long string to consume some space' || g from generate_series(1, 1000) g | STRING |
| HIGH | test_runner/regress/test_tenant_detach.py | 0 | insert into foo select 'long string to consume some space' || g from generate_series(1, 1000) g | STRING |
| HIGH | test_runner/regress/test_pageserver_restart.py | 0 | insert into foo select 'long string to consume some space' || g from generate_series(1, 1000) g | STRING |
| HIGH | …nner/regress/test_walredo_not_left_behind_on_detach.py | 0 | insert into foo select 'long string to consume some space' || g from generate_series(1, 1000) g | STRING |
| HIGH | test_runner/regress/test_layer_writers_fail.py | 0 | insert into foo select 'long string to consume some space' || g from generate_series(1, 1000) g | STRING |
| HIGH | test_runner/regress/test_old_request_lsn.py | 0 | select setting::int * pg_size_bytes(unit) as shared_buffers, pg_relation_size('t') as tbl_size from pg_settings where na | STRING |
| HIGH | test_runner/regress/test_bad_connection.py | 0 | select setting::int * pg_size_bytes(unit) as shared_buffers, pg_relation_size('t') as tbl_size from pg_settings where na | STRING |
| HIGH | test_runner/regress/test_change_pageserver.py | 0 | select setting::int * pg_size_bytes(unit) as shared_buffers, pg_relation_size('t') as tbl_size from pg_settings where na | STRING |
| HIGH | test_runner/regress/test_pageserver_restart.py | 0 | select setting::int * pg_size_bytes(unit) as shared_buffers, pg_relation_size('t') as tbl_size from pg_settings where na | STRING |
| HIGH | …nner/regress/test_walredo_not_left_behind_on_detach.py | 0 | select setting::int * pg_size_bytes(unit) as shared_buffers, pg_relation_size('t') as tbl_size from pg_settings where na | STRING |
| HIGH | test_runner/performance/test_seqscans.py | 0 | select setting::int * pg_size_bytes(unit) as shared_buffers, pg_relation_size('t') as tbl_size from pg_settings where na | STRING |
| HIGH | test_runner/regress/test_fullbackup.py | 0 | create table tbl as select g as id, 'long string to consume some space' || g from generate_series(1,{num_rows}) g | STRING |
| HIGH | test_runner/regress/test_import.py | 0 | create table tbl as select g as id, 'long string to consume some space' || g from generate_series(1,{num_rows}) g | STRING |
| HIGH | test_runner/regress/test_ondemand_download.py | 0 | create table tbl as select g as id, 'long string to consume some space' || g from generate_series(1,{num_rows}) g | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test_runner/websocket_tunnel.py | 61 | except Exception as e: | CODE |
| LOW | test_runner/websocket_tunnel.py | 74 | except Exception as e: | CODE |
| LOW | test_runner/websocket_tunnel.py | 98 | except Exception as e: | CODE |
| MEDIUM | test_runner/websocket_tunnel.py | 51 | def handle_tcp_to_websocket(tcp_reader, ws): | CODE |
| MEDIUM | test_runner/websocket_tunnel.py | 65 | def handle_websocket_to_tcp(ws, tcp_writer): | CODE |
| LOW | test_runner/regress/test_disk_usage_eviction.py | 975 | except Exception: | CODE |
| LOW | test_runner/regress/test_next_xid.py | 52 | except Exception as error: | CODE |
| LOW | test_runner/regress/test_import_pgdata.py | 364 | except Exception: | CODE |
| LOW | test_runner/regress/test_import_pgdata.py | 450 | except Exception: | CODE |
| LOW | test_runner/regress/test_import_pgdata.py | 678 | except Exception as e: | CODE |
| LOW | test_runner/regress/test_import_pgdata.py | 707 | except Exception as e: | CODE |
| LOW | test_runner/regress/test_recovery.py | 62 | except Exception as err: | CODE |
| LOW | test_runner/regress/test_compute_reconfigure.py | 141 | except Exception as e: | CODE |
| LOW | test_runner/regress/test_proxy_websockets.py | 236 | except Exception as e: | CODE |
| MEDIUM | test_runner/regress/test_proxy_websockets.py | 232 | def run_tunnel(): | CODE |
| LOW | test_runner/regress/test_timeline_archive.py | 638 | except Exception as e: | CODE |
| LOW | test_runner/regress/test_large_schema.py | 57 | except Exception as error: | CODE |
| LOW | test_runner/regress/test_tenant_detach.py | 52 | except Exception as e: | CODE |
| LOW | test_runner/regress/test_physical_replication.py | 167 | except Exception as e: | CODE |
| MEDIUM | test_runner/regress/test_wal_acceptor.py | 181 | def run(self) -> None: | CODE |
| LOW | test_runner/regress/test_wal_acceptor.py | 414 | except Exception as e: | CODE |
| LOW | test_runner/regress/test_wal_acceptor.py | 1565 | except Exception as e: | CODE |
| LOW | test_runner/regress/test_wal_acceptor.py | 1649 | except Exception as e: | CODE |
| LOW | test_runner/regress/test_wal_acceptor_async.py | 381 | except Exception as e: | CODE |
| LOW | …nner/regress/test_walredo_not_left_behind_on_detach.py | 98 | except Exception as e: | CODE |
| LOW⚡ | …_runner/regress/test_hadron_ps_connectivity_metrics.py | 16 | except Exception as e: | CODE |
| LOW | test_runner/regress/test_compute_metrics.py | 287 | except Exception: | CODE |
| MEDIUM | test_runner/regress/test_compute_metrics.py | 282 | def stop(self) -> None: | CODE |
| LOW | test_runner/regress/test_storage_scrubber.py | 466 | except Exception as e: | CODE |
| LOW | test_runner/regress/test_timeline_delete.py | 513 | except Exception: | CODE |
| MEDIUM | test_runner/regress/test_timeline_delete.py | 505 | def first_call(result_queue): | CODE |
| LOW | test_runner/regress/test_tenant_conf.py | 53 | except Exception as e: | CODE |
| LOW⚡ | test_runner/regress/test_pageserver_layer_rolling.py | 102 | except Exception: | CODE |
| LOW | test_runner/regress/test_backpressure.py | 87 | except Exception as e: | CODE |
| LOW | test_runner/regress/test_backpressure.py | 145 | except Exception as e: | CODE |
| MEDIUM | test_runner/regress/test_storage_controller.py | 3179 | def passed_split_abort(): | CODE |
| LOW | test_runner/regress/test_storage_controller.py | 3165 | except Exception: | CODE |
| LOW | test_runner/regress/test_storage_controller.py | 3185 | except Exception: | CODE |
| LOW | test_runner/regress/test_storage_controller.py | 3345 | except Exception: | CODE |
| LOW | test_runner/regress/test_wal_receiver.py | 53 | except Exception as e: | CODE |
| LOW | test_runner/regress/test_wal_receiver.py | 74 | except Exception as e: | CODE |
| MEDIUM | test_runner/regress/test_wal_receiver.py | 50 | def all_sks_in_wareceiver_state(): | CODE |
| MEDIUM | test_runner/regress/test_wal_receiver.py | 71 | def all_but_stopped_sks_in_wareceiver_state(): | CODE |
| LOW | test_runner/performance/test_ingest_insert_bulk.py | 101 | except Exception as e: | CODE |
| LOW | test_runner/performance/test_wal_backpressure.py | 283 | except Exception as err: | CODE |
| LOW | …/performance/test_cumulative_statistics_persistence.py | 219 | except Exception as e: | STRING |
| LOW | test_runner/performance/test_physical_replication.py | 134 | except Exception as e: | CODE |
| LOW | test_runner/performance/test_physical_replication.py | 319 | except Exception as e: | CODE |
| MEDIUM⚡ | …e_tpc_c_helpers/upload_results_to_perf_test_results.py | 29 | print(f"Error: Summary JSON file not found: {json_file_path}") | CODE |
| MEDIUM⚡ | …e_tpc_c_helpers/upload_results_to_perf_test_results.py | 32 | print(f"Error: Invalid JSON in file {json_file_path}: {e}") | CODE |
| MEDIUM⚡ | …e_tpc_c_helpers/upload_results_to_perf_test_results.py | 35 | print(f"Error loading JSON file {json_file_path}: {e}") | CODE |
| MEDIUM⚡ | …e_tpc_c_helpers/upload_results_to_perf_test_results.py | 260 | print(f"Error: CSV file not found: {csv_file_path}") | CODE |
| MEDIUM⚡ | …e_tpc_c_helpers/upload_results_to_perf_test_results.py | 263 | print(f"Error processing CSV file {csv_file_path}: {e}") | CODE |
| MEDIUM | …e_tpc_c_helpers/upload_results_to_perf_test_results.py | 223 | print(f"Error: Missing required columns in CSV: {missing_columns}") | CODE |
| MEDIUM | …e_tpc_c_helpers/upload_results_to_perf_test_results.py | 344 | print(f"Error parsing load log file {log_file_path}: {e}") | CODE |
| MEDIUM | …e_tpc_c_helpers/upload_results_to_perf_test_results.py | 445 | print(f"Error: Summary JSON file does not exist: {args.summary_json}") | CODE |
| MEDIUM | …e_tpc_c_helpers/upload_results_to_perf_test_results.py | 449 | print("Error: Either summary JSON or load log file must be provided") | CODE |
| LOW⚡ | …e_tpc_c_helpers/upload_results_to_perf_test_results.py | 34 | except Exception as e: | CODE |
| MEDIUM⚡ | …e_tpc_c_helpers/upload_results_to_perf_test_results.py | 159 | print(f"Error inserting metrics into database: {e}") | STRING |
| LOW⚡ | …e_tpc_c_helpers/upload_results_to_perf_test_results.py | 262 | except Exception as e: | CODE |
| 20 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …st_runner/regress/test_pageserver_metric_collection.py | 36 | CODE | |
| LOW | test_runner/regress/test_tenant_relocation.py | 46 | CODE | |
| LOW | test_runner/regress/test_next_xid.py | 23 | CODE | |
| LOW | test_runner/regress/test_compatibility.py | 405 | CODE | |
| LOW | test_runner/regress/test_layer_eviction.py | 158 | CODE | |
| LOW | test_runner/regress/test_ddl_forwarding.py | 34 | CODE | |
| LOW | test_runner/regress/test_import_pgdata.py | 498 | CODE | |
| LOW | test_runner/regress/test_import_pgdata.py | 619 | CODE | |
| LOW | test_runner/regress/test_sharding.py | 887 | CODE | |
| LOW | test_runner/regress/test_recovery.py | 16 | CODE | |
| LOW | test_runner/regress/test_timeline_detach_ancestor.py | 79 | CODE | |
| LOW | test_runner/regress/test_timeline_detach_ancestor.py | 1214 | CODE | |
| LOW | test_runner/regress/test_compute_termination.py | 100 | CODE | |
| LOW | test_runner/regress/test_timeline_archive.py | 417 | CODE | |
| LOW | test_runner/regress/test_timeline_archive.py | 510 | CODE | |
| LOW | test_runner/regress/test_hot_standby.py | 22 | CODE | |
| LOW | test_runner/regress/test_hot_standby.py | 132 | CODE | |
| LOW | test_runner/regress/test_neon_extension.py | 41 | CODE | |
| LOW | test_runner/regress/test_large_schema.py | 20 | CODE | |
| LOW | test_runner/regress/test_tenant_detach.py | 184 | CODE | |
| LOW | test_runner/regress/test_tenant_detach.py | 194 | CODE | |
| LOW | test_runner/regress/test_physical_replication.py | 16 | CODE | |
| LOW | test_runner/regress/test_physical_replication.py | 52 | CODE | |
| LOW | test_runner/regress/test_safekeeper_deletion.py | 150 | CODE | |
| LOW | test_runner/regress/test_safekeeper_deletion.py | 175 | CODE | |
| LOW | test_runner/regress/test_pageserver_secondary.py | 78 | CODE | |
| LOW | test_runner/regress/test_pageserver_secondary.py | 165 | CODE | |
| LOW | test_runner/regress/test_wal_acceptor.py | 496 | CODE | |
| LOW | test_runner/regress/test_timeline_size.py | 74 | CODE | |
| LOW | test_runner/regress/test_timeline_size.py | 155 | CODE | |
| LOW | test_runner/regress/test_wal_acceptor_async.py | 311 | CODE | |
| LOW | test_runner/regress/test_backpressure.py | 28 | CODE | |
| LOW | test_runner/regress/test_backpressure.py | 103 | CODE | |
| LOW | test_runner/regress/test_tenant_size.py | 685 | CODE | |
| LOW | test_runner/regress/test_storage_controller.py | 3553 | CODE | |
| LOW | test_runner/regress/test_storage_controller.py | 3970 | CODE | |
| LOW | test_runner/regress/test_tenants.py | 454 | CODE | |
| LOW | test_runner/regress/test_tenants.py | 486 | CODE | |
| LOW | test_runner/logical_repl/test_debezium.py | 120 | CODE | |
| LOW | test_runner/random_ops/test_random_ops.py | 433 | CODE | |
| LOW | test_runner/performance/test_ingest_logical_message.py | 18 | CODE | |
| LOW | test_runner/performance/test_sharded_ingest.py | 18 | CODE | |
| LOW | test_runner/performance/test_ingest_insert_bulk.py | 28 | CODE | |
| LOW | test_runner/performance/test_seqscans.py | 43 | CODE | |
| LOW | test_runner/performance/test_bulk_insert.py | 22 | CODE | |
| LOW | test_runner/performance/test_copy.py | 49 | CODE | |
| LOW | test_runner/performance/test_compaction.py | 21 | CODE | |
| LOW | test_runner/performance/test_compaction.py | 67 | CODE | |
| LOW | test_runner/performance/test_hot_table.py | 22 | CODE | |
| LOW | …st_runner/performance/test_storage_controller_scale.py | 65 | CODE | |
| LOW | …_runner/performance/test_perf_ingest_using_pgcopydb.py | 163 | CODE | |
| LOW | test_runner/performance/test_physical_replication.py | 54 | CODE | |
| LOW | test_runner/performance/test_physical_replication.py | 143 | CODE | |
| LOW | test_runner/performance/test_physical_replication.py | 180 | CODE | |
| LOW | test_runner/performance/test_random_writes.py | 20 | CODE | |
| LOW | test_runner/performance/test_gist_build.py | 15 | CODE | |
| LOW | test_runner/performance/test_write_amplification.py | 23 | CODE | |
| LOW | test_runner/performance/test_logical_replication.py | 107 | CODE | |
| LOW | test_runner/performance/test_logical_replication.py | 207 | CODE | |
| LOW | test_runner/performance/test_logical_replication.py | 306 | CODE | |
| 3 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test_runner/regress/test_bad_connection.py | 46 | # shared_buffers, otherwise the SELECT after restart will just return answer | COMMENT |
| LOW | test_runner/regress/test_bad_connection.py | 105 | # shared_buffers, otherwise the SELECT after restart will just return answer | COMMENT |
| LOW | test_runner/regress/test_bad_connection.py | 207 | # shared_buffers, otherwise the SELECT after restart will just return answer | COMMENT |
| LOW | test_runner/regress/test_change_pageserver.py | 69 | # shared_buffers, otherwise the SELECT after restart will just return answer | COMMENT |
| LOW | test_runner/regress/test_tenant_detach.py | 353 | # shared_buffers, otherwise the SELECT after restart will just return answer | COMMENT |
| LOW | test_runner/regress/test_pageserver_restart.py | 40 | # shared_buffers, otherwise the SELECT after restart will just return answer | COMMENT |
| LOW | test_runner/regress/test_pageserver_restart.py | 181 | # shared_buffers, otherwise the SELECT after restart will just return answer | COMMENT |
| MEDIUM | test_runner/regress/test_pageserver_generations.py | 461 | # Initially, the tenant will be attached to the first pageserver (first is default in our test harness) | COMMENT |
| LOW | …nner/regress/test_walredo_not_left_behind_on_detach.py | 59 | # shared_buffers, otherwise the SELECT after restart will just return answer | COMMENT |
| MEDIUM | test_runner/regress/test_tenant_delete.py | 85 | # may need to retry on some remote storage errors injected by the test harness | COMMENT |
| MEDIUM | test_runner/regress/test_tenant_delete.py | 459 | # The initial tenant created by the test harness should still be there. | COMMENT |
| MEDIUM | test_runner/regress/test_replica_start.py | 357 | # robust even if PGPROC_MAX_CACHED_SUBXIDS changes. | STRING |
| LOW | …r/performance/pageserver/test_page_service_batching.py | 111 | # name is not a metric, we just use it to identify the test easily in the `test_...[...]`` notation | COMMENT |
| MEDIUM | compute_tools/src/communicator_socket_client.rs | 40 | // it would be more robust if the data directory is moved around or unlinked for | COMMENT |
| MEDIUM⚡ | docker-compose/docker_compose_test.sh | 106 | # We want to run the longest tests first to better utilize parallelization and reduce overall test time. | COMMENT |
| MEDIUM | pageserver/src/tenant/mgr.rs | 1629 | // split operation less seamless for clients, as we will may detach the parent | COMMENT |
| MEDIUM | pageserver/src/tenant/storage_layer.rs | 685 | /// Absolutely read [`IoConcurrency::spawn_io`] to learn about assumptions & pitfalls. | COMMENT |
| MEDIUM | pageserver/src/tenant/remote_timeline_client.rs | 299 | /// Behavioral modes that enable seamless live migration. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | test_runner/regress/test_proxy_websockets.py | 255 | except asyncio.CancelledError: | CODE |
| HIGH | test_runner/regress/test_timeline_detach_ancestor.py | 578 | except Empty: | CODE |
| HIGH | test_runner/regress/test_compute_termination.py | 120 | except (requests.ConnectionError, requests.Timeout): | CODE |
| HIGH | test_runner/regress/test_proxy.py | 680 | except requests.exceptions.ReadTimeout: | CODE |
| HIGH | test_runner/regress/test_tenants.py | 510 | except requests.exceptions.ConnectionError: | CODE |
| HIGH | test_runner/regress/test_role_grants.py | 24 | except psycopg2.errors.InsufficientPrivilege: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docs/rfcs/032-shard-splitting.md | 125 | #### Step 1: write new remote indices | COMMENT |
| LOW | docs/rfcs/032-shard-splitting.md | 139 | #### Step 2: start new `Tenant` objects | COMMENT |
| LOW | docs/rfcs/032-shard-splitting.md | 150 | #### Step 3: tear down parent `Tenant` object | COMMENT |
| LOW | storage_controller/src/service.rs | 9799 | // Step 1: collect all shards that we are required to migrate back to this node because their AZ preference | COMMENT |
| LOW | storage_controller/src/service.rs | 9850 | // Step 2: also promote any AZ-agnostic shards as required to achieve the target number of attachments | COMMENT |
| LOW | pageserver/src/tenant/timeline/compaction.rs | 2679 | // Step 1: split history into len(retain_lsn_below_horizon) + 2 buckets, where the last bucket is for all deltas | COMMENT |
| LOW | pageserver/src/tenant/timeline/compaction.rs | 2698 | // Step 2: filter out duplicated records due to the k-merge of image/delta layers | COMMENT |
| LOW | pageserver/src/tenant/timeline/compaction.rs | 2723 | // Step 3: generate images when necessary | COMMENT |
| LOW | pageserver/src/tenant/timeline/compaction.rs | 3309 | // Step 0: pick all delta layers + image layers below/intersect with the GC horizon. | COMMENT |
| LOW | pageserver/src/tenant/timeline/compaction.rs | 3511 | // Step 1: construct a k-merge iterator over all layers. | COMMENT |
| LOW | pageserver/src/tenant/timeline/compaction.rs | 3612 | // Step 2: Produce images+deltas. | COMMENT |
| LOW | pageserver/src/tenant/timeline/compaction.rs | 4075 | // Step 3: Place back to the layer map. | COMMENT |
| LOW⚡ | pageserver/src/tenant/secondary/downloader.rs | 481 | // Step 1: identify some tenants that we may work on | COMMENT |
| LOW⚡ | pageserver/src/tenant/secondary/downloader.rs | 488 | // Step 2: filter out tenants which are not yet elegible to run | COMMENT |
| LOW | pageserver/src/tenant/secondary/downloader.rs | 524 | // Step 3: sort by target execution time to run most urgent first. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | test_runner/random_ops/README.md | 64 | NEON_API_KEY=your_api_key ./scripts/pytest test_runner/random_ops/test_random_ops.py -m remote_cluster | CODE |
| HIGH⚡ | test_runner/random_ops/README.md | 70 | RANDOM_SEED=12345 NEON_API_KEY=your_api_key ./scripts/pytest test_runner/random_ops/test_random_ops.py -m remote_cluster | CODE |
| HIGH⚡ | test_runner/random_ops/README.md | 76 | NUM_OPERATIONS=500 NEON_API_KEY=your_api_key ./scripts/pytest test_runner/random_ops/test_random_ops.py -m remote_cluste | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | storage_controller/src/persistence.rs | 506 | // So we need to check if the node has lifecycle set to deleted. | COMMENT |
| LOW | storage_controller/src/service.rs | 9799 | // Step 1: collect all shards that we are required to migrate back to this node because their AZ preference | COMMENT |
| LOW | storage_controller/src/service.rs | 9850 | // Step 2: also promote any AZ-agnostic shards as required to achieve the target number of attachments | COMMENT |
| LOW | pageserver/src/tenant/timeline/compaction.rs | 2679 | // Step 1: split history into len(retain_lsn_below_horizon) + 2 buckets, where the last bucket is for all deltas | COMMENT |
| LOW | pageserver/src/tenant/timeline/compaction.rs | 2698 | // Step 2: filter out duplicated records due to the k-merge of image/delta layers | COMMENT |
| LOW | pageserver/src/tenant/timeline/compaction.rs | 2723 | // Step 3: generate images when necessary | COMMENT |
| LOW | pageserver/src/tenant/timeline/compaction.rs | 3309 | // Step 0: pick all delta layers + image layers below/intersect with the GC horizon. | COMMENT |
| LOW | pageserver/src/tenant/timeline/compaction.rs | 3511 | // Step 1: construct a k-merge iterator over all layers. | COMMENT |
| LOW | pageserver/src/tenant/timeline/compaction.rs | 3612 | // Step 2: Produce images+deltas. | COMMENT |
| LOW | pageserver/src/tenant/timeline/compaction.rs | 4075 | // Step 3: Place back to the layer map. | COMMENT |
| LOW⚡ | pageserver/src/tenant/secondary/downloader.rs | 481 | // Step 1: identify some tenants that we may work on | COMMENT |
| LOW⚡ | pageserver/src/tenant/secondary/downloader.rs | 488 | // Step 2: filter out tenants which are not yet elegible to run | COMMENT |
| LOW | pageserver/src/tenant/secondary/downloader.rs | 524 | // Step 3: sort by target execution time to run most urgent first. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | test_runner/regress/test_layer_eviction.py | 193 | cur.execute("create table a (id bigserial primary key, some_value bigint not null)") | CODE |
| HIGH | test_runner/regress/test_sharding.py | 1872 | # on 2024-03-05, the default config on prod was [15MB, 10GB, null] | COMMENT |
| HIGH | test_runner/regress/test_timeline_detach_ancestor.py | 662 | ep.safe_psql("create table integers (i bigint not null);") | CODE |
| HIGH | test_runner/regress/test_ondemand_download.py | 606 | cur.execute("create table a (id bigserial primary key, some_value bigint not null)") | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test_runner/regress/test_compaction.py | 916 | # Check if there's a metric for our tenant and timeline that has value 1 | STRING |
| LOW | test_runner/regress/test_compute_termination.py | 117 | # Check if it's in expected status | COMMENT |
| LOW | test_runner/regress/test_compute_termination.py | 123 | # Check if process has exited | COMMENT |
| LOW | test_runner/regress/test_import.py | 194 | # Check if the backup data contains multiple segment files | COMMENT |
| LOW⚡ | test_runner/regress/test_relations.py | 53 | # Check if both relations are still accessible | COMMENT |
| LOW⚡ | test_runner/regress/test_relations.py | 61 | # Check if both relations are still accessible again after restart | COMMENT |
| LOW⚡ | test_runner/regress/test_relations.py | 73 | # Check if both relations are still accessible | COMMENT |
| LOW⚡ | test_runner/regress/test_relations.py | 83 | # Check if both relations are still accessible after restart | COMMENT |
| LOW | test_runner/regress/test_relations.py | 96 | # Check if relations are still accessible | COMMENT |
| LOW | test_runner/regress/test_relations.py | 113 | # Check if the relation is still accessible | COMMENT |
| LOW | test_runner/regress/test_feature_flag.py | 56 | # Check if the properties exist | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | storage_controller/src/service.rs | 7897 | /// Configure in-memory and persistent state of a node as requested | COMMENT |
| HIGH | pageserver/src/tenant/upload_queue.rs | 1350 | // For other operations, assert as requested. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test_runner/regress/test_tenant_delete.py | 373 | dummy_data = { | CODE |
| LOW | test_runner/regress/test_tenant_delete.py | 389 | return Response(json.dumps(dummy_data), content_type="application/json", status=200) | CODE |
| LOW | …r/performance/large_synthetic_oltp/insert_webhooks.sql | 31 | '{"order_id": 987654, "customer": {"name": "John Doe", "email": "john.doe@example.com"}, "items": [{"product_id": 12 | CODE |
| LOW | …r/performance/large_synthetic_oltp/insert_webhooks.sql | 32 | '{"order_id": 987654, "customer": {"name": "John Doe", "email": "john.doe@example.com"}, "items": [{"product_id": 12 | CODE |
| LOW | …_bge_small_en_v15-src/sql/basic_functions_enhanced.sql | 4 | SELECT rag_bge_small_en_v15.chunks_by_token_count('Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusm | CODE |
| LOW | …_bge_small_en_v15-src/sql/basic_functions_enhanced.sql | 4 | SELECT rag_bge_small_en_v15.chunks_by_token_count('Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusm | CODE |
| LOW⚡ | …_small_en_v15-src/sql/embedding_functions_enhanced.sql | 6 | vector_dims(rag_bge_small_en_v15.embedding_for_passage('Lorem ipsum dolor sit amet')) > 0 AS result; | CODE |
| LOW⚡ | …_small_en_v15-src/sql/embedding_functions_enhanced.sql | 6 | vector_dims(rag_bge_small_en_v15.embedding_for_passage('Lorem ipsum dolor sit amet')) > 0 AS result; | CODE |
| LOW⚡ | …_small_en_v15-src/sql/embedding_functions_enhanced.sql | 15 | vector_dims(rag_bge_small_en_v15.embedding_for_query('Lorem ipsum dolor sit amet')) > 0 AS result; | CODE |
| LOW⚡ | …_small_en_v15-src/sql/embedding_functions_enhanced.sql | 15 | vector_dims(rag_bge_small_en_v15.embedding_for_query('Lorem ipsum dolor sit amet')) > 0 AS result; | CODE |
| LOW | …r-compose/ext-src/pgrag-src/sql/chunking_functions.sql | 4 | SELECT rag.chunks_by_character_count('Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor inc | CODE |
| LOW | …r-compose/ext-src/pgrag-src/sql/chunking_functions.sql | 4 | SELECT rag.chunks_by_character_count('Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor inc | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | scripts/comment-test-report.js | 233 | const branchName = context.payload.pull_request.head.ref.replace(/^refs\/heads\//, "") | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | run_clippy.sh | 7 | # If your text editor has rust-analyzer integration, you can also use this new | COMMENT |
| LOW | libs/postgres_versioninfo/src/lib.rs | 15 | // !!! When you add a new PgMajorVersion, don't forget to update PgMajorVersion::ALL | COMMENT |
| MEDIUM | pageserver/src/tenant/storage_layer/layer/tests.rs | 225 | // this just updates the remote_physical_size for demonstration purposes | COMMENT |
| LOW | pageserver/src/virtual_file/io_engine.rs | 242 | // Don't forget to use retry_ecanceled_once | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test_runner/regress/test_compaction.py | 671 | # TODO: implement eager layer cutting during compaction | STRING |
| LOW | storage_controller/src/service.rs | 7368 | // TODO: implement force flag to remove a node even if we can't reschedule | COMMENT |
| LOW | scripts/force_layer_download.py | 199 | # TODO: add error handling if tlids isinstance(Exception) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | docs/rfcs/020-pageserver-s3-coordination.md | 71 | ### Manual orchestration | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pageserver/src/page_cache.rs | 394 | /// Example usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test_runner/regress/test_wal_acceptor.py | 2350 | def do_something(): | CODE |