shouldUpdateBeIgnored (핵심)

1) 실패한 패키지인지, 실패해도 재시도 할 것인지 확인
실패한 업데이트가 아니라면 무시할 이유가 없다.
따라서 가장 먼저 실패한 패키지인지를 체크하고 실패한 패키지가 아니라면 이번 업데이트를 무시하지 않는다.
또한,
syncOptions.
ignoreFailedUpdates
=false
로 설정된 경우에도 실패 여부와 상관없이 업데이트를 무시하지 않는다.ignoreFailedUpdates 옵션은 타입으로 공개되지 않은 프롭이다.
실패 여부에 상관없이 매번 재시도를 할 수 있도록 해주는 프롭이다.
2) rollbackRetryOptions가 없다면
rollbackRetryOptions
값에 아무것도 들어있지 않다면 한번만 실패해도 해당 패키지는 무시한다.3) rollbackRetryOptions 값 구성
rollbackRetryOptions
값은 있으나 오브젝트 타입이 아니라면 기본값을 적용 시키고,오브젝트로 값이 들어가 있다면 기본값에서 프롭으로 주입된 값들은 재정의 하여 설정한다.
4) rollbackRetryOptions 유효성 체크
유효하지 않은 형태라면 이번 업데이트를 무시한다.
5) latestRollbackInfo 유효성 체크
마지막 롤백에 대한 정보를 받아온다.
유효하지 않은 형태라면 이번 업데이트를 무시한다.
6) rollbackRetryOptions 시간, 롤백 횟수 체크
마지막 롤백으로부터
rollbackRetryOptions.delayInHours
설정한 시간보다 더 지났으며, 롤백된 횟수가 rollbackRetryOptions.maxRetryAttempts
횟수보다 적은지 확인한다.조건에 부합한다면 롤백에 대해 재시도를 시도하고, 아니라면 이번 업데이트를 무시한다.
