rspec-ee unit pg10 geo 1/2
Passed Started
by
@gitlab-bot

🤖 GitLab Bot 🤖
1Running with gitlab-runner 12.8.0 (1b659122)2 on docker-auto-scale-com d5ae8d25 3 Using Docker executor with image registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.6.5-golang-1.12-git-2.24-lfs-2.9-chrome-73.0-node-12.x-yarn-1.21-postgresql-10-graphicsmagick-1.3.34 ...
00:23
4Starting service postgres:10.12 ...5Pulling docker image postgres:10.12 ...6Using docker image sha256:538942384eafa3c7d4b5b4965e0deb3c533d2b67c05e1e0931711936ab6c041b for postgres:10.12 ...7Starting service redis:alpine ...8Pulling docker image redis:alpine ...9Using docker image sha256:b68707e68547e636f2544e9283f02beed46d536f644573c8b35c368f9abbe078 for redis:alpine ...10Starting service elasticsearch:6.4.2 ...11Pulling docker image elasticsearch:6.4.2 ...12Using docker image sha256:e47ebd7ec3eef5e48746af2ae376f180bbfbd23c7514b5b18a116f8349eb4c34 for elasticsearch:6.4.2 ...13Waiting for services to be up and running...14Authenticating with credentials from job payload (GitLab Registry)15Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.6.5-golang-1.12-git-2.24-lfs-2.9-chrome-73.0-node-12.x-yarn-1.21-postgresql-10-graphicsmagick-1.3.34 ...16Using docker image sha256:5ffa057c8d08e11f766903b20f5529ee11747bb31366aad4bd8536ec33c89845 for registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.6.5-golang-1.12-git-2.24-lfs-2.9-chrome-73.0-node-12.x-yarn-1.21-postgresql-10-graphicsmagick-1.3.34 ... 17 Running on runner-d5ae8d25-project-278964-concurrent-0 via runner-d5ae8d25-gsrm-1583375080-5824b1e9...
00:01
19Downloading archived master...20Connecting to storage.googleapis.com (173.194.216.128:443)21gitlab.tar.gz 3% |* | 26.6M 0:00:30 ETA22gitlab.tar.gz 24% |******* | 207M 0:00:06 ETA23gitlab.tar.gz 56% |****************** | 476M 0:00:02 ETA24gitlab.tar.gz 99% |******************************* | 840M 0:00:00 ETA25gitlab.tar.gz 100% |********************************| 845M 0:00:00 ETA26Extracting tarball into /builds/gitlab-org/gitlab...27Fetching changes with git depth set to 20...28Reinitialized existing Git repository in /builds/gitlab-org/gitlab/.git/29Created fresh repository.31 * [new ref] refs/pipelines/123433062 -> refs/pipelines/12343306232 * [new branch] master -> origin/master33Checking out 2e08c928 as master...34Skipping Git submodules setup36Downloading cache.zip from https://storage.googleapis.com/gitlab-com-runners-cache/project/278964/debian-stretch-ruby-2.6.5-pg9.6-node-12.x-3 37Successfully extracted cache39Downloading artifacts from coordinator... ok id=460116507 responseStatus=200 OK token=QUYyHTsa40Downloading artifacts for retrieve-tests-metadata (460116515)...41Downloading artifacts from coordinator... ok id=460116515 responseStatus=200 OK token=wqtvmKyQ42Downloading artifacts for setup-test-env (460116509)...43Downloading artifacts from coordinator... ok id=460116509 responseStatus=200 OK token=sAvRzHNN44WARNING: tmp/tests/gitlab-shell/.gitlab_shell_secret: chmod tmp/tests/gitlab-shell/.gitlab_shell_secret: no such file or directory (suppressing repeats) 46$ date47Thu Mar 5 04:27:08 UTC 202048$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb49$ export GOPATH=$CI_PROJECT_DIR/.go50$ mkdir -p $GOPATH51$ source scripts/utils.sh52$ source scripts/prepare_build.sh53Bundler version 1.17.254Warning: the running version of Bundler (1.17.2) is older than the version that created the lockfile (1.17.3). We suggest you upgrade to the latest version of Bundler by running `gem install bundler`.55The Gemfile's dependencies are satisfied56Successfully installed knapsack-1.18.0571 gem installed58CREATE ROLE59GRANT60Dropped database 'gitlabhq_test'61Created database 'gitlabhq_test'62Dropped database 'gitlabhq_geo_test'63Created database 'gitlabhq_geo_test'64$ date65Thu Mar 5 04:28:00 UTC 202066$ source scripts/rspec_helpers.sh67$ scripts/prepare_postgres_fdw.sh68CREATE EXTENSION69CREATE SERVER70CREATE USER MAPPING71CREATE SCHEMA72IMPORT FOREIGN SCHEMA73GRANT74$ rspec_paralellized_job "--tag ~quarantine --tag geo"75KNAPSACK_TEST_FILE_PATTERN: ee/spec/{bin,config,db,dependencies,factories,finders,frontend,graphql,haml_lint,helpers,initializers,javascripts,lib,models,policies,presenters,rack_servers,replicators,routing,rubocop,serializers,services,sidekiq,support_specs,tasks,uploaders,validators,views,workers,elastic_integration}{,/**/}*_spec.rb76Checking gitaly-ruby Gemfile...77Checking gitaly-ruby bundle...78Warning: the running version of Bundler (1.17.2) is older than the version that created the lockfile (1.17.3). We suggest you upgrade to the latest version of Bundler by running `gem install bundler`.79The Gemfile's dependencies are satisfied80Trying to connect to gitaly: ....... OK81Report specs:82ee/spec/services/search/group_service_spec.rb83ee/spec/services/search/global_service_spec.rb84ee/spec/lib/gitlab/elastic/search_results_spec.rb85ee/spec/models/geo_node_status_spec.rb86ee/spec/lib/gitlab/geo/log_cursor/daemon_spec.rb87ee/spec/models/project_spec.rb88ee/spec/services/search/snippet_service_spec.rb89ee/spec/services/quick_actions/interpret_service_spec.rb90ee/spec/tasks/gitlab/seed/group_seed_rake_spec.rb91ee/spec/models/burndown_spec.rb92ee/spec/lib/gitlab/analytics/cycle_analytics/data_collector_spec.rb93ee/spec/models/vulnerabilities/occurrence_spec.rb94ee/spec/services/epic_issues/create_service_spec.rb95ee/spec/uploaders/design_management/design_v432x230_uploader_spec.rb96ee/spec/finders/geo/lfs_object_registry_finder_spec.rb97ee/spec/services/todo_service_spec.rb98ee/spec/services/security/store_report_service_spec.rb99ee/spec/models/epic_spec.rb100ee/spec/models/operations/feature_flag_scope_spec.rb101ee/spec/models/merge_train_spec.rb102ee/spec/models/operations/feature_flags/strategy_spec.rb103ee/spec/finders/geo/attachment_registry_finder_spec.rb104ee/spec/elastic_integration/global_search_spec.rb105ee/spec/workers/geo/file_download_dispatch_worker_spec.rb106ee/spec/policies/design_management/design_policy_spec.rb107ee/spec/finders/epics_finder_spec.rb108ee/spec/lib/gitlab/usage_data_spec.rb109ee/spec/services/merge_requests/update_service_spec.rb110ee/spec/services/boards/lists/update_service_spec.rb111ee/spec/policies/environment_policy_spec.rb112ee/spec/services/elastic/index_record_service_spec.rb113ee/spec/services/ee/boards/issues/move_service_spec.rb114ee/spec/lib/gitlab/analytics/type_of_work/tasks_by_type_spec.rb115ee/spec/views/layouts/nav/sidebar/_project.html.haml_spec.rb116ee/spec/workers/update_all_mirrors_worker_spec.rb117ee/spec/services/ee/merge_requests/create_pipeline_service_spec.rb118ee/spec/views/admin/application_settings/_elasticsearch_form.html.haml_spec.rb119ee/spec/services/search_service_spec.rb120ee/spec/models/application_setting_spec.rb121ee/spec/models/packages/package_spec.rb122ee/spec/models/concerns/elastic/note_spec.rb123ee/spec/services/merge_requests/sync_report_approver_approval_rules_spec.rb124ee/spec/services/draft_notes/publish_service_spec.rb125ee/spec/lib/ee/gitlab/checks/push_rules/commit_check_spec.rb126ee/spec/finders/geo/design_updated_recently_finder_spec.rb127ee/spec/models/geo/project_registry_spec.rb128ee/spec/helpers/push_rules_helper_spec.rb129ee/spec/services/ee/issues/update_service_spec.rb130ee/spec/services/vulnerabilities/dismiss_service_spec.rb131ee/spec/models/concerns/elastic/snippet_spec.rb132ee/spec/presenters/merge_request_presenter_spec.rb133ee/spec/workers/geo/repositories_clean_up_worker_spec.rb134ee/spec/serializers/dashboard_operations_project_entity_spec.rb135ee/spec/finders/geo/project_registry_sync_failed_finder_spec.rb136ee/spec/lib/gitlab/template/custom_templates_spec.rb137ee/spec/models/ci/pipeline_spec.rb138ee/spec/finders/geo/project_registry_retrying_verification_finder_spec.rb139ee/spec/lib/ee/gitlab/auth/ldap/sync/group_spec.rb140ee/spec/lib/gitlab/custom_file_templates_spec.rb141ee/spec/services/groups/participants_service_spec.rb142ee/spec/models/geo/design_registry_spec.rb143ee/spec/graphql/resolvers/epic_resolver_spec.rb144ee/spec/lib/ee/gitlab/background_migration/migrate_approver_to_approval_rules_spec.rb145ee/spec/services/auto_merge/merge_train_service_spec.rb146ee/spec/finders/geo/project_registry_verification_failed_finder_spec.rb147ee/spec/services/epics/update_service_spec.rb148ee/spec/services/merge_trains/refresh_merge_requests_service_spec.rb149ee/spec/lib/gitlab/vulnerabilities/summary_spec.rb150ee/spec/services/epic_issues/update_service_spec.rb151ee/spec/models/environment_spec.rb152ee/spec/models/approval_project_rule_spec.rb153ee/spec/lib/gitlab/code_owners/loader_spec.rb154ee/spec/services/feature_flags/update_service_spec.rb155ee/spec/finders/geo/project_registry_synced_finder_spec.rb156ee/spec/services/ee/boards/issues/list_service_spec.rb157ee/spec/policies/merge_request_policy_spec.rb158ee/spec/finders/group_projects_finder_spec.rb159ee/spec/models/concerns/elastic/issue_spec.rb160ee/spec/lib/gitlab/elastic/indexer_spec.rb161ee/spec/models/vulnerability_spec.rb162ee/spec/finders/merge_trains_finder_spec.rb163ee/spec/models/concerns/epic_tree_sorting_spec.rb164ee/spec/services/security/sync_reports_to_approval_rules_service_spec.rb165ee/spec/services/approval_rules/finalize_service_spec.rb166ee/spec/services/design_management/delete_designs_service_spec.rb167ee/spec/models/concerns/elastic/merge_request_spec.rb168ee/spec/presenters/packages/npm/package_presenter_spec.rb169ee/spec/finders/geo/project_registry_verified_finder_spec.rb170ee/spec/services/ci_minutes_usage_notify_service_spec.rb171ee/spec/services/audit_event_service_spec.rb172ee/spec/lib/ee/api/entities/geo_node_status_spec.rb173ee/spec/models/design_management/design_spec.rb174ee/spec/lib/pseudonymizer/pager_spec.rb175ee/spec/services/vulnerability_issue_links/create_service_spec.rb176ee/spec/helpers/ee/dashboard_helper_spec.rb177ee/spec/workers/geo/repository_verification/secondary/shard_worker_spec.rb178ee/spec/services/merge_requests/merge_to_ref_service_spec.rb179ee/spec/models/geo/fdw/geo_node_spec.rb180ee/spec/services/epic_links/update_service_spec.rb181ee/spec/models/concerns/mentionable_spec.rb182ee/spec/models/concerns/approver_migrate_hook_spec.rb183ee/spec/services/ee/protected_branches/create_service_spec.rb184ee/spec/models/approval_wrapped_rule_spec.rb185ee/spec/presenters/merge_request_approver_presenter_spec.rb186ee/spec/lib/gitlab/geo/git_push_ssh_proxy_spec.rb187ee/spec/services/geo/repository_sync_service_spec.rb188ee/spec/finders/geo/project_registry_pending_verification_finder_spec.rb189ee/spec/services/projects/update_service_spec.rb190ee/spec/models/gitlab_subscription_spec.rb191ee/spec/finders/groups_with_templates_finder_spec.rb192ee/spec/models/visible_approvable_spec.rb193ee/spec/services/projects/prometheus/alerts/create_events_service_spec.rb194ee/spec/services/projects/operations/update_service_spec.rb195ee/spec/services/geo/file_registry_removal_service_spec.rb196ee/spec/services/merge_requests/remove_approval_service_spec.rb197ee/spec/tasks/geo_rake_spec.rb198ee/spec/workers/geo/repository_sync_worker_spec.rb199ee/spec/lib/gitlab/geo/log_cursor/events/repository_updated_event_spec.rb200ee/spec/services/ee/issues/create_from_vulnerability_data_service_spec.rb201ee/spec/services/geo/file_upload_service_spec.rb202ee/spec/services/approval_rules/params_filtering_service_spec.rb203ee/spec/services/ee/merge_requests/create_from_vulnerability_data_service_spec.rb204ee/spec/models/project_services/jenkins_service_spec.rb205ee/spec/services/clusters/applications/check_upgrade_progress_service_spec.rb206ee/spec/services/ci/compare_dependency_scanning_reports_service_spec.rb207ee/spec/lib/ee/gitlab/ci/templates/templates_spec.rb208ee/spec/workers/geo/prune_event_log_worker_spec.rb209ee/spec/services/vulnerabilities/create_service_spec.rb210ee/spec/graphql/resolvers/timelog_resolver_spec.rb211ee/spec/workers/geo/secondary/repository_backfill_worker_spec.rb212ee/spec/finders/security/vulnerable_projects_finder_spec.rb213ee/spec/workers/geo/migrated_local_files_clean_up_worker_spec.rb214ee/spec/services/ee/system_notes/epics_service_spec.rb215ee/spec/lib/gitlab/elastic/snippet_search_results_spec.rb216ee/spec/services/security/store_reports_service_spec.rb217ee/spec/models/instance_security_dashboard_spec.rb218ee/spec/models/ci/bridge_spec.rb219ee/spec/models/issue_link_spec.rb220ee/spec/services/epic_links/destroy_service_spec.rb221ee/spec/services/ee/merge_requests/base_service_spec.rb222ee/spec/models/approvable_spec.rb223ee/spec/services/ee/boards/issues/create_service_spec.rb224ee/spec/models/concerns/elastic/milestone_spec.rb225ee/spec/services/epic_issues/list_service_spec.rb226ee/spec/finders/geo/project_unsynced_finder_spec.rb227ee/spec/lib/ee/gitlab/import_export/group/tree_saver_spec.rb228ee/spec/models/ee/note_spec.rb229ee/spec/workers/admin_emails_worker_spec.rb230ee/spec/finders/ee/projects_finder_spec.rb231ee/spec/services/packages/npm/create_package_service_spec.rb232ee/spec/services/ci/process_pipeline_service_spec.rb233ee/spec/services/projects/gitlab_projects_import_service_spec.rb234ee/spec/models/vulnerabilities/occurrence_identifier_spec.rb235ee/spec/services/software_license_policies/create_service_spec.rb236ee/spec/models/approval_wrapped_code_owner_rule_spec.rb237ee/spec/services/vulnerabilities/resolve_service_spec.rb238ee/spec/serializers/vulnerabilities/occurrence_reports_comparer_entity_spec.rb239ee/spec/workers/cluster_update_app_worker_spec.rb240ee/spec/lib/gitlab/elastic/bulk_indexer_spec.rb241ee/spec/services/projects/group_links/create_service_spec.rb242ee/spec/services/ee/members/destroy_service_spec.rb243ee/spec/lib/ee/audit/project_changes_auditor_spec.rb244ee/spec/services/ci/create_pipeline_service/needs_spec.rb245ee/spec/services/protected_environments/update_service_spec.rb246ee/spec/finders/productivity_analytics_finder_spec.rb247ee/spec/lib/ee/gitlab/checks/push_rules/branch_check_spec.rb248ee/spec/lib/gitlab/ci/parsers/security/dependency_scanning_spec.rb249ee/spec/serializers/epic_note_entity_spec.rb250ee/spec/models/software_license_policy_spec.rb251ee/spec/services/geo/repository_destroy_service_spec.rb252ee/spec/policies/group_policy_spec.rb253ee/spec/services/feature_flags/enable_service_spec.rb254ee/spec/lib/ee/gitlab/background_migration/migrate_security_scans_spec.rb255ee/spec/services/feature_flags/create_service_spec.rb256ee/spec/workers/refresh_license_compliance_checks_worker_spec.rb257ee/spec/services/projects/update_pages_service_spec.rb258ee/spec/lib/audit/details_spec.rb259ee/spec/lib/analytics/refresh_approvals_data_spec.rb260ee/spec/policies/vulnerabilities/feedback_policy_spec.rb261ee/spec/services/ee/boards/lists/list_service_spec.rb262ee/spec/finders/feature_flags_finder_spec.rb263ee/spec/services/ee/resource_events/change_weight_service_spec.rb264ee/spec/serializers/environment_entity_spec.rb265ee/spec/services/ci/create_pipeline_service_spec.rb266ee/spec/lib/gitlab/insights/reducers/count_per_period_reducers_spec.rb267ee/spec/services/ee/system_notes/merge_train_service_spec.rb268ee/spec/views/clusters/clusters/show.html.haml_spec.rb269ee/spec/models/vulnerabilities/occurrence_pipeline_spec.rb270ee/spec/finders/packages/tags_finder_spec.rb271ee/spec/helpers/ee/runners_helper_spec.rb272ee/spec/models/analytics/cycle_analytics/group_stage_spec.rb273ee/spec/models/packages/package_file_spec.rb274ee/spec/models/issuables_analytics_spec.rb275ee/spec/services/geo/hashed_storage_migration_service_spec.rb276ee/spec/lib/gitlab/ci/parsers/security/dependency_list_spec.rb277ee/spec/models/project_ci_cd_setting_spec.rb278ee/spec/workers/adjourned_projects_deletion_cron_worker_spec.rb279ee/spec/services/ci/create_web_ide_terminal_service_spec.rb280ee/spec/services/ee/users/destroy_service_spec.rb281ee/spec/services/geo/metrics_update_service_spec.rb282ee/spec/services/ee/merge_requests/update_service_spec.rb283ee/spec/services/ee/deployments/after_create_service_spec.rb284ee/spec/services/boards/list_service_spec.rb285ee/spec/helpers/ee/user_callouts_helper_spec.rb286ee/spec/serializers/vulnerabilities/history_entity_spec.rb287ee/spec/models/users_security_dashboard_project_spec.rb288ee/spec/lib/gitlab/database/load_balancing/host_spec.rb289ee/spec/lib/gitlab/ci/parsers/security/container_scanning_spec.rb290ee/spec/services/ee/vulnerability_feedback_module/update_service_spec.rb291ee/spec/models/concerns/geo/eventable_spec.rb292ee/spec/lib/gitlab/database/load_balancing/load_balancer_spec.rb293ee/spec/presenters/security/vulnerable_project_presenter_spec.rb294ee/spec/services/ee/system_notes/issuables_service_spec.rb295ee/spec/serializers/merge_request_poll_widget_entity_spec.rb296ee/spec/services/software_license_policies/update_service_spec.rb297ee/spec/models/geo/container_repository_registry_spec.rb298ee/spec/models/design_management/design_collection_spec.rb299ee/spec/models/packages/conan_file_metadatum_spec.rb300ee/spec/graphql/resolvers/environments_resolver_spec.rb301ee/spec/lib/gitlab/code_owners_spec.rb302ee/spec/lib/gitlab/exclusive_lease_spec.rb303ee/spec/models/ee/clusters/applications/prometheus_spec.rb304ee/spec/services/geo/container_repository_sync_service_spec.rb305ee/spec/graphql/resolvers/design_management/versions_resolver_spec.rb306ee/spec/models/project_alias_spec.rb307ee/spec/models/software_license_spec.rb308ee/spec/workers/elastic_namespace_indexer_worker_spec.rb309ee/spec/lib/gitlab/code_owners/file_spec.rb310ee/spec/services/geo/job_artifact_deleted_event_store_spec.rb311ee/spec/services/users/update_service_spec.rb312ee/spec/services/ee/clusters/create_service_spec.rb313ee/spec/models/packages/tag_spec.rb314ee/spec/services/projects/cleanup_service_spec.rb315ee/spec/lib/gitlab/sidekiq_cluster/cli_spec.rb316ee/spec/models/scoped_label_set_spec.rb317ee/spec/services/wiki_pages/destroy_service_spec.rb318ee/spec/services/jira_connect_subscriptions/create_service_spec.rb319ee/spec/lib/gitlab/vulnerabilities/summary_cache_spec.rb320ee/spec/lib/analytics/merge_request_metrics_refresh_spec.rb321ee/spec/services/ee/notes/create_service_spec.rb322ee/spec/services/groups/mark_for_deletion_service_spec.rb323ee/spec/services/ci/process_build_service_spec.rb324ee/spec/finders/boards/milestones_finder_spec.rb325ee/spec/finders/issues_finder_spec.rb326ee/spec/workers/export_csv_worker_spec.rb327ee/spec/workers/new_note_worker_spec.rb328ee/spec/workers/repository_update_mirror_worker_spec.rb329ee/spec/services/ee/audit_events/release_created_audit_event_service_spec.rb330ee/spec/finders/notes_finder_spec.rb331ee/spec/views/shared/_mirror_update_button.html.haml_spec.rb332ee/spec/workers/update_max_seats_used_for_gitlab_com_subscriptions_worker_spec.rb333ee/spec/services/packages/nuget/metadata_extraction_service_spec.rb334ee/spec/services/approval_rules/merge_request_rule_destroy_service_spec.rb335ee/spec/models/commit_spec.rb336ee/spec/services/projects/update_repository_storage_service_spec.rb337ee/spec/lib/gitlab/ci/parsers/security/sast_spec.rb338ee/spec/services/analytics/cycle_analytics/stages/update_service_spec.rb339ee/spec/models/service_desk_setting_spec.rb340ee/spec/services/ee/audit_events/repository_push_audit_event_service_spec.rb341ee/spec/lib/ee/gitlab/import_export/project/tree_saver_spec.rb342ee/spec/helpers/ee/labels_helper_spec.rb343ee/spec/services/geo/move_repository_service_spec.rb344ee/spec/models/vulnerabilities/scanner_spec.rb345ee/spec/services/packages/maven/create_package_service_spec.rb346ee/spec/services/wiki_pages/update_service_spec.rb347ee/spec/lib/gitlab/code_owners/groups_loader_spec.rb348ee/spec/services/packages/nuget/update_package_from_metadata_service_spec.rb349ee/spec/workers/geo/repository_verification/secondary/single_worker_spec.rb350ee/spec/models/review_spec.rb351ee/spec/serializers/productivity_analytics_merge_request_entity_spec.rb352ee/spec/workers/geo/secondary/registry_consistency_worker_spec.rb353ee/spec/lib/gitlab/insights/reducers/count_per_label_reducers_spec.rb354ee/spec/helpers/ee/namespaces_helper_spec.rb355ee/spec/services/groups/create_service_spec.rb356ee/spec/workers/packages/nuget/extraction_worker_spec.rb357ee/spec/services/ee/audit_events/release_associate_milestone_audit_event_service_spec.rb358ee/spec/services/geo/repository_updated_service_spec.rb359ee/spec/lib/pseudonymizer/dumper_spec.rb360ee/spec/routing/admin_routing_spec.rb361ee/spec/models/design_management/repository_spec.rb362ee/spec/lib/ee/gitlab/checks/push_rules/file_size_check_spec.rb363ee/spec/lib/ee/api/helpers/scim_pagination_spec.rb364ee/spec/services/ci/pipeline_bridge_status_service_spec.rb365ee/spec/serializers/vulnerable_project_entity_spec.rb366ee/spec/services/geo/blob_download_service_spec.rb367ee/spec/lib/gitlab/geo/fdw_spec.rb368ee/spec/lib/ee/api/helpers_spec.rb369ee/spec/services/ci/play_build_service_spec.rb370ee/spec/lib/ee/gitlab/auth/ldap/sync/groups_spec.rb371ee/spec/services/geo/upload_deleted_event_store_spec.rb372ee/spec/services/merge_requests/create_service_spec.rb373ee/spec/services/clusters/applications/schedule_update_service_spec.rb374ee/spec/workers/geo/repository_verification/primary/batch_worker_spec.rb375ee/spec/lib/gitlab/geo/oauth/logout_token_spec.rb376ee/spec/lib/ee/gitlab/checks/push_rule_check_spec.rb377ee/spec/services/geo/hashed_storage_migrated_event_store_spec.rb378ee/spec/lib/gitlab/geo/log_cursor/events/repository_deleted_event_spec.rb379ee/spec/views/projects/settings/operations/show.html.haml_spec.rb380ee/spec/helpers/users_helper_spec.rb381ee/spec/workers/design_management/new_version_worker_spec.rb382ee/spec/helpers/subscriptions_helper_spec.rb383ee/spec/routing/webhook_routes_spec.rb384ee/spec/services/issues/duplicate_service_spec.rbRSpec's reporter has already been initialized with #<IO:<STDERR>> as the deprecation stream, so your change to `deprecation_stream` will be ignored. You should configure it earlier for it to take effect, or use the `--deprecation-out` CLI option. (Called from /builds/gitlab-org/gitlab/spec/support/rspec.rb:10:in `block in <top (required)>')385/builds/gitlab-org/gitlab/ee/spec/serializers/vulnerable_project_entity_spec.rb:6: warning: already initialized constant SEVERITY_LEVELS386/builds/gitlab-org/gitlab/ee/spec/presenters/security/vulnerable_project_presenter_spec.rb:6: warning: previous definition of SEVERITY_LEVELS was here387Knapsack report generator started!388Run options:389 include {:focus=>true, :geo=>true}390 exclude {:quarantine=>true}391==> Setting up Gitaly...392 Gitaly set up in 0.246446899 seconds...393==> Setting up GitLab Elasticsearch Indexer...394 GitLab Elasticsearch Indexer set up in 0.000259136 seconds...395GeoNodeStatus396 #fast_current_node_status397 reads the cache and spawns the worker398 #update_cache!399 writes a cache400 #healthy?401 when health is blank402 returns true403 when health is present404 returns true405 returns false406 takes outdated? into consideration407 return false408 return false409 #outdated?410 return true411 return false412 #status_message413 delegates to the HealthCheck414 #health415 takes outdated? into consideration416 returns expiration error417 returns original message418 #projects_count419 counts the number of projects420 #attachments_synced_count421 only counts successful syncs422 does not count synced files that were replaced423 #attachments_synced_missing_on_primary_count424 only counts successful syncs425 #attachments_failed_count426 counts failed avatars, attachment, personal snippets and files427 #attachments_synced_in_percentage428 returns 0 when no objects are available429 returns the right percentage with no group restrictions430 returns the right percentage with group restrictions431 #db_replication_lag_seconds432 returns the set replication lag if secondary433 doesn't attempt to set replication lag if primary434 #lfs_objects_synced_count435 counts synced LFS objects436 #lfs_objects_synced_missing_on_primary_count437 counts LFS objects marked as synced due to file missing on the primary438 #lfs_objects_failed_count439 counts failed LFS objects440 #lfs_objects_synced_in_percentage441 returns 0 when no objects are available442 returns the right percentage with no group restrictions443 returns the right percentage with group restrictions444 #job_artifacts_synced_count445 counts synced job artifacts446 #job_artifacts_synced_missing_on_primary_count447 counts job artifacts marked as synced due to file missing on the primary448 #job_artifacts_failed_count449 when geo_job_artifact_registry_ssot_sync is disabled450 counts failed job artifacts451 when geo_job_artifact_registry_ssot_sync is enabled452 counts failed job artifacts453 #job_artifacts_synced_in_percentage454 returns 0 when no artifacts are available455 when artifacts are available456 returns the right percentage with no group restrictions457 returns the right percentage with group restrictions458 #repositories_failed_count459 returns the right number of failed repos with no group restrictions460 returns the right number of failed repos with group restrictions461 #wikis_failed_count462 returns the right number of failed repos with no group restrictions463 returns the right number of failed repos with group restrictions464 #repositories_synced_in_percentage465 returns 0 when no projects are available466 returns 0 when project count is unknown467 returns the right percentage with no group restrictions468 returns the right percentage with group restrictions469 #wikis_synced_in_percentage470 returns 0 when no projects are available471 returns 0 when project count is unknown472 returns the right percentage with no group restrictions473 returns the right percentage with group restrictions474 #replication_slots_used_count475 returns the right number of used replication slots476 #replication_slots_used_in_percentage477 returns 0 when no replication slots are available478 returns 0 when replication slot count is unknown479 returns the right percentage480 #replication_slots_max_retained_wal_bytes481 returns the number of bytes replication slots are using482 handles large values483 #repositories_checksummed_count484 returns the right number of checksummed repositories485 returns existing value when feature flag is off486 #repositories_checksum_failed_count487 returns the right number of failed repositories488 returns existing value when feature flag if off489 #repositories_checksummed_in_percentage490 returns 0 when no projects are available491 returns 0 when project count is unknown492 returns the right percentage493 #wikis_checksummed_count494 returns the right number of checksummed wikis495 returns existing value when feature flag if off496 #wikis_checksum_failed_count497 returns the right number of failed wikis498 returns existing value when feature flag if off499 #wikis_checksummed_in_percentage500 returns 0 when no projects are available501 returns 0 when project count is unknown502 returns the right percentage503 #container_repositories_count504 counts all the repositories505 #container_repositories_synced_count506 counts synced repositories507 #container_repositories_failed_count508 counts failed to sync repositories509 #container_repositories_registry_count510 counts number of registries for repositories511 #container_repositories_synced_in_percentage512 returns 0 when no objects are available513 returns the right percentage with no group restrictions514 returns the right percentage with group restrictions515 #design_repositories_count516 counts all the designs517 #design_repositories_synced_count518 counts synced repositories519 #design_repositories_failed_count520 counts failed to sync repositories521 #design_repositories_registry_count522 counts number of registries for repositories523 #design_repositories_synced_in_percentage524 returns 0 when no objects are available525 returns the right percentage with no group restrictions526 returns the right percentage with group restrictions527 #repositories_verified_count528 returns the right number of verified repositories529 returns existing value when feature flag if off530 #repositories_checksum_mismatch_count531 returns the right number of repositories that checksum mismatch532 returns existing value when feature flag if off533 #repositories_verification_failed_count534 returns the right number of failed repositories535 returns existing value when feature flag if off536 #repositories_retrying_verification_count537 returns the right number of repositories retrying verification538 returns existing value when feature flag if off539 #wikis_verified_count540 returns the right number of verified wikis541 returns existing value when feature flag if off542 #wikis_checksum_mismatch_count543 returns the right number of wikis that checksum mismatch544 returns existing value when feature flag if off545 #wikis_verification_failed_count546 returns the right number of failed wikis547 returns existing value when feature flag if off548 #wikis_retrying_verification_count549 returns the right number of wikis retrying verification550 returns existing value when feature flag if off551 #last_event_id and #last_event_date552 returns nil when no events are available553 returns the latest event554 #cursor_last_event_id and #cursor_last_event_date555 returns nil when no events are available556 returns the latest event ID if secondary557 doesn't attempt to retrieve cursor if primary558 #version559 is expected to eq "12.9.0-pre"560 #revision561 is expected to eq "2e08c9284d8"562 #[]563 returns values for each attribute564 raises an error for invalid attributes565 #last_successful_status_check_timestamp566 behaves like timestamp parameters567 returns the value it was assigned via UNIX timestamp568 #last_event_timestamp569 behaves like timestamp parameters570 returns the value it was assigned via UNIX timestamp571 #cursor_last_event_timestamp572 behaves like timestamp parameters573 returns the value it was assigned via UNIX timestamp574 #storage_shards575 returns the current node's shard config576 #from_json577 returns a new GeoNodeStatus excluding parameters578 #storage_shards_match?579 returns false if no shard data is available for secondary580 returns true even if no shard data is available for secondary581 returns false if the storage shards do not match582 #repositories_checked_count583 current is a Geo primary584 counts the number of repo checked projects585 current is a Geo secondary586 counts the number of repo checked projects587 #repositories_checked_failed_count588 current is a Geo primary589 counts the number of repo check failed projects590 current is a Geo secondary591 counts the number of repo check failed projects592 #load_data_from_current_node593 on the primary594 does not call LfsObjectRegistryFinder#count_syncable595 does not call AttachmentRegistryFinder#count_syncable596 does not call JobArtifactRegistryFinder#count_syncable597 on the secondary598 calls LfsObjectRegistryFinder#count_syncable599 calls AttachmentRegistryFinder#count_syncable600 calls JobArtifactRegistryFinder#count_syncable601Gitlab::Geo::LogCursor::Daemon602 #run!603 traps signals604 delegates to #run_once! in a loop605 #run_once!606 skips execution if cannot achieve a lease607 skips execution if not a Geo node608 skips execution if the current node is a primary609 when the lease block rescues an error610 when this error is the final straw611 calls `#exit!`612 when this error is not the final straw613 does not call `#exit!`614 #find_and_handle_events!615 with some event logs616 handles events617 calls #handle_gap_event for each gap the gap tracking finds618 exits when told to stop619 when node has namespace restrictions620 replays events for projects that belong to selected namespaces to replicate621 does not replay events for projects that do not belong to selected namespaces to replicate622 detects when an event was skipped623 detects when an event was skipped between batches624 logs a message if an associated event can't be found625 logs a message for skipped events626 does not replay events for projects that do not belong to selected shards to replicate627 #handle_events628 passes the previous batch id on to gap tracking629 checks for gaps for each id in batch630 handles every single event631 #handle_single_event632 skips execution when no event data is found633 checks if it can replay the event634 processes event when it is replayable635Geo::LfsObjectRegistryFinder636 counts all the things637 #count_syncable638 counts LFS objects639 with selective sync by namespace640 counts LFS objects641 with selective sync by shard642 counts LFS objects643 with object storage sync disabled644 counts LFS objects ignoring remote objects645 #count_registry646 counts registries for LFS objects647 with selective sync by namespace648 does not apply the selective sync restriction649 with selective sync by shard650 does not apply the selective sync restriction651 with object storage sync disabled652 counts registries for LFS objects653 #count_synced654 counts LFS objects that has been synced655 with selective sync by namespace656 counts LFS objects that has been synced657 with selective sync by shard658 counts LFS objects that has been synced659 with object storage sync disabled660 counts LFS objects that has been synced ignoring remote objects661 with object storage sync disabled662 counts LFS objects that has been synced, ignoring remotes663 #count_failed664 counts LFS objects that sync has failed665 with selective sync by namespace666 counts LFS objects that sync has failed667 with selective sync by shard668 counts LFS objects that sync has failed669 with object storage sync disabled670 counts LFS objects that sync has failed, ignoring remotes671 #count_synced_missing_on_primary672 counts LFS objects that have been synced and are missing on the primary, excluding not synced ones673 with selective sync by namespace674 counts LFS objects that has been synced675 with object storage sync disabled676 counts LFS objects that have been synced and are missing on the primary, excluding not synced ones677 finds all the things678 #find_registry_differences679 untracked IDs680 includes LFS object IDs without an entry on the tracking database681 excludes LFS objects outside the ID range682 with selective sync by namespace683 excludes LFS object IDs that are not in selectively synced projects684 with selective sync by shard685 excludes LFS object IDs that are not in selectively synced projects686 with object storage sync disabled687 excludes LFS objects in object storage688 unused tracked IDs689 with an orphaned registry690 includes tracked IDs that do not exist in the model table691 excludes IDs outside the ID range692 with selective sync by namespace693 with a tracked LFS object694 excluded from selective sync695 includes tracked LFS object IDs that exist but are not in a selectively synced project696 included in selective sync697 excludes tracked LFS object IDs that are in selectively synced projects698 with selective sync by shard699 with a tracked LFS object700 excluded from selective sync701 includes tracked LFS object IDs that exist but are not in a selectively synced project702 included in selective sync703 excludes tracked LFS object IDs that are in selectively synced projects704 with object storage sync disabled705 with a tracked LFS object706 in object storage707 includes tracked LFS object IDs that are in object storage708 not in object storage709 excludes tracked LFS object IDs that are not in object storage710 #find_never_synced_registries711 returns registries for LFS objects that have never been synced712 #find_unsynced713 returns LFS objects without an entry on the tracking database714 excludes LFS objects without an entry on the tracking database715 with selective sync by namespace716 returns LFS objects without an entry on the tracking database717 with selective sync by shard718 counts LFS objects that sync has failed719 with object storage sync disabled720 returns LFS objects without an entry on the tracking database721 #find_migrated_local722 returns LFS objects remotely and successfully synced locally723 excludes LFS objects stored remotely, but not synced yet724 excludes synced LFS objects that are stored locally725 excludes except_ids726 with selective sync by namespace727 returns LFS objects remotely and successfully synced locally728 with selective sync by shard729 returns LFS objects remotely and successfully synced locally730 with object storage sync disabled731 returns LFS objects remotely and successfully synced locally732 #find_retryable_failed_registries733 returns registries for LFS objects that have failed to sync734 with selective sync by namespace735 returns registries for LFS objects that have failed to sync736 with selective sync by shard737 returns registries for LFS objects that have failed to sync738 #find_retryable_synced_missing_on_primary_registries739 returns registries for LFS objects that have been synced and are missing on the primary740 with selective sync by namespace741 returns registries for LFS objects that have been synced and are missing on the primary742 with selective sync by shard743 returns registries for LFS objects that have been synced and are missing on the primary744 behaves like a file registry finder745 responds to file registry finder methods746Geo::AttachmentRegistryFinder747 finds all the things748 #find_unsynced749 with object storage sync enabled750 returns attachments without an entry on the tracking database751 returns attachments without an entry on the tracking database, excluding from exception list752 with object storage sync disabled753 returns local attachments only754 with selective sync by namespace755 returns attachments without an entry on the tracking database, excluding from exception list756 with selective sync by shard757 returns attachments without an entry on the tracking database758 #find_migrated_local759 returns attachments stored remotely and successfully synced locally760 excludes attachments stored remotely, but not synced yet761 with selective sync by namespace762 returns attachments stored remotely and successfully synced locally763 with selective sync by shard764 returns attachments stored remotely and successfully synced locally765 counts all the things766 #count_synced767 with object storage sync enabled768 counts attachments that have been synced769 with object storage sync disabled770 counts only local attachments that have been synced771 with selective sync by namespace772 counts attachments that has been synced773 with selective sync by shard774 counts attachments that has been synced775 #count_failed776 with object storage sync enabled777 counts attachments that sync has failed778 with object storage sync disabled779 counts only local attachments that have failed780 with selective sync by namespace781 counts attachments that sync has failed782 with selective sync by shard783 counts attachments that sync has failed784 #count_synced_missing_on_primary785 with object storage sync enabled786 counts attachments that have been synced and are missing on the primary787 with object storage sync disabled788 counts only local attachments that have been synced and are missing on the primary789 with selective sync by namespace790 counts attachments that have been synced and are missing on the primary791 with selective sync by shard792 counts attachments that have been synced, are missing on the primary793 #count_syncable794 with object storage sync enabled795 counts attachments796 with object storage sync disabled797 counts only local attachments798 with selective sync by namespace799 counts attachments800 with selective sync by shard801 counts attachments802 #count_registry803 with object storage sync enabled804 counts file registries for attachments805 with object storage sync disabled806 does not apply local attachments only restriction807 with selective sync by namespace808 does not apply the selective sync restriction809 with selective sync by shard810 does not apply the selective sync restriction811Geo::FileDownloadDispatchWorker812 does not schedule anything when tracking database is not configured813 does not schedule anything when node is disabled814 does not schedule duplicated jobs815 attempts to load a new batch without pending downloads816 with attachments (Upload records)817 performs Geo::FileDownloadWorker for unsynced attachments818 performs Geo::FileDownloadWorker for failed-sync attachments819 does not perform Geo::FileDownloadWorker for synced attachments820 does not perform Geo::FileDownloadWorker for synced attachments even with 0 bytes downloaded821 with a failed file822 does not stall backfill823 retries failed files824 does not retry failed files when retry_at is tomorrow825 retries failed files when retry_at is in the past826 with Upload files missing on the primary that are marked as synced827 retries the files if there is spare capacity828 does not retry those files if there is no spare capacity829 does not retry those files if they are already scheduled830 with LFS objects831 with geo_lfs_registry_ssot_sync feature enabled832 with files missing on the primary833 with lfs_object_registry entries834 enqueues file downloads if there is spare capacity835 does not retry those files if there is no spare capacity836 does not retry those files if they are already scheduled837 with no lfs_object_registry entries838 does not enqueue file downloads839 with geo_lfs_registry_ssot_sync feature disabled840 with files missing on the primary841 with lfs_object_registry entries842 enqueues file downloads if there is spare capacity843 does not enqueue file downloads if there is no spare capacity844 does not enqueue file downloads if they are already scheduled845 with no lfs_object_registry entries846 enqueues file downloads if there is spare capacity847 does not enqueue file downloads if there is no spare capacity848 does not enqueue file downloads if they are already scheduled849 with job artifacts850 with geo_job_artifact_registry_ssot_sync feature enabled851 performs Geo::FileDownloadWorker for unsynced job artifacts852 performs Geo::FileDownloadWorker for failed-sync job artifacts853 does not perform Geo::FileDownloadWorker for synced job artifacts854 does not perform Geo::FileDownloadWorker for synced job artifacts even with 0 bytes downloaded855 does not retry failed artifacts when retry_at is tomorrow856 retries failed artifacts when retry_at is in the past857 with files missing on the primary that are marked as synced858 retries the files if there is spare capacity859 retries failed files with retry_at in the past860 does not retry files with later retry_at861 does not retry those files if there is no spare capacity862 does not retry those files if they are already scheduled863 with geo_job_artifact_registry_ssot_sync feature disabled864 performs Geo::FileDownloadWorker for unsynced job artifacts865 performs Geo::FileDownloadWorker for failed-sync job artifacts866 does not perform Geo::FileDownloadWorker for synced job artifacts867 does not perform Geo::FileDownloadWorker for synced job artifacts even with 0 bytes downloaded868 does not retry failed artifacts when retry_at is tomorrow869 retries failed artifacts when retry_at is in the past870 with files missing on the primary that are marked as synced871 retries the files if there is spare capacity872 retries failed files with retry_at in the past873 does not retry files with later retry_at874 does not retry those files if there is no spare capacity875 does not retry those files if they are already scheduled876 backoff time877 does not set the back off time when there are no pending items878 when node has namespace restrictions879 does not perform Geo::FileDownloadWorker for upload objects that do not belong to selected namespaces to replicate880 when geo_lfs_registry_ssot_sync feature is disabled881 does not perform Geo::FileDownloadWorker for LFS object that does not belong to selected namespaces to replicate882 when geo_job_artifact_registry_ssot_sync feature is disabled883 does not perform Geo::FileDownloadWorker for job artifact that does not belong to selected namespaces to replicate884Geo::DesignUpdatedRecentlyFinder885 #execute886 without selective sync887 returns desings with a dirty entry on the tracking database888 with selective sync by namespace889 returns designs that belong to the namespaces with a dirty entry on the tracking database890 with selective sync by shard891 does not return designs out of selected shard892 returns designs that belong to the shards with a dirty entry on the tracking database893Geo::ProjectRegistry894 relationships895 is expected to belong to project required:896 validations897 is expected to validate that :project cannot be empty/falsy898 is expected to validate that :project is case-sensitively unique899 .synced_repos900 returns clean projects where last attempt to sync succeeded901 .synced_wikis902 returns clean projects where last attempt to sync succeeded903 .failed_repos904 returns projects where last attempt to sync failed905 .failed_wikis906 returns projects where last attempt to sync failed907 .verified_repos908 returns projects that verified909 .verification_failed_repos910 returns projects where last attempt to verify failed911 .verified_wikis912 returns projects that verified913 .verification_failed_wikis914 returns projects where last attempt to verify failed915 .checksum_mismatch916 returns projects where there is a checksum mismatch917 .retry_due918 returns projects that should be synced919 .with_search920 returns project registries that refers to projects with a matching name921 returns project registries that refers to projects with a matching name regardless of the casing922 returns project registries that refers to projects with a matching description923 returns project registries that refers to projects with a partially matching description924 returns project registries that refers to projects with a matching description regardless of the casing925 returns project registries that refers to projects with a matching path926 returns project registries that refers to projects with a partially matching path927 returns project registries that refers to projects with a matching path regardless of the casing928 .flag_repositories_for_reverify!929 modified record to a reverify state930 .flag_repositories_for_resync!931 modified record to a resync state932 #repository_sync_due?933 last_synced_at: nil, resync: false, retry_at: nil, expected: true934 is expected to eq true935 last_synced_at: nil, resync: true, retry_at: nil, expected: true936 is expected to eq true937 last_synced_at: nil, resync: true, retry_at: 2019-03-05 04:29:01 +0000, expected: true938 is expected to eq true939 last_synced_at: nil, resync: true, retry_at: 2021-03-05 04:29:01 +0000, expected: true940 is expected to eq true941 last_synced_at: 2019-03-05 04:29:01 +0000, resync: false, retry_at: nil, expected: false942 is expected to eq false943 last_synced_at: 2019-03-05 04:29:01 +0000, resync: true, retry_at: nil, expected: true944 is expected to eq true945 last_synced_at: 2019-03-05 04:29:01 +0000, resync: true, retry_at: 2019-03-05 04:29:01 +0000, expected: true946 is expected to eq true947 last_synced_at: 2019-03-05 04:29:01 +0000, resync: true, retry_at: 2021-03-05 04:29:01 +0000, expected: false948 is expected to eq false949 last_synced_at: 2021-03-05 04:29:01 +0000, resync: false, retry_at: nil, expected: false950 is expected to eq false951 last_synced_at: 2021-03-05 04:29:01 +0000, resync: true, retry_at: nil, expected: false952 is expected to eq false953 last_synced_at: 2021-03-05 04:29:01 +0000, resync: true, retry_at: 2019-03-05 04:29:01 +0000, expected: false954 is expected to eq false955 last_synced_at: 2021-03-05 04:29:01 +0000, resync: true, retry_at: 2021-03-05 04:29:01 +0000, expected: false956 is expected to eq false957 #wiki_sync_due?958 last_synced_at: nil, resync: false, retry_at: nil, expected: true959 is expected to eq true960 last_synced_at: nil, resync: true, retry_at: nil, expected: true961 is expected to eq true962 last_synced_at: nil, resync: true, retry_at: 2019-03-05 04:29:01 +0000, expected: true963 is expected to eq true964 last_synced_at: nil, resync: true, retry_at: 2021-03-05 04:29:01 +0000, expected: true965 is expected to eq true966 last_synced_at: 2019-03-05 04:29:01 +0000, resync: false, retry_at: nil, expected: false967 is expected to eq false968 last_synced_at: 2019-03-05 04:29:01 +0000, resync: true, retry_at: nil, expected: true969 is expected to eq true970 last_synced_at: 2019-03-05 04:29:01 +0000, resync: true, retry_at: 2019-03-05 04:29:01 +0000, expected: true971 is expected to eq true972 last_synced_at: 2019-03-05 04:29:01 +0000, resync: true, retry_at: 2021-03-05 04:29:01 +0000, expected: false973 is expected to eq false974 last_synced_at: 2021-03-05 04:29:01 +0000, resync: false, retry_at: nil, expected: false975 is expected to eq false976 last_synced_at: 2021-03-05 04:29:01 +0000, resync: true, retry_at: nil, expected: false977 is expected to eq false978 last_synced_at: 2021-03-05 04:29:01 +0000, resync: true, retry_at: 2019-03-05 04:29:01 +0000, expected: false979 is expected to eq false980 last_synced_at: 2021-03-05 04:29:01 +0000, resync: true, retry_at: 2021-03-05 04:29:01 +0000, expected: false981 is expected to eq false982 redis shared state983 #syncs_since_gc984 without any sync985 returns 0986 with a number of syncs987 returns the number of syncs988 #increment_syncs_since_gc989 increments the number of syncs since the last GC990 #reset_syncs_since_gc991 resets the number of syncs since the last GC992 #start_sync!993 for a repository994 sets last_repository_synced_at to now995 when repository_retry_count is nil996 sets repository_retry_count to 0997 for a wiki998 sets last_wiki_synced_at to now999 when wiki_retry_count is nil1000 sets wiki_retry_count to 01001 #finish_sync!1002 for a repository1003 sets last_repository_successful_sync_at to now1004 resets sync state1005 resets verification state1006 does not reset repository_verification_retry_count1007 when a repository was missing on primary1008 sets repository_missing_on_primary as true1009 when a repository sync was scheduled after the last sync began1010 does not reset resync_repository1011 resets the other sync state fields1012 resets the verification state1013 does not reset repository_verification_retry_count1014 for a wiki1015 sets last_wiki_successful_sync_at to now1016 resets sync state1017 resets verification state1018 does not reset wiki_verification_retry_count1019 when a wiki was missing on primary1020 sets wiki_missing_on_primary as true1021 when a wiki sync was scheduled after the last sync began1022 does not reset resync_wiki1023 resets the other sync state fields1024 resets the verification state1025 does not reset wiki_verification_retry_count1026 #fail_sync!1027 for a repository1028 sets repository_retry_at to a future time1029 ensures repository_retry_at is capped at one hour1030 sets resync_repository to true1031 includes message in last_repository_sync_failure1032 includes error message in last_repository_sync_failure1033 increments repository_retry_count1034 optionally updates other attributes1035 when repository_retry_count is 01036 increments repository_retry_count1037 when repository_retry_count is 11038 increments repository_retry_count1039 for a wiki1040 sets wiki_retry_at to a future time1041 ensures wiki_retry_at is capped at one hour1042 sets resync_wiki to true1043 includes message in last_wiki_sync_failure1044 includes error message in last_wiki_sync_failure1045 increments wiki_retry_count1046 optionally updates other attributes1047 when wiki_retry_count is 01048 increments wiki_retry_count1049 when wiki_retry_count is 11050 increments wiki_retry_count1051 #repository_created!1052 sets resync_repository to true1053 when the RepositoryCreatedEvent wiki_path is present1054 sets resync_wiki to true1055 when the RepositoryCreatedEvent wiki_path is blank1056 sets resync_wiki to false1057 #repository_updated!1058 for a repository1059 resets sync state1060 resets verification state1061 for a wiki1062 resets sync state1063 resets verification state1064 #reset_checksum!1065 resets repository/wiki verification state1066 #repository_verification_pending?1067 returns true when outdated1068 returns true when we are missing checksum sha1069 returns false when checksum is present1070 #wiki_verification_pending?1071 returns true when outdated1072 returns true when we are missing checksum sha1073 returns false when checksum is present1074 pending_verification?1075 returns true when either wiki or repository verification is pending1076 returns false when both wiki and repository verification is present1077 pending_synchronization?1078 returns true when either wiki or repository synchronization is pending1079 returns false when both wiki and repository synchronization is present1080 #flag_repository_for_reverify!1081 modified record to a reverify state1082 #flag_repository_for_resync!1083 modified record to a resync state1084 #flag_repository_for_redownload!1085 modified record to a redownload state1086 #candidate_for_redownload?1087 returns false when repository_retry_count is 1 or less1088 returns true when repository_retry_count is > 11089 #synchronization_state1090 returns :never when no attempt to sync has ever been done1091 returns :failed when there is an existing error logged1092 returns :pending when there is an existing error logged1093 returns :synced when its fully synced and there is no pending action or existing error1094Geo::RepositoriesCleanUpWorker1095 #perform1096 does not perform Geo::RepositoryCleanupWorker when cannnot obtain a lease1097 does not raise an error when node could not be found1098 without selective sync1099 does not perform Geo::RepositoryCleanupWorker1100 with selective sync by namespace1101 performs the clean up worker for projects that does not belong to the selected namespaces1102 does not leave orphaned entries in the project_registry table1103 with selective sync by shard1104 performs the clean up worker for synced projects that does not belong to the selected shards1105 does not leave orphaned entries in the project_registry table1106Geo::ProjectRegistrySyncFailedFinder1107 #execute1108 with repository type1109 without selective sync1110 returns all failed registries1111 with selective sync by namespace1112 returns failed registries where projects belongs to the namespaces1113 with selective sync by shard1114 returns failed registries where projects belongs to the shards1115 with wiki type1116 without selective sync1117 returns all failed registries1118 with selective sync by namespace1119 returns failed registries where projects belongs to the namespaces1120 with selective sync by shard1121 returns failed registries where projects belongs to the shards1122 with no type1123 without selective sync1124 returns all failed registries1125 with selective sync by namespace1126 returns all failed registries where projects belongs to the namespaces1127 with selective sync by shard1128 returns all failed registries where projects belongs to the shards1129Geo::ProjectRegistryRetryingVerificationFinder1130 #execute1131 with repository type1132 without selective sync1133 returns all registries retrying verification1134 with selective sync by namespace1135 returns registries retrying verification where projects belongs to the namespaces1136 with selective sync by shard1137 returns registries retrying verification where projects belongs to the shards1138 with wiki type1139 without selective sync1140 returns all registries retrying verification1141 with selective sync by namespace1142 returns registries retrying verification where projects belongs to the namespaces1143 with selective sync by shard1144 returns registries retrying verification where projects belongs to the shards1145 with invalid type1146 without selective sync1147 returns nothing1148 with selective sync by namespace1149 returns nothing1150 with selective sync by shard1151 returns nothing1152Geo::DesignRegistry1153 relationships1154 is expected to belong to project required:1155 behaves like a Geo registry1156 #start_sync!1157 updates last_synced_at1158 #fail_sync!1159 fails registry record1160 #repository_updated!1161 resets the state of the sync1162 #search1163 all the registries1164 finds by state1165 finds by name1166 #finish_sync!1167 finishes registry record1168 when a design sync was scheduled after the last sync began1169 does not reset state1170 resets the other sync state fields1171 #should_be_redownloaded?1172 when force_to_redownload is false1173 returns false1174 returns true when limit is exceeded1175 when force_to_redownload is true1176 resets the state of the sync1177Geo::ProjectRegistryVerificationFailedFinder1178 #execute1179 with repository type1180 without selective sync1181 returns all failed registries1182 with selective sync by namespace1183 returns failed registries where projects belongs to the namespaces1184 with selective sync by shard1185 returns failed registries where projects belongs to the shards1186 with wiki type1187 without selective sync1188 returns all failed registries1189 with selective sync by namespace1190 returns failed registries where projects belongs to the namespaces1191 with selective sync by shard1192 returns failed registries where projects belongs to the shards1193 with no type1194 without selective sync1195 returns all failed registries1196 with selective sync by namespace1197 returns all failed registries where projects belongs to the namespaces1198 with selective sync by shard1199 returns all failed registries where projects belongs to the shards1200Geo::ProjectRegistrySyncedFinder1201 #execute1202 with repository type1203 without selective sync1204 returns all synced registries1205 with selective sync by namespace1206 returns synced registries where projects belongs to the namespaces1207 with selective sync by shard1208 returns synced registries where projects belongs to the shards1209 with wiki type1210 without selective sync1211 returns all synced registries1212 with selective sync by namespace1213 returns synced registries where projects belongs to the namespaces1214 with selective sync by shard1215 returns synced registries where projects belongs to the shards1216 with invalid type1217 returns nothing1218Geo::ProjectRegistryVerifiedFinder1219 #execute1220 with repository type1221 without selective sync1222 returns all verified registries1223 with selective sync by namespace1224 returns verified registries where projects belongs to the namespaces1225 with selective sync by shard1226 returns verified registries where projects belongs to the shards1227 with wiki type1228 without selective sync1229 returns all verified registries1230 with selective sync by namespace1231 returns verified registries where projects belongs to the namespaces1232 with selective sync by shard1233 returns verified registries where projects belongs to the shards1234 with invalid type1235 returns nothing1236EE::API::Entities::GeoNodeStatus1237 #healthy1238 when node is healthy1239 returns true1240 when node is unhealthy1241 returns false1242 #health1243 when node is healthy1244 exposes the health message1245 when node is unhealthy1246 exposes the error message1247 #attachments_synced_in_percentage1248 formats as percentage1249 #lfs_objects_synced_in_percentage1250 formats as percentage1251 #job_artifacts_synced_in_percentage1252 formats as percentage1253 #container_repositories_synced_in_percentage1254 formats as percentage1255 #design_repositories_synced_in_percentage1256 formats as percentage1257 #repositories_synced_in_percentage1258 formats as percentage1259 #replication_slots_used_in_percentage1260 formats as percentage1261 #namespaces1262 returns empty array when full sync is active1263 returns array of namespace ids and paths for selective sync1264 #storage_shards1265 returns the config1266 secondary Geo node1267 is expected to have key :storage_shards1268 is expected to have key :storage_shards_match1269Geo::RepositoryVerification::Secondary::ShardWorker1270 #perform1271 schedule a job for each project1272 schedule jobs for projects missing repository verification1273 schedule jobs for projects missing wiki verification1274 does not schedule jobs for projects on other shards1275 does not schedule jobs for projects missing repositories on primary1276 does not schedule jobs when shard becomes unhealthy1277 does not schedule jobs when no geo database is configured1278 does not schedule jobs when not running on a secondary1279 does not schedule jobs when number of scheduled jobs exceeds capacity1280 shard worker scheduler1281 acquires lock namespacing it per shard name1282 resource loading1283 handles multiple batches of projects needing verification1284 handles multiple batches of projects needing verification, skipping failed repos1285 backoff time1286 sets the back off time when there are no pending items1287 does not perform Geo::RepositoryVerification::Secondary::SingleWorker when the backoff time is set1288Geo::Fdw::GeoNode1289 relationships1290 is expected to have many geo_node_namespace_links class_name => Geo::Fdw::GeoNodeNamespaceLink1291 is expected to have many namespaces class_name => Geo::Fdw::Namespace through geo_node_namespace_links1292 #projects1293 returns all registries without selective sync1294 returns projects that belong to the namespaces with selective sync by namespace1295 returns projects that belong to the shards with selective sync by shard1296 returns nothing if an unrecognised selective sync type is used1297 #project_registries1298 returns all registries without selective sync1299 returns registries where projects belong to the namespaces with selective sync by namespace1300 returns registries where projects belong to the shards with selective sync by shard1301 returns nothing if an unrecognised selective sync type is used1302 #projects_outside_selective_sync1303 with selective sync by namespace1304 returns projects that does not belong to the selected namespaces1305 with selective sync by shard1306 returns synced projects that does not belong to the selected shards1307 #job_artifacts1308 when selective sync is enabled1309 applies a CTE statement1310 when selective sync is disabled1311 doest not apply a CTE statement1312Gitlab::Geo::GitPushSSHProxy1313 instance methods1314 #info_refs1315 against primary node1316 raises an exception1317 against secondary node1318 authorization header is scoped1319 passes the scope when .info_refs is called1320 passes the scope when .push is called1321 with a failed response1322 returns a Gitlab::Geo::GitPushSSHProxy::FailedAPIResponse1323 has a code of 5001324 has a status of false1325 has a messsage1326 has no result1327 with an invalid response1328 returns a Gitlab::Geo::GitPushSSHProxy::FailedAPIResponse1329 has a code of 5021330 has a status of false1331 has a messsage1332 has no result1333 with a valid response1334 returns a Gitlab::Geo::GitPushSSHProxy::APIResponse1335 has a code of 2001336 has a status of true1337 has no messsage1338 returns a modified body1339 #push1340 against primary node1341 raises an exception1342 against secondary node1343 with a failed response1344 returns a Gitlab::Geo::GitPushSSHProxy::FailedAPIResponse1345 has a messsage1346 has no result1347 with an invalid response1348 returns a Gitlab::Geo::GitPushSSHProxy::FailedAPIResponse1349 has a messsage1350 has no result1351 with a valid response1352 returns a Gitlab::Geo::GitPushSSHProxy::APIResponse1353 has a code of 2011354 has no messsage1355 has a result1356Geo::RepositorySyncService1357 behaves like geo base sync execution1358 #execute1359 when can acquire exclusive lease1360 executes the synchronization1361 when exclusive lease is not acquired1362 is does not execute synchronization1363 behaves like geo base sync fetch1364 #sync_repository1365 tells registry that sync will start now1366 #fetch_repository1367 cleans up temporary repository1368 fetches repository from geo node1369 repository does not exist1370 ensures repository is created1371 behaves like reschedules sync due to race condition instead of waiting for backfill1372 #mark_sync_as_successful1373 when RepositoryUpdatedEvent was processed during a sync1374 reschedules the sync1375 #execute1376 returns the lease when succeed1377 returns the lease when sync fail1378 does not fetch project repository if cannot obtain a lease1379 fetches project repository with JWT credentials1380 expires repository caches1381 voids the failure message when it succeeds after an error1382 rescues when Gitlab::Shell::Error is raised1383 rescues exception and fires after_create hook when Gitlab::Git::Repository::NoRepository is raised1384 increases retry count when Gitlab::Git::Repository::NoRepository is raised1385 marks sync as successful if no repository found1386 marks resync as true after a failure1387 repository presumably exists on primary1388 increases retry count if no repository found1389 tracking database1390 creates a new registry if does not exists1391 does not create a new registry if one exist1392 temporary repositories1393 there is a leftover repository1394 removes leftover repository1395 when repository sync succeed1396 sets last_repository_synced_at1397 sets last_repository_successful_sync_at1398 resets the repository_verification_checksum_sha1399 resets the last_repository_verification_failure1400 resets the repository_checksum_mismatch1401 logs success with timings1402 sets repository_retry_count and repository_retry_at to nil1403 with non empty repositories1404 when when HEAD change1405 syncs gitattributes to info/attributes1406 updates the default branch with JWT credentials1407 when HEAD does not change1408 syncs gitattributes to info/attributes1409 updates the default branch with JWT credentials1410 when repository sync fail1411 sets correct values for registry record1412 calls repository cleanup1413 retries1414 tries to fetch repo1415 sets the redownload flag to false after success1416 tries to redownload repo1417 tries to redownload repo when force_redownload flag is set1418 cleans temporary repo after redownload1419 successfully redownloads the repository even if the retry time exceeds max value1420 no repository1421 does not raise an error1422 behaves like sync retries use the snapshot RPC1423 snapshot synchronization method1424 does not attempt to snapshot for initial sync1425 does not attempt to snapshot for ordinary retries1426 registry is ready to be snapshotted1427 attempts to snapshot1428 attempts to fetch if snapshotting raises an exception1429 repository housekeeping1430 increases sync count after execution1431 initiate housekeeping at end of execution1432 when the repository is redownloaded1433 indicates the repository is new1434 when repository did not exist1435 indicates the repository is new1436 when repository already existed1437 indicates the repository is not new1438Geo::ProjectRegistryPendingVerificationFinder1439 #execute1440 does not return registries that are verified on primary and secondary1441 does not return registries that were unverified/outdated on primary1442 returns registries that were unverified/outdated on secondary1443 does not return registries that failed on primary1444 returns registries where one failed and one verified on the primary1445 does not return registries where verification failed on secondary1446 does not return registries when the repo needs to be resynced1447 does not return registries when the wiki needs to be resynced1448 does not return registries when the repository is missing on primary1449 does not return registries when the wiki is missing on primary1450 does not return registries where projects belongs to other shards1451 with selective sync by namespace1452 returns registries where projects belongs to the namespaces1453 with selective sync by shard1454 does not return registries when selected shards to sync does not include the shard_name1455 returns registries where projects belongs to the shards1456Projects::UpdateService#execute1457 triggering wiki Geo syncs1458 on a Geo primary1459 when enabling a wiki1460 creates a RepositoryUpdatedEvent1461 when we update project but not enabling a wiki1462 when the wiki is disabled1463 does not create a RepositoryUpdatedEvent1464 when the wiki was already enabled1465 does not create a RepositoryUpdatedEvent1466 not on a Geo node1467 does not create a RepositoryUpdatedEvent when enabling a wiki1468Geo::FileRegistryRemovalService1469 #execute1470 delegates log_error to the Geo logger1471 with LFS object1472 behaves like removes LFS object1473 file from disk1474 registry when file was deleted successfully1475 migrated to object storage1476 behaves like removes LFS object1477 file from disk1478 registry when file was deleted successfully1479 no lfs_object record1480 behaves like removes LFS object1481 file from disk1482 registry when file was deleted successfully1483 with job artifact1484 behaves like removes artifact1485 file from disk1486 registry when file was deleted successfully1487 migrated to object storage1488 behaves like removes artifact1489 file from disk1490 registry when file was deleted successfully1491 no job artifact record1492 behaves like removes artifact1493 file from disk1494 registry when file was deleted successfully1495 with avatar1496 behaves like removes1497 file from disk1498 registry when file was deleted successfully1499 migrated to object storage1500 behaves like removes1501 file from disk1502 registry when file was deleted successfully1503 with attachment1504 behaves like removes1505 file from disk1506 registry when file was deleted successfully1507 migrated to object storage1508 behaves like removes1509 file from disk1510 registry when file was deleted successfully1511 with file1512 behaves like removes1513 file from disk1514 registry when file was deleted successfully1515 migrated to object storage1516 behaves like removes1517 file from disk1518 registry when file was deleted successfully1519 with namespace_file1520 behaves like removes1521 file from disk1522 registry when file was deleted successfully1523 migrated to object storage1524 behaves like removes1525 file from disk1526 registry when file was deleted successfully1527 with personal_file1528 behaves like removes1529 file from disk1530 registry when file was deleted successfully1531 migrated to object storage1532 behaves like removes1533 file from disk1534 registry when file was deleted successfully1535 with favicon1536 behaves like removes1537 file from disk1538 registry when file was deleted successfully1539 migrated to object storage1540 behaves like removes1541 file from disk1542 registry when file was deleted successfully1543geo rake tasks1544 Gitlab:Geo::DatabaseTasks responds to all methods used in Geo rake tasks1545 Gitlab::Geo::GeoTasks responds to all methods used in Geo rake tasks1546 Gitlab::Geo::DatabaseTasks::Migrate responds to all methods used in Geo rake tasks1547 Gitlab::Geo::DatabaseTasks::Test responds to all methods used in Geo rake tasks1548 Gitlab::Geo::DatabaseTasks::Schema responds to .dump method used in Geo rake tasks1549 geo:db:drop1550 drops the current database1551 geo:db:create1552 creates a Geo tracking database1553 geo:db:migrate1554 migrates a Geo tracking database1555 geo:db:rollback1556 rolls back a Geo tracking database1557 geo:db:version1558 retrieves current schema version number1559 geo:db:reset1560 drops, recreates database, and loads seeds1561 geo:db:seed1562 loads seed data1563 geo:db:refresh_foreign_tables1564 refreshes foreign tables definition on secondary node1565 geo:db:_dump1566 dumps the schema1567 geo:db:abort_if_pending_migrations1568Run `rake geo:db:migrate` to update your database then try again.1569 raises an error if there are pending migrations1570 geo:db:schema_load1571 loads schema file into database1572 geo:db:schema_dump1573 creates schema.rb file1574 geo:db:migrate:up1575 runs up method for given migration1576 geo:db:migrate:down1577 runs down method for given migration1578 geo:db:migrate:redo1579 without env var set1580 does not run migrations1581 with env var set1582 does run migrations1583 geo:db:migrate:status1584 displays migration status1585 geo:db:test:prepare1586 check for pending migrations and load schema in test environment1587 geo:db:test:load1588 recreates database in test environment1589 geo:db:test:purge1590 empties database in test environment1591 geo:db:test:refresh_foreign_tables1592 refreshes foreign tables definitions in test environment1593 geo:set_primary_node1594 creates a GeoNode1595 geo:set_secondary_as_primary1596 removes primary and sets secondary as primary1597 geo:update_primary_node_url1598 when the machine Geo node name is not explicitly configured1599 updates Geo primary node URL and name1600 when the machine Geo node name is explicitly configured1601 updates Geo primary node URL only1602 geo:status1603 without a valid license1604GitLab Geo is not supported with this license. Please contact the sales team: https://about.gitlab.com/sales.1605 runs with an error1606 with a valid license1607 runs with no error1608 with a healthy node1609 shows status as healthy1610 does not show health status summary1611 with an unhealthy node1612 shows status as unhealthy1613 shows health status summary1614 geo:run_orphaned_project_registry_cleaner1615 removes orphaned registries1616 removes orphaned registries taking into account TO_PROJECT_ID1617 removes orphaned registries taking into account FROM_PROJECT_ID1618Geo::RepositorySyncWorker1619 when geo_streaming_results_repository_sync flag is enabled1620 additional shards1621 skips backfill for repositories on other shards1622 skips backfill for projects on shards excluded by selective sync1623 skips backfill for projects on missing shards1624 skips backfill for projects with downed Gitaly server1625 when geo_streaming_results_repository_sync flag is disabled1626 additional shards1627 skips backfill for repositories on other shards1628 skips backfill for projects on shards excluded by selective sync1629 skips backfill for projects on missing shards1630 skips backfill for projects with downed Gitaly server1631Gitlab::Geo::LogCursor::Events::RepositoryUpdatedEvent1632 #process1633 when the associated shard is healthy1634 schedules a Geo::ProjectSyncWorker1635 behaves like RepositoryUpdatedEvent1636 creates a new project registry if it does not exist1637 when we have an event source1638 when event source is a repository1639 sets resync_repository to true1640 resets the repository verification fields1641 sets resync_repository_was_scheduled_at to the scheduled time1642 when the event source is a wiki1643 sets resync_wiki to true1644 resets the wiki repository verification fields1645 sets resync_wiki_was_scheduled_at to the scheduled time1646 enqueues the job with the proper args1647 enqueues wiki sync1648 passes correct options1649 enqueues repository sync1650 passes correct options1651 when associated shard is unhealthy1652 does not schedule a Geo::ProjectSyncWorker job1653 behaves like RepositoryUpdatedEvent1654 creates a new project registry if it does not exist1655 when we have an event source1656 when event source is a repository1657 sets resync_repository to true1658 resets the repository verification fields1659 sets resync_repository_was_scheduled_at to the scheduled time1660 when the event source is a wiki1661 sets resync_wiki to true1662 resets the wiki repository verification fields1663 sets resync_wiki_was_scheduled_at to the scheduled time1664Geo::FileUploadService1665 #retriever1666 returns a FileRetriever given type is attachment1667 returns a FileRetriever given type is avatar1668 returns a FileRetriever given type is file1669 returns a FileRetriever given type is import_export1670 returns a FileRetriever given type is namespace_file1671 returns a FileRetriever given type is personal_file1672 returns a FileRetriever given type is favicon1673 returns a LfsRetriever given object_type is lfs1674 returns a JobArtifactRetriever given object_type is job_artifact1675 #execute1676 user avatar1677 sends avatar file1678 returns nil1679 at least one scope parameter is wrong1680 returns nil1681 group avatar1682 sends avatar file1683 returns nil1684 at least one scope parameter is wrong1685 returns nil1686 project avatar1687 sends avatar file1688 returns nil1689 at least one scope parameter is wrong1690 returns nil1691 attachment1692 sends attachment file1693 returns nil1694 at least one scope parameter is wrong1695 returns nil1696 file upload1697 sends the file1698 returns nil1699 at least one scope parameter is wrong1700 returns nil1701 namespace file upload1702 sends the file1703 returns nil1704 at least one scope parameter is wrong1705 returns nil1706 LFS Object1707 sends LFS file1708 returns nil1709 at least one scope parameter is wrong1710 returns nil1711 job artifact1712 sends job artifact file1713 returns nil1714 at least one scope parameter is wrong1715 returns nil1716 import export archive1717 sends the file1718 returns nil1719 at least one scope parameter is wrong1720 returns nil1721Geo::PruneEventLogWorker1722 #perform1723 current node secondary1724 does nothing1725 current node primary1726unknown OID 28: failed to recognize type of 'xmin'. It will be treated as String.1727unknown OID 3220: failed to recognize type of 'restart_lsn'. It will be treated as String.1728 does nothing when database is not feeling healthy1729 does checks if it should prune1730 deletes also associated event table rows1731 delegates pruning to Geo::PruneEventLogService1732 no Geo secondary nodes1733 deletes everything from the Geo event log1734 no Geo primary node1735 deletes everything from the Geo event log1736 multiple secondary nodes1737 aborts when there is a node without status1738 aborts when there is an unhealthy node1739 aborts when there is a node with an old status1740 aborts when there is a node with a healthy status without timestamp1741 takes the integer-minimum value of all cursor_last_event_ids1742 #log_error1743 calls the Geo logger1744Geo::Secondary::RepositoryBackfillWorker1745 disables Sidekiq retries1746 #perform1747 does not schedule jobs when Geo database is not configured1748 does not schedule jobs when not running on a Geo secondary node1749 does not schedule jobs when shard is not healthy1750 does not schedule jobs when the Geo secondary node is disabled1751 does not schedule jobs for projects on other shards1752 schedules a job for each unsynced project1753 schedules a job for each project where last attempt to sync failed1754 schedules a job for each synced project updated recently1755 respects Geo secondary node max capacity per shard1756Geo::MigratedLocalFilesCleanUpWorker1757 does not run when node is disabled1758 does not run when sync_object_storage is enabled1759 with LFS objects1760 schedules job for file stored remotely and synced locally1761 schedules worker for file stored remotely and synced locally1762 with attachments1763 schedules nothing for attachments stored locally1764 attachments stored remotely1765 schedules jobs for uploads stored remotely and synced locally1766 schedules workers for uploads stored remotely and synced locally1767 with job artifacts1768 schedules job for artifact stored remotely and synced locally1769 schedules worker for artifact stored remotely and synced locally1770 backoff time1771 sets the back off time when there are no pending items1772 does not perform Geo::FileRegistryRemovalWorker when the backoff time is set1773Geo::ProjectUnsyncedFinder1774 #execute1775 without selective sync1776 returns projects without an entry on the tracking database1777 with selective sync by namespace1778 returns projects that belong to the namespaces without an entry on the tracking database1779 with selective sync by shard1780 does not return registries when selected shards to sync does not include the shard_name1781 returns projects that belong to the shards without an entry on the tracking database1782Geo::RepositoryDestroyService1783 #async_execute1784 starts the worker1785 #execute1786 with a project on a legacy storage1787 delegates project removal to Projects::DestroyService1788 removes the repository from disk1789 cleans up deleted repositories1790 removes the tracking entries1791 with a project on a hashed storage1792 delegates project removal to Projects::DestroyService1793 removes the repository from disk1794 cleans up deleted repositories1795 removes the tracking entries1796 with a project on a broken storage1797 delegates project removal to Projects::DestroyService1798 removes the tracking entries1799Geo::HashedStorageMigrationService1800 #execute1801 does not move project backed by hashed storage1802 project backed by legacy storage1803 moves the project repositories1804 raises an error when project repository can not be moved1805 raises an error when wiki repository can not be moved1806 #async_execute1807 starts the worker1808 returns job id1809Geo::MetricsUpdateService1810 #execute1811 when current node is nil1812 skips posting the status1813 when node is the primary1814 updates the cache1815 updates metrics for all nodes1816 updates the GeoNodeStatus entry1817 updates metrics when secondary nodes are cached1818 when node is a secondary1819 updates the cache1820 adds gauges for various metrics1821 increments a counter when metrics fail to retrieve1822 does not create GeoNodeStatus entries1823Geo::Eventable1824 .up_to_event1825 finds only events up to the given geo event log id1826 .delete_with_limit1827 deletes a limited amount of rows1828 #consumer_klass_name1829 returns the even class name without the module part1830Geo::ContainerRepositoryRegistry1831 relationships1832 is expected to belong to container_repository required:1833 scopes1834 .repository_id_not_in1835 returns registries scoped by ids1836 behaves like a Geo registry1837 #start_sync!1838 updates last_synced_at1839 #fail_sync!1840 fails registry record1841 #repository_updated!1842 resets the state of the sync1843 #finish_sync!1844 finishes registry record1845 when a container sync was scheduled after the last sync began1846 does not reset state1847 resets the other sync state fields1848Geo::ContainerRepositorySyncService1849 lease handling1850 returns the lease when sync succeeds1851 returns the lease when sync fails1852 skips syncing repositories if cannot obtain a lease1853 #execute1854 fails registry record if there was exception1855 finishes registry record if there was no exception1856 finishes registry record if there was no exception and registy does not exist1857 race condition when ContainerRepositoryUpdatedEvent was processed during a sync1858 reschedules the sync1859Geo::JobArtifactDeletedEventStore1860 #create!1861 behaves like a Geo event store1862 when running on a secondary node1863 does not create an event1864 when running on a primary node1865 does not create an event if there are no secondary nodes1866 creates an event1867 when file subject is not on local store1868 creates an event1869 when running on a primary node1870 tracks artifact attributes1871 logs an error message when event creation fail1872Geo::MoveRepositoryService1873 #execute1874 renames the project repositories1875 returns false when project repository can not be renamed1876 returns false when wiki repository can not be renamed1877 when design repository exists1878 returns false when design repository can not be renamed1879 wiki disabled1880 tries to move wiki even if it is not enabled without reporting error1881Geo::RepositoryVerification::Secondary::SingleWorker1882 disables retrying of failed jobs1883 #perform1884 does not calculate the checksum when not running on a secondary1885 does not calculate the checksum when project is pending deletion1886 does not raise an error when registry could not be found1887 does not raise an error when project could not be found1888 runs verification for both repository and wiki1889Geo::Secondary::RegistryConsistencyWorker1890 uses a cronjob queue1891 behaves like reenqueuer1892 implements lease_timeout1893 #perform1894 tries to obtain a lease1895 #perform1896 creates missing registries for each registry class1897 behaves like it is rate limited to 1 call per1898 when the work finishes in 0 seconds1899 sleeps exactly the minimum duration1900 when the work finishes in 10% of minimum duration1901 sleeps 90% of minimum duration1902 when the work finishes in 90% of minimum duration1903 sleeps 10% of minimum duration1904 when the work finishes exactly at minimum duration1905 does not sleep1906 when the work takes 10% longer than minimum duration1907 does not sleep1908 when the work takes twice as long as minimum duration1909 does not sleep1910 when RegistryConsistencyService#execute returns true at least once1911 returns true1912 RegistryConsistencyWorker gets reenqueued1913 when RegistryConsistencyService#execute returns false for all registry classes1914 returns false1915 RegistryConsistencyWorker does not get reenqueued (we will wait until next cronjob)1916 when geo_lfs_registry_ssot_sync is disabled1917 returns false1918 does not execute RegistryConsistencyService for LFS objects1919 when geo_job_artifact_registry_ssot_sync is disabled1920 returns false1921 does not execute RegistryConsistencyService for Job Artifacts1922 when the current Geo node is disabled or primary1923 returns false1924 does not execute RegistryConsistencyService1925Geo::RepositoryUpdatedService1926 #execute1927 when repository is being updated1928 when not running on a primary node1929 does not create a repository updated event1930 does not reset the repository verification checksum1931 does not reset the repository verification failure1932 when running on a primary node1933 creates a repository updated event1934 resets the repository verification checksum1935 resets the repository verification failure1936 resets the retry_at column1937 resets the retry_count column1938 does not raise an error when project have never been verified1939 raises a Geo::RepositoryUpdatedService::RepositoryUpdateError when an error occurs1940 when wiki is being updated1941 when not running on a primary node1942 does not create a repository updated event1943 does not reset the repository verification checksum1944 does not reset the repository verification failure1945 when running on a primary node1946 creates a repository updated event1947 resets the repository verification checksum1948 resets the repository verification failure1949 resets the retry_at column1950 resets the retry_count column1951 does not raise an error when project have never been verified1952 raises a Geo::RepositoryUpdatedService::RepositoryUpdateError when an error occurs1953 when design repository is being updated1954 creates a design repository updated event1955Geo::BlobDownloadService1956 #execute1957 when it can obtain the exclusive lease1958 when the registry record does not exist1959 when the downloader returns success1960 creates the registry1961 sets sync state to synced1962 when the downloader returns failure1963 creates the registry1964 sets sync state to failed1965Gitlab::Geo::Fdw1966 .enabled?1967 returns false when Geo secondary database is not configured1968 returns false when foreign server does not exist1969 returns false when foreign server exists but foreign schema does not exist1970 returns false when foreign server and schema exists but foreign tables are empty1971 returns false when fdw is disabled in `config/database_geo.yml`1972 returns true when fdw is set in `config/database_geo.yml`1973 returns true when fdw is nil in `config/database_geo.yml`1974 returns true with a functional fdw environment1975 .disabled?1976 returns true when foreign server does not exist1977 returns true when foreign server exists but foreign schema does not exist1978 returns true when foreign server and schema exists but foreign tables are empty1979 returns true when fdw is disabled in `config/database_geo.yml`1980 returns true when Geo secondary database is not configured1981 returns false when fdw is set in `config/database_geo.yml`1982 returns false when fdw is nil in `config/database_geo.yml`1983 returns false with a functional fdw environment1984 .foreign_tables_up_to_date?1985 returns false when foreign schema does not exist1986 returns false when foreign schema exists but tables in schema doesnt match1987 returns true when foreign schema exists and foreign schema has same tables as secondary database1988 .foreign_schema_tables_count1989 returns the number of tables in the foreign schema1990 excludes tables that start with `pg_`1991 .gitlab_schema_tables_count1992 returns the same number of tables as defined in the database1993 excludes tables that start with `pg_`1994 .expire_cache!1995 calls Gitlab::Geo.expire_cache_keys!1996Geo::UploadDeletedEventStore1997 #create!1998 behaves like a Geo event store1999 when running on a secondary node2000 does not create an event2001 when running on a primary node2002 does not create an event if there are no secondary nodes2003 creates an event2004 when file subject is not on local store2005 creates an event2006 when running on a primary node2007 tracks upload attributes2008Geo::RepositoryVerification::Primary::BatchWorker2009 #perform2010 skips backfill for repositories on other shards2011 skips backfill for projects on missing shards2012 skips backfill for projects with downed Gitaly server2013 when geo_repository_verification is disabled2014 does not schedule jobs2015Gitlab::Geo::Oauth::LogoutToken2016 #valid?2017 returns false when current user is nil2018 returns false when state is nil2019 returns false when state is empty2020 returns false when token has an incorrect encoding2021 returns false when token could not be found2022 returns false when token has an invalid status2023 returns false when token does not belong to the user2024 returns true when token is valid2025 #return_to2026 returns nil when token is invalid2027 returns nil when there is no Geo node associated with the OAuth application2028 when state return_to param is nil2029 returns the Geo node URL associated with the OAuth application2030 when state return_to param is empty2031 returns the Geo node URL associated with the OAuth application2032 when state return_to param is set2033 returns the full path to the Geo node URL associated with the OAuth application2034 replaces the host with the Geo node associated with the OAuth application2035 handles leading and trailing slashes correctly2036Geo::HashedStorageMigratedEventStore2037 #create!2038 behaves like a Geo event store2039 when running on a secondary node2040 does not create an event2041 when running on a primary node2042 does not create an event if there are no secondary nodes2043 creates an event2044 when file subject is not on local store2045 creates an event (PENDING: No file subject defined, skipping)2046 when running on a primary node2047 tracks project attributes2048Gitlab::Geo::LogCursor::Events::RepositoryDeletedEvent2049 #process2050 when a tracking entry does not exist2051 does not schedule a GeoRepositoryDestroyWorker2052 does not create a tracking entry2053 when a tracking entry exists2054 when selective sync is enabled2055 replays delete events when project does not exist on primary2056 does not remove the tracking entry2057Knapsack report was generated. Preview:2058{2059 "ee/spec/models/geo_node_status_spec.rb": 145.87187552452087,2060 "ee/spec/lib/gitlab/geo/log_cursor/daemon_spec.rb": 130.96009612083435,2061 "ee/spec/finders/geo/lfs_object_registry_finder_spec.rb": 33.55263137817383,2062 "ee/spec/finders/geo/attachment_registry_finder_spec.rb": 23.181093215942383,2063 "ee/spec/workers/geo/file_download_dispatch_worker_spec.rb": 22.96298885345459,2064 "ee/spec/finders/geo/design_updated_recently_finder_spec.rb": 12.465537309646606,2065 "ee/spec/models/geo/project_registry_spec.rb": 16.35907292366028,2066 "ee/spec/workers/geo/repositories_clean_up_worker_spec.rb": 11.962042331695557,2067 "ee/spec/finders/geo/project_registry_sync_failed_finder_spec.rb": 11.812671184539795,2068 "ee/spec/finders/geo/project_registry_retrying_verification_finder_spec.rb": 11.546399354934692,2069 "ee/spec/models/geo/design_registry_spec.rb": 12.05701732635498,2070 "ee/spec/finders/geo/project_registry_verification_failed_finder_spec.rb": 11.310102939605713,2071 "ee/spec/finders/geo/project_registry_synced_finder_spec.rb": 8.946492433547974,2072 "ee/spec/finders/geo/project_registry_verified_finder_spec.rb": 8.961046695709229,2073 "ee/spec/lib/ee/api/entities/geo_node_status_spec.rb": 0.9523031711578369,2074 "ee/spec/workers/geo/repository_verification/secondary/shard_worker_spec.rb": 6.152299404144287,2075 "ee/spec/models/geo/fdw/geo_node_spec.rb": 7.37127423286438,2076 "ee/spec/lib/gitlab/geo/git_push_ssh_proxy_spec.rb": 7.633319616317749,2077 "ee/spec/services/geo/repository_sync_service_spec.rb": 6.608877897262573,2078 "ee/spec/finders/geo/project_registry_pending_verification_finder_spec.rb": 7.192663669586182,2079 "ee/spec/services/projects/update_service_spec.rb": 1.2311043739318848,2080 "ee/spec/services/geo/file_registry_removal_service_spec.rb": 4.950512409210205,2081 "ee/spec/tasks/geo_rake_spec.rb": 4.227230787277222,2082 "ee/spec/workers/geo/repository_sync_worker_spec.rb": 6.244425296783447,2083 "ee/spec/lib/gitlab/geo/log_cursor/events/repository_updated_event_spec.rb": 4.140945911407471,2084 "ee/spec/services/geo/file_upload_service_spec.rb": 4.736662149429321,2085 "ee/spec/workers/geo/prune_event_log_worker_spec.rb": 6.011182546615601,2086 "ee/spec/workers/geo/secondary/repository_backfill_worker_spec.rb": 4.1799116134643555,2087 "ee/spec/workers/geo/migrated_local_files_clean_up_worker_spec.rb": 4.375175952911377,2088 "ee/spec/finders/geo/project_unsynced_finder_spec.rb": 3.582446813583374,2089 "ee/spec/services/geo/repository_destroy_service_spec.rb": 3.7843804359436035,2090 "ee/spec/services/geo/hashed_storage_migration_service_spec.rb": 1.7226660251617432,2091 "ee/spec/services/geo/metrics_update_service_spec.rb": 2.606300115585327,2092 "ee/spec/models/concerns/geo/eventable_spec.rb": 1.6901233196258545,2093 "ee/spec/models/geo/container_repository_registry_spec.rb": 1.8482811450958252,2094 "ee/spec/services/geo/container_repository_sync_service_spec.rb": 1.7214224338531494,2095 "ee/spec/services/geo/job_artifact_deleted_event_store_spec.rb": 1.7556138038635254,2096 "ee/spec/services/geo/move_repository_service_spec.rb": 1.313861608505249,2097 "ee/spec/workers/geo/repository_verification/secondary/single_worker_spec.rb": 1.162855625152588,2098 "ee/spec/workers/geo/secondary/registry_consistency_worker_spec.rb": 1.5607144832611084,2099 "ee/spec/services/geo/repository_updated_service_spec.rb": 0.7770724296569824,2100 "ee/spec/services/geo/blob_download_service_spec.rb": 1.0277209281921387,2101 "ee/spec/lib/gitlab/geo/fdw_spec.rb": 0.7976274490356445,2102 "ee/spec/services/geo/upload_deleted_event_store_spec.rb": 1.0098154544830322,2103 "ee/spec/workers/geo/repository_verification/primary/batch_worker_spec.rb": 1.2790277004241943,2104 "ee/spec/lib/gitlab/geo/oauth/logout_token_spec.rb": 1.419731616973877,2105 "ee/spec/services/geo/hashed_storage_migrated_event_store_spec.rb": 0.9405615329742432,2106 "ee/spec/lib/gitlab/geo/log_cursor/events/repository_deleted_event_spec.rb": 0.88304090499877932107}2108Knapsack global time execution for tests: 09m 28s2109Pending: (Failures listed here are expected and do not affect your suite's status)2110 1) Geo::HashedStorageMigratedEventStore#create! behaves like a Geo event store when running on a primary node when file subject is not on local store creates an event2111 # No file subject defined, skipping2112 # ./ee/spec/support/shared_examples/services/geo_event_store_shared_examples.rb:362113Finished in 13 minutes 45 seconds (files took 1 minute 8.72 seconds to load)2114944 examples, 0 failures, 1 pending2115Thu Mar 5 04:43:08 UTC 20202118coverage/: found 5 matching files 2119knapsack/: found 6 matching files 2120rspec_flaky/: found 4 matching files 2121rspec_profiling/: found 2 matching files 2122WARNING: tmp/capybara/: no matching files 2123tmp/memory_test/: found 2 matching files 2124junit_rspec.xml: found 1 matching files 2125Uploading artifacts to coordinator... ok id=460116853 responseStatus=201 Created token=SZiZvm_z2126Uploading artifacts...2127junit_rspec.xml: found 1 matching files 2128Uploading artifacts to coordinator... ok id=460116853 responseStatus=201 Created token=SZiZvm_z2129Job succeeded