Neon: Serverless Postgres. We separated storage and compute to offer autoscaling, code-like database branching, and scale to zero.
This report presents the forensic synthetic code analysis of neondatabase/neon, a Rust project with 22,544 GitHub stars. SynthScan v2.0 examined 444,432 lines of code across 1505 source files, recording 1884 pattern matches distributed across 22 syntactic categories. The overall adjusted score of 5.5 places this repository in the Low AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 1884 distinct pattern matches across 22 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. 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 diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| 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 |
|---|---|---|---|---|
| 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 |