You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@oozie.apache.org by as...@apache.org on 2019/09/03 08:05:44 UTC

[oozie] branch master updated: OOZIE-3540 Use StringBuilder instead of StringBuffer if concurrent access is not required (zsombor via asalamon74)

This is an automated email from the ASF dual-hosted git repository.

asalamon74 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/oozie.git


The following commit(s) were added to refs/heads/master by this push:
     new e39bd7f  OOZIE-3540 Use StringBuilder instead of StringBuffer if concurrent access is not required (zsombor via asalamon74)
e39bd7f is described below

commit e39bd7ffef82f6f34ddbc6bbfc6f2b09ae424788
Author: Andras Salamon <as...@apache.org>
AuthorDate: Tue Sep 3 10:05:00 2019 +0200

    OOZIE-3540 Use StringBuilder instead of StringBuffer if concurrent access is not required (zsombor via asalamon74)
---
 .../main/java/org/apache/oozie/client/OozieClient.java   |  6 +++---
 .../org/apache/oozie/action/hadoop/OozieJobInfo.java     | 16 ++++++++--------
 .../oozie/command/bundle/BundleJobChangeXCommand.java    |  2 +-
 .../oozie/command/bundle/BundleSLAAlertsXCommand.java    |  2 +-
 .../apache/oozie/command/coord/CoordCommandUtils.java    |  2 +-
 .../oozie/command/coord/CoordSLAAlertsXCommand.java      |  2 +-
 .../coord/input/dependency/CoordOldInputDependency.java  |  2 +-
 .../coord/input/dependency/CoordPullInputDependency.java |  4 ++--
 .../apache/oozie/coord/input/logic/InputLogicParser.java | 16 ++++++++--------
 .../java/org/apache/oozie/service/ShareLibService.java   |  4 ++--
 core/src/main/java/org/apache/oozie/servlet/JVMInfo.java |  8 ++++----
 .../apache/oozie/sla/listener/SLAEmailEventListener.java |  2 +-
 core/src/main/java/org/apache/oozie/util/IOUtils.java    |  2 +-
 .../main/java/org/apache/oozie/util/db/SqlStatement.java |  2 +-
 .../apache/oozie/service/TestZKXLogStreamingService.java |  2 +-
 .../test/java/org/apache/oozie/util/DrainerTestCase.java |  2 +-
 release-log.txt                                          |  1 +
 .../org/apache/oozie/action/hadoop/LauncherAMUtils.java  |  2 +-
 .../org/apache/oozie/action/hadoop/OoziePigStats.java    |  2 +-
 19 files changed, 40 insertions(+), 39 deletions(-)

