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.master.MasterProgress;
25  import org.apache.giraph.worker.WorkerProgress;
26  
27  /**
28   * Interface for job progress tracker on job client
29   */
30  @ThriftService
31  public interface JobProgressTracker {
32  
33    /** Notify JobProgressTracker that mapper started */
34    @ThriftMethod
35    void mapperStarted();
36  
37    /**
38     * Call this when you want to log an info line from any mapper to command line
39     *
40     * @param logLine Line to log
41     */
42    @ThriftMethod
43    void logInfo(String logLine);
44  
45    /**
46     * Call this when you want to log an error line and exception
47     * object from any mapper to command line
48     *
49     * KryoWritableWrapper.convertFromByteArray can be used to
50     * get exception object back
51     *
52     * @param logLine Line to log
53     * @param exByteArray Exception byte array
54     */
55    @ThriftMethod
56    void logError(String logLine, byte [] exByteArray);
57  
58    /**
59     * Notify that job is failing
60     *
61     * @param reason Reason for failure
62     */
63    @ThriftMethod
64    void logFailure(String reason);
65  
66    /**
67     * Workers should call this method to update their progress
68     *
69     * @param workerProgress Progress of the worker
70     */
71    @ThriftMethod
72    void updateProgress(WorkerProgress workerProgress);
73  
74    /**
75     * Master should call this method to update its progress
76     *
77     * @param masterProgress Progress of the master
78     */
79    @ThriftMethod
80    void updateMasterProgress(MasterProgress masterProgress);
81  }
82