Пример #1
0
 private void ReleaseReservation(ReservationBase reservation, IResourceAdmissionControl admissionControl)
 {
     try
     {
         admissionControl.Release(this.Owner.WorkloadClassification);
     }
     catch (NonOperationalAdmissionControlException ex)
     {
         MrsTracer.Common.Warning("Releasing a reservation from a non-operational AdmissionControl instance. Ignoring exception {0}", new object[]
         {
             CommonUtils.FullExceptionMessage(ex, true)
         });
     }
 }
Пример #2
0
 public void AddReservation(ReservationBase reservation)
 {
     if (!this.IsDisabled && !this.DynamicThrottlingDisabled)
     {
         IResourceAdmissionControl admissionControl = this.admissionControl;
         double num;
         if (!admissionControl.TryAcquire(this.Owner.WorkloadClassification, out num))
         {
             ResourceLoad currentLoad = this.GetCurrentLoad();
             throw new WlmResourceUnhealthyException(this.Owner.ResourceName, this.Owner.ResourceType, this.WlmResourceKey.ToString(), (int)this.WlmResourceKey.MetricType, currentLoad.LoadRatio, currentLoad.State.ToString(), (currentLoad.Metric != null) ? currentLoad.Metric.ToString() : "(null)");
         }
         reservation.AddReleaseAction(delegate(ReservationBase r)
         {
             this.ReleaseReservation(r, admissionControl);
         });
     }
 }