예제 #1
0
 /// <summary>
 /// Create a class to diagnose the problems of a vertex.
 /// </summary>
 /// <param name="vertex">Vertex to diagnose.</param>
 /// <param name="job">Job containing the vertex.</param>
 /// <param name="plan">Plan of the executed job.</param>
 /// <param name="manager">Communication manager.</param>
 protected VertexFailureDiagnosis(DryadLinqJobInfo job, DryadJobStaticPlan plan, ExecutedVertexInstance vertex, CommManager manager)
     : base(job, plan, manager)
 {
     this.Job    = job;
     this.Vertex = vertex;
     // ReSharper disable once DoNotCallOverridableMethodsInConstructor
     this.stackTraceFile = "dryadLinqStackTrace.txt";
 }
예제 #2
0
 /// <summary>
 /// Create a class to diagnose the problems of a job.
 /// </summary>
 /// <param name="config">Cluster where job resides.</param>
 /// <param name="manager">Communication manager.</param>
 /// <param name="summary">Job summary.</param>
 protected JobFailureDiagnosis(ClusterConfiguration config, DryadLinqJobSummary summary, CommManager manager)
     : base(config, summary, manager)
 {
     this.diagnosisLog = new DiagnosisLog(this.Job, summary);
     if (this.Job != null)
     {
         this.jobManager = this.Job.ManagerVertex;
     }
 }
예제 #3
0
        /// <summary>
        /// Create a VertexFailureDiagnosis of the appropriate type.
        /// </summary>
        /// <param name="vertex">Vertex to diagnose.</param>
        /// <param name="job">Job containing the vertex.</param>
        /// <param name="manager">Communication manager.</param>
        /// <returns>A subclass of VertexFailureDiagnosis.</returns>
        /// <param name="plan">Plan of the executed job.</param>
        public static VertexFailureDiagnosis CreateVertexFailureDiagnosis(DryadLinqJobInfo job,
                                                                          DryadJobStaticPlan plan,
                                                                          ExecutedVertexInstance vertex,
                                                                          CommManager manager)
        {
            ClusterConfiguration config = job.ClusterConfiguration;

            if (config is CacheClusterConfiguration)
            {
                config = (config as CacheClusterConfiguration).ActualConfig(job.Summary);
            }


            throw new InvalidOperationException("Config of type " + config.TypeOfCluster + " not handled");
        }
예제 #4
0
파일: jobschedule.cs 프로젝트: xyuan/Dryad
            internal void Add(string machine, ExecutedVertexInstance vertex)
            {
                int index;

                if (!this.machines.ContainsKey(machine))
                {
                    index = this.MachineCount;
                    this.machines.Add(machine, index);
                    this.machineInfo.Add(new MachineInformation(machine));
                }
                else
                {
                    index = this.machines[machine];
                }
                this.machineInfo[index].AddVertex(vertex);
            }
예제 #5
0
 /// <summary>
 /// Create a class to diagnose the problems of a job.
 /// </summary>
 /// <param name="job">Job to diagnose.</param>
 /// <param name="plan">Plan of the diagnosed job.</param>
 /// <param name="manager">Communication manager.</param>
 protected JobFailureDiagnosis(DryadLinqJobInfo job, DryadJobStaticPlan plan, CommManager manager)
     : base(job, plan, manager)
 {
     this.diagnosisLog = new DiagnosisLog(job, job.Summary);
     this.jobManager   = this.Job.ManagerVertex;
 }
예제 #6
0
파일: jobschedule.cs 프로젝트: xyuan/Dryad
 public void AddVertex(ExecutedVertexInstance e)
 {
     this.vertices.Add(e);
 }