Ejemplo n.º 1
0
 public WritingApplicationFinishEvent(ApplicationId appId, ApplicationFinishData appFinish
                                      )
     : base(WritingHistoryEventType.AppFinish)
 {
     this.appId     = appId;
     this.appFinish = appFinish;
 }
 /// <exception cref="System.IO.IOException"/>
 public virtual void ApplicationFinished(ApplicationFinishData appFinish)
 {
     FileSystemApplicationHistoryStore.HistoryFileWriter hfWriter = GetHistoryFileWriter
                                                                        (appFinish.GetApplicationId());
     System.Diagnostics.Debug.Assert(appFinish is ApplicationFinishDataPBImpl);
     try
     {
         hfWriter.WriteHistoryData(new FileSystemApplicationHistoryStore.HistoryDataKey(appFinish
                                                                                        .GetApplicationId().ToString(), FinishDataSuffix), ((ApplicationFinishDataPBImpl
                                                                                                                                             )appFinish).GetProto().ToByteArray());
         Log.Info("Finish information of application " + appFinish.GetApplicationId() + " is written"
                  );
     }
     catch (IOException e)
     {
         Log.Error("Error when writing finish information of application " + appFinish.GetApplicationId
                       (), e);
         throw;
     }
     finally
     {
         hfWriter.Close();
         Sharpen.Collections.Remove(outstandingWriters, appFinish.GetApplicationId());
     }
 }
 private static void MergeApplicationHistoryData(ApplicationHistoryData historyData
                                                 , ApplicationFinishData finishData)
 {
     historyData.SetFinishTime(finishData.GetFinishTime());
     historyData.SetDiagnosticsInfo(finishData.GetDiagnosticsInfo());
     historyData.SetFinalApplicationStatus(finishData.GetFinalApplicationStatus());
     historyData.SetYarnApplicationState(finishData.GetYarnApplicationState());
 }
 /// <exception cref="System.IO.IOException"/>
 public virtual ApplicationHistoryData GetApplication(ApplicationId appId)
 {
     FileSystemApplicationHistoryStore.HistoryFileReader hfReader = GetHistoryFileReader
                                                                        (appId);
     try
     {
         bool readStartData  = false;
         bool readFinishData = false;
         ApplicationHistoryData historyData = ApplicationHistoryData.NewInstance(appId, null
                                                                                 , null, null, null, long.MinValue, long.MinValue, long.MaxValue, null, FinalApplicationStatus
                                                                                 .Undefined, null);
         while ((!readStartData || !readFinishData) && hfReader.HasNext())
         {
             FileSystemApplicationHistoryStore.HistoryFileReader.Entry entry = hfReader.Next();
             if (entry.key.id.Equals(appId.ToString()))
             {
                 if (entry.key.suffix.Equals(StartDataSuffix))
                 {
                     ApplicationStartData startData = ParseApplicationStartData(entry.value);
                     MergeApplicationHistoryData(historyData, startData);
                     readStartData = true;
                 }
                 else
                 {
                     if (entry.key.suffix.Equals(FinishDataSuffix))
                     {
                         ApplicationFinishData finishData = ParseApplicationFinishData(entry.value);
                         MergeApplicationHistoryData(historyData, finishData);
                         readFinishData = true;
                     }
                 }
             }
         }
         if (!readStartData && !readFinishData)
         {
             return(null);
         }
         if (!readStartData)
         {
             Log.Warn("Start information is missing for application " + appId);
         }
         if (!readFinishData)
         {
             Log.Warn("Finish information is missing for application " + appId);
         }
         Log.Info("Completed reading history information of application " + appId);
         return(historyData);
     }
     catch (IOException e)
     {
         Log.Error("Error when reading history file of application " + appId, e);
         throw;
     }
     finally
     {
         hfReader.Close();
     }
 }
        /// <exception cref="System.IO.IOException"/>
        public virtual void ApplicationFinished(ApplicationFinishData appFinish)
        {
            ApplicationHistoryData data = applicationData[appFinish.GetApplicationId()];

            if (data == null)
            {
                throw new IOException("The finish information of application " + appFinish.GetApplicationId
                                          () + " is stored before the start" + " information.");
            }
            // Make the assumption that YarnApplicationState should not be null if
            // the finish information is already recorded
            if (data.GetYarnApplicationState() != null)
            {
                throw new IOException("The finish information of application " + appFinish.GetApplicationId
                                          () + " is already stored.");
            }
            data.SetFinishTime(appFinish.GetFinishTime());
            data.SetDiagnosticsInfo(appFinish.GetDiagnosticsInfo());
            data.SetFinalApplicationStatus(appFinish.GetFinalApplicationStatus());
            data.SetYarnApplicationState(appFinish.GetYarnApplicationState());
        }
 /// <exception cref="System.IO.IOException"/>
 public virtual void ApplicationFinished(ApplicationFinishData appFinish)
 {
 }
 public virtual void ApplicationFinished(RMApp app, RMAppState finalState)
 {
     if (historyServiceEnabled)
     {
         dispatcher.GetEventHandler().Handle(new WritingApplicationFinishEvent(app.GetApplicationId
                                                                                   (), ApplicationFinishData.NewInstance(app.GetApplicationId(), app.GetFinishTime(
                                                                                                                             ), app.GetDiagnostics().ToString(), app.GetFinalApplicationStatus(), RMServerUtils
                                                                                                                         .CreateApplicationState(finalState))));
     }
 }
 /// <exception cref="System.IO.IOException"/>
 protected internal virtual void WriteApplicationFinishData(ApplicationId appId)
 {
     store.ApplicationFinished(ApplicationFinishData.NewInstance(appId, 0, appId.ToString
                                                                     (), FinalApplicationStatus.Undefined, YarnApplicationState.Finished));
 }