diff --git a/src/java/org/apache/sqoop/manager/oracle/OraOopConstants.java b/src/java/org/apache/sqoop/manager/oracle/OraOopConstants.java
index 26f1901..ced4f18 100644
--- a/src/java/org/apache/sqoop/manager/oracle/OraOopConstants.java
+++ b/src/java/org/apache/sqoop/manager/oracle/OraOopConstants.java
@@ -18,6 +18,8 @@
 
 package org.apache.sqoop.manager.oracle;
 
+import static org.apache.sqoop.mapreduce.JobBase.HADOOP_MAP_TASK_MAX_ATTEMTPS;
+
 /**
  * Constants for OraOop.
  */
@@ -470,8 +472,6 @@
     }
 
     public static final String IMPORT_TOOL_NAME = "import";
-    public static final String MAX_MAPREDUCE_ATTEMPTS =
-        "mapred.map.max.attempts";
   }
 
 /**
diff --git a/src/java/org/apache/sqoop/manager/oracle/OraOopManagerFactory.java b/src/java/org/apache/sqoop/manager/oracle/OraOopManagerFactory.java
index 17873bc..1cc8a04 100644
--- a/src/java/org/apache/sqoop/manager/oracle/OraOopManagerFactory.java
+++ b/src/java/org/apache/sqoop/manager/oracle/OraOopManagerFactory.java
@@ -40,6 +40,8 @@
 import org.apache.sqoop.manager.oracle.OraOopUtilities.
            JdbcOracleThinConnectionParsingError;
 
+import static org.apache.sqoop.mapreduce.JobBase.HADOOP_MAP_TASK_MAX_ATTEMTPS;
+
 /**
  * OraOop manager - if OraOop cannot be used it should fall back to the default
  * OracleManager.
@@ -781,8 +783,7 @@
   private void showUserTheOracleCommandToKillOraOop(SqoopOptions sqoopOptions) {
 
     int taskAttempts =
-        sqoopOptions.getConf().getInt(
-            OraOopConstants.Sqoop.MAX_MAPREDUCE_ATTEMPTS, -1);
+        sqoopOptions.getConf().getInt(HADOOP_MAP_TASK_MAX_ATTEMTPS, -1);
 
     // If killing the Oracle session if futile - because the job will be
     // reattempted, then don't
diff --git a/src/java/org/apache/sqoop/mapreduce/ExportJobBase.java b/src/java/org/apache/sqoop/mapreduce/ExportJobBase.java
index c7609a5..9946f14 100644
--- a/src/java/org/apache/sqoop/mapreduce/ExportJobBase.java
+++ b/src/java/org/apache/sqoop/mapreduce/ExportJobBase.java
@@ -91,9 +91,6 @@
   public static final String SQOOP_EXPORT_MAP_TASK_MAX_ATTEMTPS =
     "sqoop.export.mapred.map.max.attempts";
 
-  private static final String HADOOP_MAP_TASK_MAX_ATTEMTPS =
-    "mapred.map.max.attempts";
-
   /** Start and endtime captured for export job. */
   private long startTime;
   public static final String OPERATION = "export";
diff --git a/src/java/org/apache/sqoop/mapreduce/JobBase.java b/src/java/org/apache/sqoop/mapreduce/JobBase.java
index 256d4f7..62aa3a9 100644
--- a/src/java/org/apache/sqoop/mapreduce/JobBase.java
+++ b/src/java/org/apache/sqoop/mapreduce/JobBase.java
@@ -52,6 +52,10 @@
 
   public static final String SERIALIZE_SQOOPOPTIONS = "sqoop.jobbase.serialize.sqoopoptions";
   public static final boolean SERIALIZE_SQOOPOPTIONS_DEFAULT = false;
+  public static final String HADOOP_MAP_TASK_MAX_ATTEMTPS =
+      "mapreduce.map.maxattempts";
+  public static final String HADOOP_REDUCE_TASK_MAX_ATTEMTPS =
+      "mapreduce.reduce.maxattempts";
 
   protected SqoopOptions options;
   protected Class<? extends Mapper> mapperClass;
diff --git a/src/java/org/apache/sqoop/mapreduce/postgresql/PGBulkloadExportJob.java b/src/java/org/apache/sqoop/mapreduce/postgresql/PGBulkloadExportJob.java
index c0c6039..3a5f277 100644
--- a/src/java/org/apache/sqoop/mapreduce/postgresql/PGBulkloadExportJob.java
+++ b/src/java/org/apache/sqoop/mapreduce/postgresql/PGBulkloadExportJob.java
@@ -136,8 +136,8 @@
     conf.set("mapred.jar", context.getJarFile());
     conf.setBoolean("mapred.map.tasks.speculative.execution", false);
     conf.setBoolean("mapred.reduce.tasks.speculative.execution", false);
-    conf.setInt("mapred.map.max.attempts", 1);
-    conf.setInt("mapred.reduce.max.attempts", 1);
+    conf.setInt(HADOOP_MAP_TASK_MAX_ATTEMTPS, 1);
+    conf.setInt(HADOOP_REDUCE_TASK_MAX_ATTEMTPS, 1);
   }
 
 
