백그라운드 마이그레이션 문제 해결
백그라운드 마이그레이션 문제에 대한 해결책.
완료되지 않은 배치 백그라운드 마이그레이션으로 인한 데이터베이스 마이그레이션 실패 # GitLab 버전 14.2 이상으로 업데이트할 때 데이터베이스 마이그레이션이 다음과 같은 메시지와 함께 실패할 수 있습니다: StandardError: An error has occurred, all later migrations canceled: Expected batched background migration for the given configuration to be marked as 'finished', but it is 'active': {:job_class_name=>"CopyColumnUsingBackgroundMigrationJob", :table_name=>"push_event_payloads", :column_name=>"event_id", :job_arguments=>[["event_id"], ["event_id_convert_to_bigint"]] } 이 오류를 해결하려면: 14.2에 대한 버전별 업그레이드 지침 을 따랐다면 배치 백그라운드 마이그레이션을 수동으로 완료 합니다. 해당 지침을 따르지 않았다면 다음 중 하나를 수행해야 합니다: 14.2+로 업데이트하기 전에 필요한 버전 중 하나를 통해 롤백하고 업그레이드합니다 . 롤 포워드하여 현재 버전을 유지하면서 배치 마이그레이션이 성공적으로 완료되도록 수동으로 확인합니다. 롤백하고 필요한 업그레이드 경로 따르기 # 롤백하고 필요한 업그레이드 경로를 따르려면: 이전에 설치된 버전으로 롤백하고 복원합니다 . 14.2+로 업데이트하기 전에 14.0.5 또는 14.1로 업데이트합니다. 배치 백그라운드 마이그레이션의 상태를 확인 하고 다시 업그레이드를 시도하기 전에 모두 완료됨으로 표시되어 있는지 확인합니다. 활성 상태로 표시된 것이 남아 있으면 수동으로 완료 합니다. 롤 포워드하고 업그레이드된 버전에서 마이그레이션 완료 # 롤 포워드 프로세스는 다운타임이 필요한지 여부에 따라 다릅니다. 다운타임이 있는 배포의 경우 # 모든 배치 백그라운드 마이그레이션을 실행하는 데 GitLab 설치 규모에 따라 상당한 시간이 걸릴 수 있습니다. 데이터베이스에서 배치 백그라운드 마이그레이션의 상태를 확인 하고 상태 쿼리가 행을 반환하지 않을 때까지 적절한 인수로 수동으로 실행 합니다. 모든 마이그레이션 상태가 완료로 표시되면 설치에 대한 마이그레이션을 다시 실행합니다. GitLab 업그레이드에서 데이터베이스 마이그레이션을 완료 합니다: sudo gitlab-rake db:migrate 재구성을 실행합니다: sudo gitlab-ctl reconfigure 설치에 대한 업그레이드를 완료합니다. 다운타임 없는 배포의 경우 # 실패하는 마이그레이션은 포스트 배포 마이그레이션이므로 업그레이드된 버전의 실행 중인 인스턴스에서 계속 유지하면서 배치 백그라운드 마이그레이션이 완료될 때까지 기다릴 수 있습니다. 오류 메시지에서 배치 백그라운드 마이그레이션의 상태를 확인 하고 완료됨으로 나열되어 있는지 확인합니다. 마이
