Add support for storing result status for a job in the dataset directory record.
git-svn-id: https://hyracks.googlecode.com/svn/branches/fullstack_hyracks_result_distribution@2840 123451ca-8445-de46-9d55-352943316053
diff --git a/hyracks/hyracks-api/src/main/java/edu/uci/ics/hyracks/api/dataset/DatasetDirectoryRecord.java b/hyracks/hyracks-api/src/main/java/edu/uci/ics/hyracks/api/dataset/DatasetDirectoryRecord.java
index 1aa0c86..6316bba 100644
--- a/hyracks/hyracks-api/src/main/java/edu/uci/ics/hyracks/api/dataset/DatasetDirectoryRecord.java
+++ b/hyracks/hyracks-api/src/main/java/edu/uci/ics/hyracks/api/dataset/DatasetDirectoryRecord.java
@@ -19,15 +19,25 @@
import edu.uci.ics.hyracks.api.comm.NetworkAddress;
public class DatasetDirectoryRecord implements Serializable {
+ public enum Status {
+ IDLE,
+ RUNNING,
+ SUCCESS,
+ FAILED
+ }
+
private static final long serialVersionUID = 1L;
private NetworkAddress address;
- private boolean eos;
+ private boolean readEOS;
+
+ private Status status;
public DatasetDirectoryRecord() {
this.address = null;
- this.eos = false;
+ this.readEOS = false;
+ this.status = Status.IDLE;
}
public void setNetworkAddress(NetworkAddress address) {
@@ -38,12 +48,28 @@
return address;
}
- public void setEOS(boolean eos) {
- this.eos = eos;
+ public void readEOS() {
+ this.readEOS = true;
}
- public boolean getEOS() {
- return eos;
+ public boolean hasReachedReadEOS() {
+ return readEOS;
+ }
+
+ public void start() {
+ status = Status.RUNNING;
+ }
+
+ public void writeEOS() {
+ status = Status.SUCCESS;
+ }
+
+ public void fail() {
+ status = Status.FAILED;
+ }
+
+ public Status getStatus() {
+ return status;
}
@Override
@@ -56,4 +82,4 @@
}
return address.equals(((DatasetDirectoryRecord) o).address);
}
-}
\ No newline at end of file
+}