diff --git a/hyracks-api/src/main/java/edu/uci/ics/hyracks/api/job/JobSpecification.java b/hyracks-api/src/main/java/edu/uci/ics/hyracks/api/job/JobSpecification.java
index 9c6b88c..90c799d 100644
--- a/hyracks-api/src/main/java/edu/uci/ics/hyracks/api/job/JobSpecification.java
+++ b/hyracks-api/src/main/java/edu/uci/ics/hyracks/api/job/JobSpecification.java
@@ -56,7 +56,7 @@
 
     private IConnectorPolicyAssignmentPolicy connectorPolicyAssignmentPolicy;
 
-    private int maxAttempts;
+    private int maxReattempts;
 
     private IJobletEventListenerFactory jobletEventListenerFactory;
 
@@ -75,7 +75,7 @@
         userConstraints = new HashSet<Constraint>();
         operatorIdCounter = 0;
         connectorIdCounter = 0;
-        maxAttempts = 5;
+        maxReattempts = 2;
     }
 
     public OperatorDescriptorId createOperatorDescriptorId() {
@@ -202,12 +202,12 @@
         this.connectorPolicyAssignmentPolicy = connectorPolicyAssignmentPolicy;
     }
 
-    public void setMaxAttempts(int maxAttempts) {
-        this.maxAttempts = maxAttempts;
+    public void setMaxReattempts(int maxReattempts) {
+        this.maxReattempts = maxReattempts;
     }
 
-    public int getMaxAttempts() {
-        return maxAttempts;
+    public int getMaxReattempts() {
+        return maxReattempts;
     }
 
     public void addUserConstraint(Constraint constraint) {
diff --git a/hyracks-control-cc/src/main/java/edu/uci/ics/hyracks/control/cc/job/ActivityCluster.java b/hyracks-control-cc/src/main/java/edu/uci/ics/hyracks/control/cc/job/ActivityCluster.java
index 14cebb2..13db627 100644
--- a/hyracks-control-cc/src/main/java/edu/uci/ics/hyracks/control/cc/job/ActivityCluster.java
+++ b/hyracks-control-cc/src/main/java/edu/uci/ics/hyracks/control/cc/job/ActivityCluster.java
@@ -71,8 +71,8 @@
         this.id = id;
     }
 
-    public int getMaxTaskClusterAttempts() {
-        return jobRun.getJobActivityGraph().getJobSpecification().getMaxAttempts();
+    public int getMaxTaskClusterReattempts() {
+        return jobRun.getJobActivityGraph().getJobSpecification().getMaxReattempts();
     }
 
     public ActivityClusterPlan getPlan() {
diff --git a/hyracks-control-cc/src/main/java/edu/uci/ics/hyracks/control/cc/scheduler/JobScheduler.java b/hyracks-control-cc/src/main/java/edu/uci/ics/hyracks/control/cc/scheduler/JobScheduler.java
index a4e340c..e0eee00 100644
--- a/hyracks-control-cc/src/main/java/edu/uci/ics/hyracks/control/cc/scheduler/JobScheduler.java
+++ b/hyracks-control-cc/src/main/java/edu/uci/ics/hyracks/control/cc/scheduler/JobScheduler.java
@@ -642,7 +642,7 @@
                 lastAttempt.setStatus(TaskClusterAttempt.TaskClusterStatus.FAILED);
                 lastAttempt.setEndTime(System.currentTimeMillis());
                 abortDoomedTaskClusters();
-                if (lastAttempt.getAttempt() >= ac.getMaxTaskClusterAttempts()) {
+                if (lastAttempt.getAttempt() >= ac.getMaxTaskClusterReattempts()) {
                     abortJob(new HyracksException(details));
                     return;
                 }
