diff --git a/core/src/main/java/org/apache/oozie/action/hadoop/SparkActionExecutor.java b/core/src/main/java/org/apache/oozie/action/hadoop/SparkActionExecutor.java
index 7d40bf5..17b35e7 100644
--- a/core/src/main/java/org/apache/oozie/action/hadoop/SparkActionExecutor.java
+++ b/core/src/main/java/org/apache/oozie/action/hadoop/SparkActionExecutor.java
@@ -19,6 +19,7 @@
 package org.apache.oozie.action.hadoop;
 
 import com.google.common.base.Strings;
+import org.apache.commons.lang.StringUtils;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.Path;
 import org.apache.oozie.action.ActionExecutorException;
@@ -46,6 +47,8 @@
     public static final String SPARK_JAR = "oozie.spark.jar";
     public static final String MAPRED_CHILD_ENV = "mapred.child.env";
     private static final String CONF_OOZIE_SPARK_SETUP_HADOOP_CONF_DIR = "oozie.action.spark.setup.hadoop.conf.dir";
+    private static final String HADOOP_CONF_DIR = "HADOOP_CONF_DIR";
+    private static final String HADOOP_CLIENT_CONF_DIR = "HADOOP_CLIENT_CONF_DIR";
 
     public SparkActionExecutor() {
         super("spark");
@@ -147,6 +150,19 @@
     @Override
     protected void addActionSpecificEnvVars(Map<String, String> env) {
         env.put("SPARK_HOME", ".");
+        setHadoopConfDirIfEmpty(env);
+    }
+
+    private void setHadoopConfDirIfEmpty(Map<String, String> env) {
+        String envHadoopConfDir = env.get(HADOOP_CONF_DIR);
+        if (StringUtils.isEmpty(envHadoopConfDir)) {
+            String hadoopClientConfDirVariable = String.format("${%s}",HADOOP_CLIENT_CONF_DIR);
+            LOG.debug("Setting {0} environment variable to {1}.", HADOOP_CONF_DIR, hadoopClientConfDirVariable);
+            env.put(HADOOP_CONF_DIR, hadoopClientConfDirVariable);
+        }
+        else {
+            LOG.debug( "Environment variable {0} is already set to {1}.", HADOOP_CONF_DIR, envHadoopConfDir);
+        }
     }
 
     @Override
diff --git a/release-log.txt b/release-log.txt
index 182f108..9080826 100644
--- a/release-log.txt
+++ b/release-log.txt
@@ -1,5 +1,6 @@
 -- Oozie 5.2.0 release (trunk - unreleased)
 
+OOZIE-3492 [spark-action] Missing HADOOP_CONF_DIR property (asalamon74 via kmarton)
 OOZIE-3495 Upgrade hive version to 1.2.2 (nobigo via kmarton,asalamon74)
 OOZIE-3505 [Java 11] Fix TestDBLoadDump (kmarton via asalamon74)
 OOZIE-2879 Remove unused class SLAStore and related classes (asalamon74 via kmarton)