diff --git a/client/src/main/java/org/apache/oozie/client/OozieClient.java b/client/src/main/java/org/apache/oozie/client/OozieClient.java
index 1073cb9..a0f586d 100644
--- a/client/src/main/java/org/apache/oozie/client/OozieClient.java
+++ b/client/src/main/java/org/apache/oozie/client/OozieClient.java
@@ -1427,7 +1427,7 @@ public class OozieClient {
          */
         private String getReaderAsString(Reader reader, int maxLen) throws IOException {
             notNull(reader, "reader");
-            StringBuffer sb = new StringBuffer();
+            StringBuilder sb = new StringBuilder();
             char[] buffer = new char[2048];
             int read;
             int count = 0;
@@ -2245,7 +2245,7 @@ public class OozieClient {
 
         @Override
         protected String call(HttpURLConnection conn) throws IOException, OozieClientException {
-            StringBuffer bf = new StringBuffer();
+            StringBuilder bf = new StringBuilder();
             if ((conn.getResponseCode() == HttpURLConnection.HTTP_OK)) {
                 Reader reader = new InputStreamReader(conn.getInputStream(), StandardCharsets.UTF_8);
                 Object sharelib = JSONValue.parse(reader);
@@ -2288,7 +2288,7 @@ public class OozieClient {
         protected String call(HttpURLConnection conn) throws IOException, OozieClientException {
 
             if ((conn.getResponseCode() == HttpURLConnection.HTTP_OK)) {
-                StringBuffer bf = new StringBuffer();
+                StringBuilder bf = new StringBuilder();
                 Reader reader = new InputStreamReader(conn.getInputStream(), StandardCharsets.UTF_8);
                 JSONObject json = (JSONObject) JSONValue.parse(reader);
                 Object sharelib = json.get(JsonTags.SHARELIB_LIB);
diff --git a/core/src/main/java/org/apache/oozie/action/hadoop/OozieJobInfo.java b/core/src/main/java/org/apache/oozie/action/hadoop/OozieJobInfo.java
index 1bf5b41..a3abba0 100644
--- a/core/src/main/java/org/apache/oozie/action/hadoop/OozieJobInfo.java
+++ b/core/src/main/java/org/apache/oozie/action/hadoop/OozieJobInfo.java
@@ -88,7 +88,7 @@ public class OozieJobInfo {
      * @throws IOException Signals that an I/O exception has occurred.
      */
     public String getJobInfo() throws IOException {
-        StringBuffer sb = new StringBuffer();
+        StringBuilder sb = new StringBuilder();
         addBundleInfo(sb);
         addCoordInfo(sb);
         addWorkflowInfo(sb);
@@ -98,35 +98,35 @@ public class OozieJobInfo {
 
     }
 
-    private void addBundleInfo(StringBuffer sb) throws IOException {
+    private void addBundleInfo(StringBuilder sb) throws IOException {
         addJobInfo(sb, BUNDLE_ID, contextConf.get(OozieClient.BUNDLE_ID));
         addJobInfo(sb, BUNDLE_NAME, contextConf.get(OozieJobInfo.BUNDLE_NAME));
 
     }
 
-    private void addCoordInfo(StringBuffer sb) throws IOException {
+    private void addCoordInfo(StringBuilder sb) throws IOException {
         addJobInfo(sb, COORD_NAME, contextConf.get(OozieJobInfo.COORD_NAME));
         addJobInfo(sb, COORD_NOMINAL_TIME, contextConf.get(OozieJobInfo.COORD_NOMINAL_TIME));
         addJobInfo(sb, COORD_ID, contextConf.get(OozieJobInfo.COORD_ID));
     }
 
-    private void addWorkflowInfo(StringBuffer sb) {
+    private void addWorkflowInfo(StringBuilder sb) {
         addJobInfo(sb, WORKFLOW_ID, context.getWorkflow().getId());
         addJobInfo(sb, WORKFLOW_NAME, context.getWorkflow().getAppName());
         addJobInfo(sb, WORKFLOW_DEPTH, contextConf.get(SubWorkflowActionExecutor.SUBWORKFLOW_DEPTH, "0"));
         addJobInfo(sb, WORKFLOW_SUPER_PARENT, computeSuperParent());
     }
 
-    private void addActionInfo(StringBuffer sb) {
+    private void addActionInfo(StringBuilder sb) {
         addJobInfo(sb, ACTION_NAME, action.getName());
         addJobInfo(sb, ACTION_TYPE, action.getType());
     }
 
-    private void addCustomInfo(StringBuffer sb) throws IOException {
+    private void addCustomInfo(StringBuilder sb) throws IOException {
         addfromConf(actionConf, sb);
     }
 
-    public void addfromConf(Configuration conf, StringBuffer sb) {
+    private void addfromConf(Configuration conf, StringBuilder sb) {
         Iterator<Map.Entry<String, String>> it = conf.iterator();
         while (it.hasNext()) {
             Entry<String, String> entry = it.next();
@@ -136,7 +136,7 @@ public class OozieJobInfo {
         }
     }
 
-    private void addJobInfo(StringBuffer sb, String key, String value) {
+    private void addJobInfo(StringBuilder sb, String key, String value) {
         if (value != null) {
             sb.append(key).append("=").append(value).append(OozieJobInfo.SEPARATOR);
         }
diff --git a/core/src/main/java/org/apache/oozie/command/bundle/BundleJobChangeXCommand.java b/core/src/main/java/org/apache/oozie/command/bundle/BundleJobChangeXCommand.java
index 8628ea4..2ff9b56 100644
--- a/core/src/main/java/org/apache/oozie/command/bundle/BundleJobChangeXCommand.java
+++ b/core/src/main/java/org/apache/oozie/command/bundle/BundleJobChangeXCommand.java
@@ -160,7 +160,7 @@ public class BundleJobChangeXCommand extends XCommand<Void> {
 
     @Override
     protected Void execute() throws CommandException {
-        StringBuffer changeReport = new StringBuffer();
+        StringBuilder changeReport = new StringBuilder();
         try {
             if (isChangePauseTime || isChangeEndTime) {
                 if (isChangePauseTime) {
diff --git a/core/src/main/java/org/apache/oozie/command/bundle/BundleSLAAlertsXCommand.java b/core/src/main/java/org/apache/oozie/command/bundle/BundleSLAAlertsXCommand.java
index 1e6f6ae..b3eac34 100644
--- a/core/src/main/java/org/apache/oozie/command/bundle/BundleSLAAlertsXCommand.java
+++ b/core/src/main/java/org/apache/oozie/command/bundle/BundleSLAAlertsXCommand.java
@@ -117,7 +117,7 @@ public abstract class BundleSLAAlertsXCommand extends SLAAlertsXCommand {
 
     @Override
     protected boolean executeSlaCommand() throws ServiceException, CommandException {
-        StringBuffer report = new StringBuffer();
+        StringBuilder report = new StringBuilder();
 
         Set<String> coordJobs = getCoordJobsFromBundle(getJobId(), getCoordJobs());
 
diff --git a/core/src/main/java/org/apache/oozie/command/coord/CoordCommandUtils.java b/core/src/main/java/org/apache/oozie/command/coord/CoordCommandUtils.java
index 7632839..0007334 100644
--- a/core/src/main/java/org/apache/oozie/command/coord/CoordCommandUtils.java
+++ b/core/src/main/java/org/apache/oozie/command/coord/CoordCommandUtils.java
@@ -347,7 +347,7 @@ public class CoordCommandUtils {
 
     private static void resolveAbsoluteRange(Element event, StringBuilder instances, SyncCoordAction appInst,
             Configuration conf, ELEvaluator eval, String strStart, int endIndex, String rangeStr) throws Exception {
-        StringBuffer bf = new StringBuffer();
+        StringBuilder bf = new StringBuilder();
         bf.append("${coord:absoluteRange(\"").append(rangeStr).append("\",")
                 .append(endIndex).append(")}");
         String matInstance = materializeInstance(event, bf.toString(), appInst, conf, eval);
diff --git a/core/src/main/java/org/apache/oozie/command/coord/CoordSLAAlertsXCommand.java b/core/src/main/java/org/apache/oozie/command/coord/CoordSLAAlertsXCommand.java
index ff6605a..c189a3c 100644
--- a/core/src/main/java/org/apache/oozie/command/coord/CoordSLAAlertsXCommand.java
+++ b/core/src/main/java/org/apache/oozie/command/coord/CoordSLAAlertsXCommand.java
@@ -144,7 +144,7 @@ public abstract class CoordSLAAlertsXCommand extends SLAAlertsXCommand {
      * @return the action date list as string
      */
     protected String getActionDateListAsString() {
-        StringBuffer bf = new StringBuffer();
+        StringBuilder bf = new StringBuilder();
         if (!StringUtils.isEmpty(dates)) {
             bf.append(dates);
         }
diff --git a/core/src/main/java/org/apache/oozie/coord/input/dependency/CoordOldInputDependency.java b/core/src/main/java/org/apache/oozie/coord/input/dependency/CoordOldInputDependency.java
index 296dd1a..318d2ab 100644
--- a/core/src/main/java/org/apache/oozie/coord/input/dependency/CoordOldInputDependency.java
+++ b/core/src/main/java/org/apache/oozie/coord/input/dependency/CoordOldInputDependency.java
@@ -298,7 +298,7 @@ public class CoordOldInputDependency implements CoordInputDependency {
                 String unResolvedInstance = dEvent
                         .getChild(CoordCommandUtils.UNRESOLVED_INSTANCES_TAG, dEvent.getNamespace()).getTextTrim();
                 String unresolvedList[] = unResolvedInstance.split(CoordELFunctions.INSTANCE_SEPARATOR);
-                StringBuffer resolvedTmp = new StringBuffer();
+                StringBuilder resolvedTmp = new StringBuilder();
                 for (int i = 0; i < unresolvedList.length; i++) {
                     String returnData = CoordELFunctions.evalAndWrap(eval, unresolvedList[i]);
                     Boolean isResolved = (Boolean) eval.getVariable(CoordELConstants.IS_RESOLVED);
diff --git a/core/src/main/java/org/apache/oozie/coord/input/dependency/CoordPullInputDependency.java b/core/src/main/java/org/apache/oozie/coord/input/dependency/CoordPullInputDependency.java
index 9174a48..b396d4f 100644
--- a/core/src/main/java/org/apache/oozie/coord/input/dependency/CoordPullInputDependency.java
+++ b/core/src/main/java/org/apache/oozie/coord/input/dependency/CoordPullInputDependency.java
@@ -68,7 +68,7 @@ public class CoordPullInputDependency extends AbstractCoordInputDependency {
     }
 
     public String getMissingDependencies() {
-        StringBuffer bf = new StringBuffer(super.getMissingDependencies());
+        StringBuilder bf = new StringBuilder(super.getMissingDependencies());
         String unresolvedMissingDependencies = getUnresolvedMissingDependencies();
         if (!StringUtils.isEmpty(unresolvedMissingDependencies)) {
             bf.append(CoordCommandUtils.RESOLVED_UNRESOLVED_SEPARATOR);
@@ -78,7 +78,7 @@ public class CoordPullInputDependency extends AbstractCoordInputDependency {
     }
 
     public String getUnresolvedMissingDependencies() {
-        StringBuffer bf = new StringBuffer();
+        StringBuilder bf = new StringBuilder();
         if (unResolvedList != null) {
             for (CoordUnResolvedInputDependency coordUnResolvedDependency : unResolvedList.values()) {
                 if (!coordUnResolvedDependency.isResolved()) {
diff --git a/core/src/main/java/org/apache/oozie/coord/input/logic/InputLogicParser.java b/core/src/main/java/org/apache/oozie/coord/input/logic/InputLogicParser.java
index 1571f31..b014cf3 100644
--- a/core/src/main/java/org/apache/oozie/coord/input/logic/InputLogicParser.java
+++ b/core/src/main/java/org/apache/oozie/coord/input/logic/InputLogicParser.java
@@ -60,7 +60,7 @@ public class InputLogicParser {
         if (root == null) {
             return "";
         }
-        StringBuffer parsedString = new StringBuffer();
+        StringBuilder parsedString = new StringBuilder();
 
         List<Element> childrens = root.getChildren();
         for (int i = 0; i < childrens.size(); i++) {
@@ -79,7 +79,7 @@ public class InputLogicParser {
     }
 
     public String parse(Element root, String opt, String min, String wait) {
-        StringBuffer parsedString = new StringBuffer();
+        StringBuilder parsedString = new StringBuilder();
 
         Namespace ns = root.getNamespace();
         if (root.getName().equals(COMBINE)) {
@@ -120,7 +120,7 @@ public class InputLogicParser {
      */
     @SuppressWarnings("unchecked")
     private String parseAllChildren(Element root, String parentOpt, String opt, String min, String wait) {
-        StringBuffer parsedString = new StringBuffer();
+        StringBuilder parsedString = new StringBuilder();
 
         List<Element> childrens = root.getChildren();
         for (int i = 0; i < childrens.size(); i++) {
@@ -153,7 +153,7 @@ public class InputLogicParser {
      * @return the string
      */
     private String parseDataInNode(Element root, String min, String wait) {
-        StringBuffer parsedString = new StringBuffer();
+        StringBuilder parsedString = new StringBuilder();
 
         String nestedChildDataName = root.getAttributeValue("dataset");
 
@@ -175,7 +175,7 @@ public class InputLogicParser {
      */
     @SuppressWarnings("unchecked")
     private String processChildNode(final Element root, final String opt, final String min, final String wait) {
-        StringBuffer parsedString = new StringBuffer();
+        StringBuilder parsedString = new StringBuilder();
 
         Namespace ns = root.getNamespace();
 
@@ -202,7 +202,7 @@ public class InputLogicParser {
      */
     @SuppressWarnings("unchecked")
     private String processCombinedNode(final Element root, final String opt, final String min, final String wait) {
-        StringBuffer parsedString = new StringBuffer();
+        StringBuilder parsedString = new StringBuilder();
 
         Namespace ns = root.getNamespace();
 
@@ -276,7 +276,7 @@ public class InputLogicParser {
 
     }
 
-    private void appendWait(final Element root, String wait, StringBuffer parsedString) {
+    private void appendWait(final Element root, String wait, StringBuilder parsedString) {
         String childWait = root.getAttributeValue("wait");
         if (!StringUtils.isEmpty(childWait)) {
             parsedString.append(".inputWait(" + childWait + ")");
@@ -291,7 +291,7 @@ public class InputLogicParser {
 
     }
 
-    private void appendMin(final Element root, String min, StringBuffer parsedString) {
+    private void appendMin(final Element root, String min, StringBuilder parsedString) {
         String childMin = root.getAttributeValue("min");
 
         if (!StringUtils.isEmpty(childMin)) {
diff --git a/core/src/main/java/org/apache/oozie/service/ShareLibService.java b/core/src/main/java/org/apache/oozie/service/ShareLibService.java
index 7d074a1..b5e29d3 100644
--- a/core/src/main/java/org/apache/oozie/service/ShareLibService.java
+++ b/core/src/main/java/org/apache/oozie/service/ShareLibService.java
@@ -851,7 +851,7 @@ public class ShareLibService implements Service, Instrumentable {
                 Map<String, Map<Path, Path>> shareLibSymlinkMapping = getSymlinkMapping();
                 if (shareLibSymlinkMapping != null && !shareLibSymlinkMapping.isEmpty()
                         && shareLibSymlinkMapping.values() != null && !shareLibSymlinkMapping.values().isEmpty()) {
-                    StringBuffer bf = new StringBuffer();
+                    StringBuilder bf = new StringBuilder();
                     for (Entry<String, Map<Path, Path>> entry : shareLibSymlinkMapping.entrySet()) {
                         if (entry.getKey() != null && !entry.getValue().isEmpty()) {
                             for (Path path : entry.getValue().keySet()) {
@@ -872,7 +872,7 @@ public class ShareLibService implements Service, Instrumentable {
             public String getValue() {
                 Map<String, Map<Path, Configuration>> shareLibConfigMap = getShareLibConfigMap();
                 if (shareLibConfigMap != null && !shareLibConfigMap.isEmpty()) {
-                    StringBuffer bf = new StringBuffer();
+                    StringBuilder bf = new StringBuilder();
 
                     for (String path : shareLibConfigMap.keySet()) {
                         bf.append(path).append(";");
diff --git a/core/src/main/java/org/apache/oozie/servlet/JVMInfo.java b/core/src/main/java/org/apache/oozie/servlet/JVMInfo.java
index bf2b01d..ba71c67 100644
--- a/core/src/main/java/org/apache/oozie/servlet/JVMInfo.java
+++ b/core/src/main/java/org/apache/oozie/servlet/JVMInfo.java
@@ -88,7 +88,7 @@ public class JVMInfo implements Serializable {
 
     public String getHeapMemoryUsage() {
         MemoryUsage hmu = memoryMXBean.getHeapMemoryUsage();
-        StringBuffer sb = new StringBuffer(60);
+        StringBuilder sb = new StringBuilder(60);
         sb.append("INIT=").append(hmu.getInit());
         sb.append("&nbsp;&nbsp;USED=").append(hmu.getUsed());
         sb.append("&nbsp;&nbsp;COMMITTED=").append(hmu.getCommitted());
@@ -98,7 +98,7 @@ public class JVMInfo implements Serializable {
 
     public String getNonHeapMemoryUsage() {
         MemoryUsage nhmu = memoryMXBean.getNonHeapMemoryUsage();
-        StringBuffer sb = new StringBuffer(60);
+        StringBuilder sb = new StringBuilder(60);
         sb.append("INIT=").append(nhmu.getInit());
         sb.append("&nbsp;&nbsp;USED=").append(nhmu.getUsed());
         sb.append("&nbsp;&nbsp;COMMITTED=").append(nhmu.getCommitted());
@@ -107,7 +107,7 @@ public class JVMInfo implements Serializable {
     }
 
     public String getClassLoadingInfo() {
-        StringBuffer sb = new StringBuffer(150);
+        StringBuilder sb = new StringBuilder(150);
         sb.append("Total Loaded Classes=").append(classLoadingMXBean.getTotalLoadedClassCount());
         sb.append("&nbsp;&nbsp;Loaded Classes=").append(classLoadingMXBean.getLoadedClassCount());
         sb.append("&nbsp;&nbsp;Unloaded Classes=").append(classLoadingMXBean.getUnloadedClassCount());
@@ -116,7 +116,7 @@ public class JVMInfo implements Serializable {
 
     public String getThreadInfo() throws InterruptedException {
         getThreads();
-        StringBuffer sb = new StringBuffer(150);
+        StringBuilder sb = new StringBuilder(150);
         sb.append("Thread Count=").append(threadMXBean.getThreadCount());
         sb.append("&nbsp;&nbsp;Peak Thread Count=").append(threadMXBean.getPeakThreadCount());
         sb.append("&nbsp;&nbsp;Total Started Threads=").append(threadMXBean.getTotalStartedThreadCount());
diff --git a/core/src/main/java/org/apache/oozie/sla/listener/SLAEmailEventListener.java b/core/src/main/java/org/apache/oozie/sla/listener/SLAEmailEventListener.java
index 9602053..b8ef17c 100644
--- a/core/src/main/java/org/apache/oozie/sla/listener/SLAEmailEventListener.java
+++ b/core/src/main/java/org/apache/oozie/sla/listener/SLAEmailEventListener.java
@@ -343,7 +343,7 @@ public class SLAEmailEventListener extends SLAEventListener {
     }
 
     private String getJobLink(String jobId) {
-        StringBuffer url = new StringBuffer();
+        StringBuilder url = new StringBuilder();
         String param = "/?job=";
         url.append(oozieBaseUrl);
         url.append(param);
diff --git a/core/src/main/java/org/apache/oozie/util/IOUtils.java b/core/src/main/java/org/apache/oozie/util/IOUtils.java
index c8ada2f..76fefa3 100644
--- a/core/src/main/java/org/apache/oozie/util/IOUtils.java
+++ b/core/src/main/java/org/apache/oozie/util/IOUtils.java
@@ -76,7 +76,7 @@ public abstract class IOUtils {
      */
     public static String getReaderAsString(Reader reader, int maxLen) throws IOException {
         Objects.requireNonNull(reader, "reader cannot be null");
-        StringBuffer sb = new StringBuffer();
+        StringBuilder sb = new StringBuilder();
         char[] buffer = new char[2048];
         int read;
         int count = 0;
diff --git a/core/src/main/java/org/apache/oozie/util/db/SqlStatement.java b/core/src/main/java/org/apache/oozie/util/db/SqlStatement.java
index a35e240..108871a 100755
--- a/core/src/main/java/org/apache/oozie/util/db/SqlStatement.java
+++ b/core/src/main/java/org/apache/oozie/util/db/SqlStatement.java
@@ -671,7 +671,7 @@ public abstract class SqlStatement {
         public String toString() {
             String oBy = "";
             if ((orderby != null) && (isAscending != null) && (orderby.length == isAscending.length)) {
-                StringBuffer osb = new StringBuffer(" ORDER BY ");
+                StringBuilder osb = new StringBuilder(" ORDER BY ");
                 int i = 0;
                 for (Column column : orderby) {
                     osb.append(column.asLabel()).append(isAscending[i] ? " ASC ," : " DESC ,");
diff --git a/core/src/test/java/org/apache/oozie/service/TestZKXLogStreamingService.java b/core/src/test/java/org/apache/oozie/service/TestZKXLogStreamingService.java
index 5101b8d..9119e6c 100644
--- a/core/src/test/java/org/apache/oozie/service/TestZKXLogStreamingService.java
+++ b/core/src/test/java/org/apache/oozie/service/TestZKXLogStreamingService.java
@@ -569,7 +569,7 @@ public class TestZKXLogStreamingService extends ZKXTestCase {
         try {
             container.start();
             dummyOozie = new DummyZKOozie("9876", container.getServletURL("/other-oozie-server/*"));
-            StringBuffer newLog = new StringBuffer();
+            StringBuilder newLog = new StringBuilder();
 
             newLog.append(
                     "2014-02-07 00:26:56,126 WARN CoordActionInputCheckXCommand:545 [pool-2-thread-26] - USER[-] GROUP[-] "
diff --git a/core/src/test/java/org/apache/oozie/util/DrainerTestCase.java b/core/src/test/java/org/apache/oozie/util/DrainerTestCase.java
index 2221e61..b885926 100644
--- a/core/src/test/java/org/apache/oozie/util/DrainerTestCase.java
+++ b/core/src/test/java/org/apache/oozie/util/DrainerTestCase.java
@@ -44,7 +44,7 @@ public class DrainerTestCase {
     }
 
     static String generateString(int length) {
-        StringBuffer sb = new StringBuffer();
+        StringBuilder sb = new StringBuilder();
         for (int i=0; i<length/HEX_CHARACTERS.length(); ++i) {
             sb.append(HEX_CHARACTERS);
         }
diff --git a/release-log.txt b/release-log.txt
index eb750f7..8aef769 100644
--- a/release-log.txt
+++ b/release-log.txt
@@ -1,5 +1,6 @@
 -- Oozie 5.2.0 release (trunk - unreleased)
 
+OOZIE-3540 Use StringBuilder instead of StringBuffer if concurrent access is not required (zsombor via asalamon74)
 OOZIE-3539 amend Support http proxy/basic authentication in the command line client (zsombor via asalamon74)
 OOZIE-3539 Support http proxy/basic authentication in the command line client (zsombor via asalamon74)
 OOZIE-3468 [build] Use modernizer plugin (asalamon74 via kmarton)
diff --git a/sharelib/oozie/src/main/java/org/apache/oozie/action/hadoop/LauncherAMUtils.java b/sharelib/oozie/src/main/java/org/apache/oozie/action/hadoop/LauncherAMUtils.java
index c577d25..c85ef10 100644
--- a/sharelib/oozie/src/main/java/org/apache/oozie/action/hadoop/LauncherAMUtils.java
+++ b/sharelib/oozie/src/main/java/org/apache/oozie/action/hadoop/LauncherAMUtils.java
@@ -63,7 +63,7 @@ public class LauncherAMUtils {
 
 
     public static String getLocalFileContentStr(File file, String type, int maxLen) throws LauncherException, IOException {
-        StringBuffer sb = new StringBuffer();
+        StringBuilder sb = new StringBuilder();
         Reader reader = new InputStreamReader(new FileInputStream(file), StandardCharsets.UTF_8);
         char[] buffer = new char[2048];
         int read;
diff --git a/sharelib/pig/src/main/java/org/apache/oozie/action/hadoop/OoziePigStats.java b/sharelib/pig/src/main/java/org/apache/oozie/action/hadoop/OoziePigStats.java
index b2fcfc4..a20e297 100644
--- a/sharelib/pig/src/main/java/org/apache/oozie/action/hadoop/OoziePigStats.java
+++ b/sharelib/pig/src/main/java/org/apache/oozie/action/hadoop/OoziePigStats.java
@@ -67,7 +67,7 @@ public class OoziePigStats extends ActionStats {
         pigStatsGroup.put("SMM_SPILL_COUNT", Long.toString(pigStats.getSMMSpillCount()));
 
         PigStats.JobGraph jobGraph = pigStats.getJobGraph();
-        StringBuffer sb = new StringBuffer();
+        StringBuilder sb = new StringBuilder();
         String separator = ",";
 
         for (JobStats jobStats : jobGraph) {