This project has retired. For details please refer to its Attic page.
JobProgressTracker xref
View Javadoc

1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one
3    * or more contributor license agreements.  See the NOTICE file
4    * distributed with this work for additional information
5    * regarding copyright ownership.  The ASF licenses this file
6    * to you under the Apache License, Version 2.0 (the
7    * "License"); you may not use this file except in compliance
8    * with the License.  You may obtain a copy of the License at
9    *
10   *     http://www.apache.org/licenses/LICENSE-2.0
11   *
12   * Unless required by applicable law or agreed to in writing, software
13   * distributed under the License is distributed on an "AS IS" BASIS,
14   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15   * See the License for the specific language governing permissions and
16   * limitations under the License.
17   */
18  
19  package org.apache.giraph.job;
20  
21  import com.facebook.swift.service.ThriftMethod;
22  import com.facebook.swift.service.ThriftService;
23  
24  import org.apache.giraph.counters.GiraphCountersThriftStruct;
25  import org.apache.giraph.master.MasterProgress;
26  import org.apache.giraph.worker.WorkerProgress;
27  
28  /**
29   * Interface for job progress tracker on job client
30   */
31  @ThriftService
32  public interface JobProgressTracker {
33  
34    /** Notify JobProgressTracker that mapper started */
35    @ThriftMethod
36    void mapperStarted();
37  
38    /**
39     * Call this when you want to log an info line from any mapper to command line
40     *
41     * @param logLine Line to log
42     */
43    @ThriftMethod
44    void logInfo(String logLine);
45  
46    /**
47     * Call this when you want to log an error line and exception
48     * object from any mapper to command line
49     *
50     * KryoWritableWrapper.convertFromByteArray can be used to
51     * get exception object back
52     *
53     * @param logLine Line to log
54     * @param exByteArray Exception byte array
55     */
56    @ThriftMethod
57    void logError(String logLine, byte [] exByteArray);
58  
59    /**
60     * Notify that job is failing
61     *
62     * @param reason Reason for failure
63     */
64    @ThriftMethod
65    void logFailure(String reason);
66  
67    /**
68     * Workers should call this method to update their progress
69     *
70     * @param workerProgress Progress of the worker
71     */
72    @ThriftMethod
73    void updateProgress(WorkerProgress workerProgress);
74  
75    /**
76     * Master should call this method to update its progress
77     *
78     * @param masterProgress Progress of the master
79     */
80    @ThriftMethod
81    void updateMasterProgress(MasterProgress masterProgress);
82  
83    /**
84     * Master should call this method after all supersteps are finished,
85     * and send the aggregated counters to the job client
86     *
87     * @param giraphCounters Giraph-based counters
88     */
89    @ThriftMethod
90    void sendMasterCounters(GiraphCountersThriftStruct giraphCounters);
91  }
92