필요한 데이터베이스 중지

이 페이지에서는 GitLab 업그레이드 중지가 필요한 데이터베이스 변경 사항을 설명합니다. 전반적인 원인 목록에 대한 내용이 궁금하다면, 필요한 중지 사유를 참조하세요.

필요한 중지는 이제 일관되게 X.2, X.5, X.8 및 X.11과 같은 마이너 버전에 랜딩합니다. 이는 사용자들에게 예측 가능한 업그레이드 경로를 보장하기 위한 것입니다. 중지가 필요한 데이터베이스 변경 사항을 적용하기 위해 이하 지침을 사용합니다.

중지가 필요한 일반적인 데이터베이스 변경

실행 중인 마이그레이션 최종화

마이그레이션이 오랜 시간이 걸릴 경우 많은 고객이 업그레이드 중 타임아웃을 경험할 수 있습니다. 증가한 지원 볼륨으로 인해 우리는 필수 중지를 도입할 수 있습니다. 특히 큰 고객들의 경우 어떠한 백그라운드 마이그레이션이라도 이러한 문제를 일으킬 수 있지만, 일반적으로 영향이 넓게 퍼진 경우에만 중지를 도입합니다.

  • 원인: 업그레이드가 1시간 이상 소요될 경우 옴니버스가 타임아웃됩니다.
  • 완화책: 다음 필수 중지 이후 첫 번째 마이너 버전에 최종화 일정을 잡으세요.

부적절한 마이그레이션 최종화

다음과 같은 사항에 대한 완화책으로 필수 중지를 도입해야 할 수 있습니다:

  • 백그라운드 마이그레이션이 최종화되지 않았고,
  • 해당 백그라운드 마이그레이션에 의존하는 마이그레이션이 작성되어 있는 경우.

  • 원인: 해당 의존 마이그레이션이 불완전한 경우, 의존 마이그레이션은 실패할 수 있습니다.
  • 완화책: 의존하는 모든 백그라운드 마이그레이션이 최종화되도록 보장하세요.

마이그레이션 제거

마이그레이션이 제거된 경우, 필수 변경 사항을 고객들이 놓치지 않도록 필수 중지를 도입해야 할 수 있습니다.

  • 원인: 필수 마이그레이션이 제거되었기 때문에 의존 마이그레이션은 실패할 수 있거나, 애플리케이션이 작동하지 않을 수 있습니다.
  • 완화책: 마이그레이션이 계획된 필수 중지 이후에만 제거되었는지 확인하세요.

마이그레이션 타임스탬프가 매우 오래됨

마이그레이션 타임스탬프가 매우 오래된 경우(> 3주, 또는 마지막 중지 이후), 다음 시나리오가 문제를 일으킬 수 있습니다:

  • 만약 마이그레이션이 더 최근 타임스탬프의 다른 마이그레이션에 의존하는 경우, 이 새로운 마이그레이션은 선행 마이그레이션보다 빨리 순차적으로 실행되어 실패할 수 있습니다.
  • 마이그레이션 타임스탬프 ID가 마지막으로 소개된 것보다 이전인 경우, 팀이 필수 중지에서 다른 마이그레이션을 통합할 때 실수로 통합될 수 있습니다.

  • 원인: 마이그레이션이 이전 버전에서 소개된 더 늦은 타임스탬프를 가진 마이그레이션에 의존한다면 마이그레이션이 실패할 수 있습니다. 또는, 필수 중지 이후에 마이그레이션이 실수로 통합될 수 있습니다.
  • 완화책: 마이그레이션 타임스탬프가 릴리즈 날짜 안에 속하도록 하고, 그러한 타임스탬프가 마지막 필수 중지 이전으로 날짜가 되지 않도록 보장하세요.

마이그레이션 관련 도구의 버그

일부 상황에서 마이그레이션 관련 도구의 버그로 인해 중지를 도입해야 했습니다. 테스트에서 이러한 문제를 예방하려 노력하고 있지만, 때로는 발생할 수 있습니다.

  • 원인: 우리는 일부 다른 원인들을 나중에 깨닫게 되었습니다.
  • 완화책: 일반적으로 마이그레이션의 수정사항을 백포트하려 노력하지만, 어떤 경우에는 이것이 불가능할 수 있습니다.

필수 중지 추가

위의 시나리오 중 하나에 해당하는 변경 사항을 도입할 계획이라면, 필수 중지 추가를 참조하세요.