// Token: 0x06000274 RID: 628 RVA: 0x0000C7B4 File Offset: 0x0000A9B4 internal static void HandleRetryExceptions(Exception e, ref int count, bool dbAccess, IAmCluster cluster, int?sleepIntervalMilliSecs) { if (!AmExceptionHelper.IsImmediateClusRetryException(e)) { if (!AmExceptionHelper.IsRetryableClusterResourceException(e)) { throw new ClusCommonFailException(e.Message, e); } if (dbAccess) { throw new ClusterDatabaseTransientException(e.Message, e); } throw new ClusCommonNonRetryableTransientException(e.Message, e); } else { AmExceptionHelper.CheckExceptionCode(e, 2147549448U); if (count++ < 3) { if (sleepIntervalMilliSecs != null) { Thread.Sleep(sleepIntervalMilliSecs.Value); } return; } AmExceptionHelper.Tracer.TraceDebug <string, int>(0L, "HandleRetry throwing error {0}, after {1} retries", e.Message, count); if (dbAccess) { throw new ClusterDatabaseTransientException(e.Message, e); } throw new ClusCommonRetryableTransientException(e.Message, e); } }
// Token: 0x06000271 RID: 625 RVA: 0x0000C750 File Offset: 0x0000A950 internal static void HandleRetryIoPendingExceptions(COMException e, ref int count) { if (AmExceptionHelper.CheckExceptionCode(e, 997U)) { throw new ClusCommonTaskPendingException(e.Message, e); } AmExceptionHelper.HandleRetryExceptions(e, ref count, null); }