OOZIE-2927 Append new line character for Hive2 query using query tag (abhishekbafna,asalamon74 via kmarton)
diff --git a/release-log.txt b/release-log.txt
index 177a1b8..af26518 100644
--- a/release-log.txt
+++ b/release-log.txt
@@ -1,5 +1,6 @@
 -- Oozie 5.2.0 release (trunk - unreleased)
 
+OOZIE-2927 Append new line character for Hive2 query using query tag (abhishekbafna,asalamon74 via kmarton)
 OOZIE-3488 Migrate from guava classes to the base Java implementations (zsombor via asalamon74)
 OOZIE-3481 Upgrade Jetty to 9.3.27 (asalamon74 via kmarton)
 OOZIE-3464 Use UTF8 charset instead of default one (nobigo via asalamon74)
diff --git a/sharelib/hive2/src/main/java/org/apache/oozie/action/hadoop/Hive2Main.java b/sharelib/hive2/src/main/java/org/apache/oozie/action/hadoop/Hive2Main.java
index 3732c3d..0d8ee1b 100644
--- a/sharelib/hive2/src/main/java/org/apache/oozie/action/hadoop/Hive2Main.java
+++ b/sharelib/hive2/src/main/java/org/apache/oozie/action/hadoop/Hive2Main.java
@@ -259,7 +259,10 @@
     private String createScriptFile(String query) throws IOException {
         String filename = "oozie-hive2-query-" + System.currentTimeMillis() + ".hql";
         File f = new File(filename);
-        FileUtils.writeStringToFile(f, query, StandardCharsets.UTF_8.name());
+        if (query != null && !query.endsWith(System.lineSeparator())) {
+            query += System.lineSeparator();
+        }
+        FileUtils.writeStringToFile(f, query, StandardCharsets.UTF_8);
         return filename;
     }
 
diff --git a/sharelib/hive2/src/test/java/org/apache/oozie/action/hadoop/TestHive2ActionExecutor.java b/sharelib/hive2/src/test/java/org/apache/oozie/action/hadoop/TestHive2ActionExecutor.java
index a12cdde..2e3ead1 100644
--- a/sharelib/hive2/src/test/java/org/apache/oozie/action/hadoop/TestHive2ActionExecutor.java
+++ b/sharelib/hive2/src/test/java/org/apache/oozie/action/hadoop/TestHive2ActionExecutor.java
@@ -192,6 +192,7 @@
 
         {
             String query = getHive2Script(inputDir.toString(), outputDir.toString());
+            query = removeLastNewLineCharacterFromQueryString(query);
             Writer dataWriter = new OutputStreamWriter(fs.create(new Path(inputDir, DATA_FILENAME)),
                     StandardCharsets.UTF_8);
             dataWriter.write(SAMPLE_DATA_TEXT);
@@ -248,6 +249,10 @@
         }
     }
 
+    private String removeLastNewLineCharacterFromQueryString(String query) {
+        return query.trim();
+    }
+
     public void testHive2ActionFails() throws Exception {
         setupHiveServer2();
         Path inputDir = new Path(getFsTestCaseDir(), INPUT_DIRNAME);