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 b9adc73 OOZIE-3488 Migrate from guava classes to the base Java implementations (zsombor via asalamon74) b9adc73 is described below commit b9adc736f8fd30a8f984b222dfdadfa83462b5ba Author: Andras Salamon <asalamo...@apache.org> AuthorDate: Mon May 20 15:33:06 2019 +0200 OOZIE-3488 Migrate from guava classes to the base Java implementations (zsombor via asalamon74) --- .../java/org/apache/oozie/client/OozieClient.java | 4 +- .../action/hadoop/MapReduceActionExecutor.java | 18 ++----- .../oozie/action/hadoop/SharelibResolver.java | 5 +- .../org/apache/oozie/coord/CoordELFunctions.java | 8 +-- .../oozie/service/JvmPauseMonitorService.java | 6 +-- .../org/apache/oozie/servlet/V1JobsServlet.java | 3 +- .../org/apache/oozie/util/db/CompositeIndex.java | 11 ++-- .../oozie/util/db/DatabaseRetryPredicate.java | 5 +- .../oozie/util/db/FailingConnectionWrapper.java | 6 +-- .../oozie/util/db/FailingDBHelperForTest.java | 5 +- .../oozie/util/db/FailingHSQLDBDriverWrapper.java | 1 - .../oozie/util/db/OperationRetryHandler.java | 4 +- ...tenceExceptionSubclassFilterRetryPredicate.java | 2 +- .../oozie/workflow/lite/LiteWorkflowValidator.java | 8 +-- .../action/hadoop/TestYarnApplicationIdFinder.java | 13 ++--- .../oozie/service/TestCallableQueueService.java | 6 --- .../apache/oozie/service/TestShareLibService.java | 5 +- .../apache/oozie/sla/TestSLACalculatorMemory.java | 8 +-- .../util/db/TestOozieDmlStatementPredicate.java | 14 +++--- .../oozie/util/db/TestOperationRetryHandler.java | 4 +- ...tenceExceptionSubclassFilterRetryPredicate.java | 58 +++++++++++----------- .../fluentjob/api/mapping/SourceDataFactory.java | 5 +- .../api/workflow/TestCredentialsBuilder.java | 7 +-- .../api/workflow/TestWorkflowBuilder.java | 4 +- release-log.txt | 1 + .../org/apache/oozie/action/hadoop/LauncherAM.java | 4 +- .../oozie/action/hadoop/TestLauncherAMUtils.java | 25 +++------- .../action/hadoop/TestSparkArgsExtractor.java | 25 +++++----- .../org/apache/oozie/tools/OozieDBImportCLI.java | 6 +-- 29 files changed, 118 insertions(+), 153 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 54e45c0..1073cb9 100644 --- a/client/src/main/java/org/apache/oozie/client/OozieClient.java +++ b/client/src/main/java/org/apache/oozie/client/OozieClient.java @@ -21,7 +21,6 @@ package org.apache.oozie.client; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; import com.google.common.base.Strings; -import com.google.common.collect.Lists; import org.apache.oozie.BuildInfo; import org.apache.oozie.cli.ValidationUtil; import org.apache.oozie.client.rest.JsonTags; @@ -53,6 +52,7 @@ import java.net.HttpURLConnection; import java.net.URL; import java.net.URLEncoder; import java.nio.charset.StandardCharsets; +import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.HashSet; @@ -2558,7 +2558,7 @@ public class OozieClient { Reader reader = new InputStreamReader(conn.getInputStream(), StandardCharsets.UTF_8); JSONObject json = (JSONObject) JSONValue.parse(reader); - List<String> queueDumpMessages = Lists.newArrayList(); + List<String> queueDumpMessages = new ArrayList<>(); addSeparator(queueDumpMessages); diff --git a/core/src/main/java/org/apache/oozie/action/hadoop/MapReduceActionExecutor.java b/core/src/main/java/org/apache/oozie/action/hadoop/MapReduceActionExecutor.java index 7ebc909..a509e4d 100644 --- a/core/src/main/java/org/apache/oozie/action/hadoop/MapReduceActionExecutor.java +++ b/core/src/main/java/org/apache/oozie/action/hadoop/MapReduceActionExecutor.java @@ -30,11 +30,8 @@ import java.util.Map; import java.util.function.Predicate; import com.google.common.annotations.VisibleForTesting; -import com.google.common.base.Function; import com.google.common.base.Preconditions; import com.google.common.base.Strings; -import com.google.common.collect.Iterables; -import com.google.common.collect.Ordering; import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; @@ -606,16 +603,11 @@ public class MapReduceActionExecutor extends JavaActionExecutor { Preconditions.checkNotNull(yarnApplications, "YARN application list should be filled"); Preconditions.checkArgument(!yarnApplications.isEmpty(), "no YARN applications in the list"); - final Iterable<String> unorderedApplicationIds = - Iterables.transform(yarnApplications, new Function<ApplicationReport, String>() { - @Override - public String apply(final ApplicationReport input) { - Preconditions.checkNotNull(input, "YARN application should be filled"); - return input.getApplicationId().toString(); - } - }); - - return Ordering.from(new YarnApplicationIdComparator()).max(unorderedApplicationIds); + return yarnApplications.stream().map(applicationReport -> { + Preconditions.checkNotNull(applicationReport, "YARN application should be filled"); + return applicationReport.getApplicationId().toString(); + }).max(new YarnApplicationIdComparator()) + .get(); // this is not empty, as yarnApplications was not empty. } private boolean isHadoopJobId(final String jobIdCandidate) { diff --git a/core/src/main/java/org/apache/oozie/action/hadoop/SharelibResolver.java b/core/src/main/java/org/apache/oozie/action/hadoop/SharelibResolver.java index 18c50cb..fd21ea5 100644 --- a/core/src/main/java/org/apache/oozie/action/hadoop/SharelibResolver.java +++ b/core/src/main/java/org/apache/oozie/action/hadoop/SharelibResolver.java @@ -17,11 +17,10 @@ */ package org.apache.oozie.action.hadoop; -import com.google.common.collect.Lists; import org.apache.hadoop.conf.Configuration; import org.apache.oozie.util.XConfiguration; -import java.io.IOException; +import java.util.Arrays; import java.util.List; class SharelibResolver { @@ -64,7 +63,7 @@ class SharelibResolver { } else { this.defaultValue = new String[] { defaultValue }; } - configProviders = Lists.newArrayList( + configProviders = Arrays.asList( () -> actionConf.getStrings(LauncherAM.OOZIE_LAUNCHER_SHARELIB_PROPERTY), () -> actionConf.getStrings(sharelibPropertyName), () -> workflowConf.getStrings(LauncherAM.OOZIE_LAUNCHER_SHARELIB_PROPERTY), diff --git a/core/src/main/java/org/apache/oozie/coord/CoordELFunctions.java b/core/src/main/java/org/apache/oozie/coord/CoordELFunctions.java index e38f3d6..2761e44 100644 --- a/core/src/main/java/org/apache/oozie/coord/CoordELFunctions.java +++ b/core/src/main/java/org/apache/oozie/coord/CoordELFunctions.java @@ -19,8 +19,6 @@ package org.apache.oozie.coord; import com.google.common.annotations.VisibleForTesting; -import com.google.common.base.Preconditions; -import com.google.common.collect.Lists; import org.apache.commons.lang3.StringUtils; import org.apache.hadoop.conf.Configuration; @@ -44,9 +42,11 @@ import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; +import java.util.Collections; import java.util.Date; import java.util.GregorianCalendar; import java.util.List; +import java.util.Objects; import java.util.TimeZone; import java.util.concurrent.atomic.AtomicInteger; @@ -984,7 +984,7 @@ public class CoordELFunctions { } nominalInstanceCal.add(dsTimeUnit.getCalendarUnit(), datasetFrequency); } - instances = Lists.reverse(instances); + Collections.reverse(instances); return StringUtils.join(instances, CoordELFunctions.INSTANCE_SEPARATOR); } } @@ -1847,7 +1847,7 @@ public class CoordELFunctions { * @return -1 if no correct {@code source} was given, else the estimated occurrence count of a dataset */ long convertMillis(final long millis, final TimeUnit source) { - Preconditions.checkNotNull(source, "source has to be filled"); + Objects.requireNonNull(source, "source has to be filled"); switch (source) { case YEAR: diff --git a/core/src/main/java/org/apache/oozie/service/JvmPauseMonitorService.java b/core/src/main/java/org/apache/oozie/service/JvmPauseMonitorService.java index 13b2809..09a3b88 100644 --- a/core/src/main/java/org/apache/oozie/service/JvmPauseMonitorService.java +++ b/core/src/main/java/org/apache/oozie/service/JvmPauseMonitorService.java @@ -20,17 +20,15 @@ package org.apache.oozie.service; import com.google.common.base.Joiner; import com.google.common.base.Preconditions; -import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Sets; import java.lang.management.GarbageCollectorMXBean; import java.lang.management.ManagementFactory; +import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Set; -import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.util.Daemon; -import org.apache.oozie.util.ConfigUtils; import org.apache.oozie.util.Instrumentation; import org.apache.oozie.util.XLog; @@ -100,7 +98,7 @@ public class JvmPauseMonitorService implements Service { private String formatMessage(long extraSleepTime, Map<String, GcTimes> gcTimesAfterSleep, Map<String, GcTimes> gcTimesBeforeSleep) { Set<String> gcBeanNames = Sets.intersection(gcTimesAfterSleep.keySet(), gcTimesBeforeSleep.keySet()); - List<String> gcDiffs = Lists.newArrayList(); + List<String> gcDiffs = new ArrayList<>(); for (String name : gcBeanNames) { GcTimes diff = gcTimesAfterSleep.get(name).subtract(gcTimesBeforeSleep.get(name)); if (diff.gcCount != 0) { diff --git a/core/src/main/java/org/apache/oozie/servlet/V1JobsServlet.java b/core/src/main/java/org/apache/oozie/servlet/V1JobsServlet.java index 61db5de..497b346 100644 --- a/core/src/main/java/org/apache/oozie/servlet/V1JobsServlet.java +++ b/core/src/main/java/org/apache/oozie/servlet/V1JobsServlet.java @@ -34,7 +34,6 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.google.common.base.Strings; -import com.google.common.collect.Lists; import org.apache.commons.lang3.StringUtils; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FSDataOutputStream; @@ -185,7 +184,7 @@ public class V1JobsServlet extends BaseJobsServlet { } private List<String> findAppPathsWithFileNames(final String appPaths, final String defaultFileName) { - final List<String> appPathsWithFileNames = Lists.newArrayList(); + final List<String> appPathsWithFileNames = new ArrayList<>(); if (Strings.isNullOrEmpty(appPaths)) { return appPathsWithFileNames; diff --git a/core/src/main/java/org/apache/oozie/util/db/CompositeIndex.java b/core/src/main/java/org/apache/oozie/util/db/CompositeIndex.java index 88b9ca3..687f4dc 100644 --- a/core/src/main/java/org/apache/oozie/util/db/CompositeIndex.java +++ b/core/src/main/java/org/apache/oozie/util/db/CompositeIndex.java @@ -18,12 +18,11 @@ package org.apache.oozie.util.db; -import com.google.common.base.Function; import com.google.common.base.Joiner; -import com.google.common.collect.Lists; import java.util.Arrays; import java.util.List; +import java.util.stream.Collectors; public enum CompositeIndex { I_WF_JOBS_STATUS_CREATED_TIME ("WF_JOBS", "status", "created_time"), @@ -46,12 +45,8 @@ public enum CompositeIndex { } public static List<String> getIndexStatements() { - Function<CompositeIndex, String> compositeIndexToString = new Function<CompositeIndex, String>() { - public String apply(CompositeIndex i) { return i != null ? i.createStatement : null; } - }; - - List<CompositeIndex> indexList = Arrays.asList(values()); - return Lists.transform(indexList, compositeIndexToString); + return Arrays.asList(values()).stream() + .map(i -> i != null ? i.createStatement : null).collect(Collectors.toList()); } public static boolean find(String indexName) { diff --git a/core/src/main/java/org/apache/oozie/util/db/DatabaseRetryPredicate.java b/core/src/main/java/org/apache/oozie/util/db/DatabaseRetryPredicate.java index c89aabe..8200d16 100644 --- a/core/src/main/java/org/apache/oozie/util/db/DatabaseRetryPredicate.java +++ b/core/src/main/java/org/apache/oozie/util/db/DatabaseRetryPredicate.java @@ -20,13 +20,12 @@ package org.apache.oozie.util.db; import java.util.HashSet; import java.util.Set; - -import com.google.common.base.Predicate; +import java.util.function.Predicate; public abstract class DatabaseRetryPredicate implements Predicate<Throwable> { @Override - public abstract boolean apply(Throwable input); + public abstract boolean test(Throwable input); /* * Helper method for subclasses to retrieve all exceptions in a set. "All exceptions" means the exception diff --git a/core/src/main/java/org/apache/oozie/util/db/FailingConnectionWrapper.java b/core/src/main/java/org/apache/oozie/util/db/FailingConnectionWrapper.java index 9e603ed..0b681f7 100644 --- a/core/src/main/java/org/apache/oozie/util/db/FailingConnectionWrapper.java +++ b/core/src/main/java/org/apache/oozie/util/db/FailingConnectionWrapper.java @@ -19,7 +19,6 @@ package org.apache.oozie.util.db; import com.google.common.base.Preconditions; -import com.google.common.base.Predicate; import com.google.common.base.Strings; import com.google.common.collect.Sets; import org.apache.oozie.util.XLog; @@ -45,6 +44,7 @@ import java.util.Map; import java.util.Properties; import java.util.Set; import java.util.concurrent.Executor; +import java.util.function.Predicate; public class FailingConnectionWrapper implements Connection { private static final XLog LOG = XLog.getLog(FailingConnectionWrapper.class); @@ -167,7 +167,7 @@ public class FailingConnectionWrapper implements Connection { @Override public PreparedStatement prepareStatement(final String sql, final int resultSetType, final int resultSetConcurrency) throws SQLException { - if (predicate.apply(sql)) { + if (predicate.test(sql)) { LOG.trace("Injecting random failure. Preparing this statement might fail."); injector.inject(String.format("Deliberately failing to prepare statement. [sql=%s]", sql)); } @@ -353,7 +353,7 @@ public class FailingConnectionWrapper implements Connection { "WF_ACTIONS", "WF_JOBS"); @Override - public boolean apply(@Nullable String input) { + public boolean test(@Nullable String input) { Preconditions.checkArgument(!Strings.isNullOrEmpty(input)); boolean isDmlStatement = false; diff --git a/core/src/main/java/org/apache/oozie/util/db/FailingDBHelperForTest.java b/core/src/main/java/org/apache/oozie/util/db/FailingDBHelperForTest.java index 7131e92..474946d 100644 --- a/core/src/main/java/org/apache/oozie/util/db/FailingDBHelperForTest.java +++ b/core/src/main/java/org/apache/oozie/util/db/FailingDBHelperForTest.java @@ -18,8 +18,9 @@ package org.apache.oozie.util.db; +import java.util.function.Predicate; + import com.google.common.annotations.VisibleForTesting; -import com.google.common.base.Predicate; /** * Helper class for simulating DB failures. @@ -36,7 +37,7 @@ public class FailingDBHelperForTest { * @param predicate predicate */ @VisibleForTesting - public static void setDbPredicate (final Predicate predicate) { + public static void setDbPredicate (final Predicate<String> predicate) { FailingDBHelperForTest.dbPredicate = predicate; } diff --git a/core/src/main/java/org/apache/oozie/util/db/FailingHSQLDBDriverWrapper.java b/core/src/main/java/org/apache/oozie/util/db/FailingHSQLDBDriverWrapper.java index 5f5d56f..60f35b4 100644 --- a/core/src/main/java/org/apache/oozie/util/db/FailingHSQLDBDriverWrapper.java +++ b/core/src/main/java/org/apache/oozie/util/db/FailingHSQLDBDriverWrapper.java @@ -21,7 +21,6 @@ package org.apache.oozie.util.db; import java.sql.Connection; import java.sql.SQLException; import java.util.Properties; -import com.google.common.base.Predicate; public class FailingHSQLDBDriverWrapper extends org.hsqldb.jdbcDriver { diff --git a/core/src/main/java/org/apache/oozie/util/db/OperationRetryHandler.java b/core/src/main/java/org/apache/oozie/util/db/OperationRetryHandler.java index 16a0a82..53f2c3a 100644 --- a/core/src/main/java/org/apache/oozie/util/db/OperationRetryHandler.java +++ b/core/src/main/java/org/apache/oozie/util/db/OperationRetryHandler.java @@ -19,12 +19,12 @@ package org.apache.oozie.util.db; import java.util.concurrent.Callable; +import java.util.function.Predicate; import com.google.common.annotations.VisibleForTesting; import org.apache.oozie.util.XLog; import com.google.common.base.Preconditions; -import com.google.common.base.Predicate; public class OperationRetryHandler { private static XLog LOG = XLog.getLog(OperationRetryHandler.class); @@ -98,7 +98,7 @@ public class OperationRetryHandler { throw e; } - if (retryPredicate.apply(e)) { + if (retryPredicate.test(e)) { LOG.trace("Exception is not on blacklist, handling retry. [retries={0};e.class={1}]", retries, e.getClass().getName()); waitTime = handleRetry(waitTime, retries); diff --git a/core/src/main/java/org/apache/oozie/util/db/PersistenceExceptionSubclassFilterRetryPredicate.java b/core/src/main/java/org/apache/oozie/util/db/PersistenceExceptionSubclassFilterRetryPredicate.java index 1e4413b..28c4ddb 100644 --- a/core/src/main/java/org/apache/oozie/util/db/PersistenceExceptionSubclassFilterRetryPredicate.java +++ b/core/src/main/java/org/apache/oozie/util/db/PersistenceExceptionSubclassFilterRetryPredicate.java @@ -74,7 +74,7 @@ public class PersistenceExceptionSubclassFilterRetryPredicate extends DatabaseRe ); @Override - public boolean apply(final Throwable throwable) { + public boolean test(final Throwable throwable) { LOG.trace("Retry predicate investigation started. [throwable.class={0}]", throwable.getClass().getName()); boolean applies = true; diff --git a/core/src/main/java/org/apache/oozie/workflow/lite/LiteWorkflowValidator.java b/core/src/main/java/org/apache/oozie/workflow/lite/LiteWorkflowValidator.java index c7f2f49..992e1e4 100644 --- a/core/src/main/java/org/apache/oozie/workflow/lite/LiteWorkflowValidator.java +++ b/core/src/main/java/org/apache/oozie/workflow/lite/LiteWorkflowValidator.java @@ -25,6 +25,8 @@ import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Map.Entry; +import java.util.Objects; +import java.util.Optional; import java.util.Set; import org.apache.commons.collections.CollectionUtils; @@ -38,8 +40,6 @@ import org.jdom.Element; import org.jdom.JDOMException; import com.google.common.base.Joiner; -import com.google.common.base.Objects; -import com.google.common.base.Optional; public class LiteWorkflowValidator { @@ -178,11 +178,11 @@ public class LiteWorkflowValidator { // using Optional here so we can distinguish between "non-visited" and "visited - no parent" state. Optional<String> decisionParentOpt = nodeAndDecisionParents.get(nodeName); if (decisionParentOpt == null) { - nodeAndDecisionParents.put(node.getName(), Optional.fromNullable(topDecisionParent)); + nodeAndDecisionParents.put(node.getName(), Optional.ofNullable(topDecisionParent)); } else { String decisionParent = decisionParentOpt.isPresent() ? decisionParentOpt.get() : null; - if ((decisionParent == null && topDecisionParent == null) || !Objects.equal(decisionParent, topDecisionParent)) { + if ((decisionParent == null && topDecisionParent == null) || !Objects.equals(decisionParent, topDecisionParent)) { throw new WorkflowException(ErrorCode.E0743, nodeName); } } diff --git a/core/src/test/java/org/apache/oozie/action/hadoop/TestYarnApplicationIdFinder.java b/core/src/test/java/org/apache/oozie/action/hadoop/TestYarnApplicationIdFinder.java index 3fd7149..54570d7 100644 --- a/core/src/test/java/org/apache/oozie/action/hadoop/TestYarnApplicationIdFinder.java +++ b/core/src/test/java/org/apache/oozie/action/hadoop/TestYarnApplicationIdFinder.java @@ -18,7 +18,6 @@ package org.apache.oozie.action.hadoop; -import com.google.common.collect.Lists; import org.apache.hadoop.yarn.api.records.ApplicationId; import org.apache.hadoop.yarn.api.records.ApplicationReport; import org.apache.hadoop.yarn.api.records.YarnApplicationState; @@ -35,6 +34,8 @@ import org.mockito.runners.MockitoJUnitRunner; import java.io.IOException; import java.net.URISyntaxException; +import java.util.ArrayList; +import java.util.Arrays; import java.util.Collections; import static org.junit.Assert.assertEquals; @@ -83,7 +84,7 @@ public class TestYarnApplicationIdFinder { when(applicationReport.getApplicationType()).thenReturn("Oozie Launcher"); when(applicationReport.getApplicationId()).thenReturn(applicationId); when(applicationId.toString()).thenReturn("application_1534164756526_0001"); - when(reader.read()).thenReturn(Lists.newArrayList(applicationReport)); + when(reader.read()).thenReturn(new ArrayList<>(Arrays.asList(applicationReport))); assertEquals( "no Hadoop Job ID nor YARN applications of MAPREDUCE type: WorkflowActionBean.externalId should be found", @@ -115,7 +116,7 @@ public class TestYarnApplicationIdFinder { when(applicationReport.getYarnApplicationState()).thenReturn(YarnApplicationState.RUNNING); when(applicationId.toString()).thenReturn("application_1534164756526_0000"); when(applicationReport.getApplicationId()).thenReturn(applicationId); - when(reader.read()).thenReturn(Lists.newArrayList(applicationReport)); + when(reader.read()).thenReturn(Arrays.asList(applicationReport)); assertEquals("no Hadoop Job ID, but an appropriate YARN application: applicationId should be found", "application_1534164756526_0000", @@ -140,7 +141,7 @@ public class TestYarnApplicationIdFinder { when(applicationReport.getYarnApplicationState()).thenReturn(YarnApplicationState.RUNNING); when(applicationId.toString()).thenReturn(yarnApplicationId); when(applicationReport.getApplicationId()).thenReturn(applicationId); - when(reader.read()).thenReturn(Lists.newArrayList(applicationReport)); + when(reader.read()).thenReturn(Arrays.asList(applicationReport)); } @Test @@ -187,7 +188,7 @@ public class TestYarnApplicationIdFinder { final ApplicationId newMRJobId = mock(ApplicationId.class); when(newMRJobId.toString()).thenReturn("application_1534164756526_0004"); when(newMRJob.getApplicationId()).thenReturn(newMRJobId); - when(reader.read()).thenReturn(Lists.newArrayList(oldLauncher, oldMRJob, newLauncher, newMRJob)); + when(reader.read()).thenReturn(new ArrayList<>(Arrays.asList(oldLauncher, oldMRJob, newLauncher, newMRJob))); when(workflowActionBean.getExternalId()).thenReturn("application_1534164756526_0003"); assertEquals("newLauncher should be found", "application_1534164756526_0004", yarnApplicationIdFinder.find()); @@ -236,7 +237,7 @@ public class TestYarnApplicationIdFinder { when(newMRJobId.toString()).thenReturn("application_1534164756526_0004"); when(newMRJob.getApplicationId()).thenReturn(newMRJobId); - final String lastYarnId = yarnApplicationIdFinder.getLastYarnId(Lists.newArrayList(newMRJob, newLauncher)); + final String lastYarnId = yarnApplicationIdFinder.getLastYarnId(Arrays.asList(newMRJob, newLauncher)); assertEquals("last YARN id should be the maximal element in the list", "application_1534164756526_0004", lastYarnId); } } \ No newline at end of file diff --git a/core/src/test/java/org/apache/oozie/service/TestCallableQueueService.java b/core/src/test/java/org/apache/oozie/service/TestCallableQueueService.java index aec1765..1b08148 100644 --- a/core/src/test/java/org/apache/oozie/service/TestCallableQueueService.java +++ b/core/src/test/java/org/apache/oozie/service/TestCallableQueueService.java @@ -27,17 +27,11 @@ import org.apache.oozie.test.XTestCase; import org.apache.oozie.util.XCallable; import org.apache.oozie.util.XLog; -import com.google.common.collect.ArrayListMultimap; import com.google.common.collect.Multimap; -import com.google.common.collect.Multimaps; import java.util.ArrayList; import java.util.Arrays; -import java.util.Collection; -import java.util.Collections; -import java.util.HashMap; import java.util.List; -import java.util.Map; import java.util.UUID; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; diff --git a/core/src/test/java/org/apache/oozie/service/TestShareLibService.java b/core/src/test/java/org/apache/oozie/service/TestShareLibService.java index 8bf2040..24766ce 100644 --- a/core/src/test/java/org/apache/oozie/service/TestShareLibService.java +++ b/core/src/test/java/org/apache/oozie/service/TestShareLibService.java @@ -42,7 +42,6 @@ import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; -import com.google.common.collect.Lists; import com.google.common.io.Files; import org.apache.hadoop.conf.Configuration; @@ -126,7 +125,7 @@ public class TestShareLibService extends XFsTestCase { @Override public List<Class<?>> getLauncherClasses() { - return Lists.<Class<?>>newArrayList(MyPig.class); + return Arrays.asList(MyPig.class); } } @@ -136,7 +135,7 @@ public class TestShareLibService extends XFsTestCase { @Override public List<Class<?>> getLauncherClasses() { - return Lists.<Class<?>>newArrayList(TestHive.class); + return Arrays.asList(TestHive.class); } } diff --git a/core/src/test/java/org/apache/oozie/sla/TestSLACalculatorMemory.java b/core/src/test/java/org/apache/oozie/sla/TestSLACalculatorMemory.java index e196033..3285153 100644 --- a/core/src/test/java/org/apache/oozie/sla/TestSLACalculatorMemory.java +++ b/core/src/test/java/org/apache/oozie/sla/TestSLACalculatorMemory.java @@ -1289,8 +1289,8 @@ public class TestSLACalculatorMemory extends XDataTestCase { } @Override - public boolean apply(@Nullable String input) { - if (super.apply(input)) { + public boolean test(@Nullable String input) { + if (super.test(input)) { if (remainingSuccessfulAttempts <= 0) { return true; } @@ -1305,7 +1305,7 @@ public class TestSLACalculatorMemory extends XDataTestCase { } } - static class DmlPredicate implements com.google.common.base.Predicate<String> { + static class DmlPredicate implements java.util.function.Predicate<String> { private final String tableName; private final Set<String> operationPrefixes; @@ -1315,7 +1315,7 @@ public class TestSLACalculatorMemory extends XDataTestCase { } @Override - public boolean apply(@Nullable String input) { + public boolean test(@Nullable String input) { Preconditions.checkArgument(!Strings.isNullOrEmpty(input)); boolean operationMatch = false; for (String s: operationPrefixes) { diff --git a/core/src/test/java/org/apache/oozie/util/db/TestOozieDmlStatementPredicate.java b/core/src/test/java/org/apache/oozie/util/db/TestOozieDmlStatementPredicate.java index c2d4b15..4d089c7 100644 --- a/core/src/test/java/org/apache/oozie/util/db/TestOozieDmlStatementPredicate.java +++ b/core/src/test/java/org/apache/oozie/util/db/TestOozieDmlStatementPredicate.java @@ -31,33 +31,33 @@ public class TestOozieDmlStatementPredicate { @Test public void testDmlNotOozieTableDoesNotApply() { assertFalse("DML statement but not of an Oozie table", - statementPredicate.apply("SELECT * FROM wellhello")); + statementPredicate.test("SELECT * FROM wellhello")); } @Test public void testNotDmlOozieTableDoesNotApply() { assertFalse("not a DML statement but of an Oozie table", - statementPredicate.apply("CREATE TABLE WF_JOBS")); + statementPredicate.test("CREATE TABLE WF_JOBS")); } @Test public void testNotDmlNotOozieTableDoesNotApply() { assertFalse("not a DML statement and not of an Oozie table", - statementPredicate.apply("CREATE TABLE wellhello")); + statementPredicate.test("CREATE TABLE wellhello")); } @Test public void testDmlAndOozieTableAppliesIgnoreCase() { assertTrue("a DML statement and of an Oozie table", - statementPredicate.apply("SELECT * FROM wf_jobs")); + statementPredicate.test("SELECT * FROM wf_jobs")); assertTrue("a DML statement and of an Oozie table", - statementPredicate.apply("insert into WF_JOBS")); + statementPredicate.test("insert into WF_JOBS")); assertTrue("a DML statement and of an Oozie table", - statementPredicate.apply("update wf_jobs")); + statementPredicate.test("update wf_jobs")); assertTrue("a DML statement and of an Oozie table", - statementPredicate.apply("DELETE FROM WF_JOBS")); + statementPredicate.test("DELETE FROM WF_JOBS")); } } \ No newline at end of file diff --git a/core/src/test/java/org/apache/oozie/util/db/TestOperationRetryHandler.java b/core/src/test/java/org/apache/oozie/util/db/TestOperationRetryHandler.java index c61b1e5..790c17b 100644 --- a/core/src/test/java/org/apache/oozie/util/db/TestOperationRetryHandler.java +++ b/core/src/test/java/org/apache/oozie/util/db/TestOperationRetryHandler.java @@ -25,13 +25,13 @@ import static org.mockito.BDDMockito.willAnswer; import static org.mockito.Mockito.mock; import java.util.concurrent.Callable; +import java.util.function.Predicate; import org.apache.commons.lang3.mutable.MutableInt; import org.junit.Test; import org.mockito.invocation.InvocationOnMock; import org.mockito.stubbing.Answer; -import com.google.common.base.Predicate; /** * Conventions used in the tests: @@ -44,7 +44,7 @@ public class TestOperationRetryHandler { private final Predicate<Throwable> testRetryPredicate = new Predicate<Throwable>() { @Override - public boolean apply(Throwable input) { + public boolean test(Throwable input) { return input.getClass() == RuntimeException.class; } }; diff --git a/core/src/test/java/org/apache/oozie/util/db/TestPersistenceExceptionSubclassFilterRetryPredicate.java b/core/src/test/java/org/apache/oozie/util/db/TestPersistenceExceptionSubclassFilterRetryPredicate.java index 26dc13b..89d79e3 100644 --- a/core/src/test/java/org/apache/oozie/util/db/TestPersistenceExceptionSubclassFilterRetryPredicate.java +++ b/core/src/test/java/org/apache/oozie/util/db/TestPersistenceExceptionSubclassFilterRetryPredicate.java @@ -44,60 +44,60 @@ public class TestPersistenceExceptionSubclassFilterRetryPredicate { @Test public void testFilteredJPAExceptions() { - assertFalse(predicate.apply(new EntityExistsException())); - assertFalse(predicate.apply(new EntityNotFoundException())); - assertFalse(predicate.apply(new LockTimeoutException())); - assertFalse(predicate.apply(new NoResultException())); - assertFalse(predicate.apply(new NonUniqueResultException())); - assertFalse(predicate.apply(new OptimisticLockException())); - assertFalse(predicate.apply(new PessimisticLockException())); - assertFalse(predicate.apply(new QueryTimeoutException())); - assertFalse(predicate.apply(new TransactionRequiredException())); + assertFalse(predicate.test(new EntityExistsException())); + assertFalse(predicate.test(new EntityNotFoundException())); + assertFalse(predicate.test(new LockTimeoutException())); + assertFalse(predicate.test(new NoResultException())); + assertFalse(predicate.test(new NonUniqueResultException())); + assertFalse(predicate.test(new OptimisticLockException())); + assertFalse(predicate.test(new PessimisticLockException())); + assertFalse(predicate.test(new QueryTimeoutException())); + assertFalse(predicate.test(new TransactionRequiredException())); } @Test public void testNotFilteredJPAExceptions() { - assertTrue(predicate.apply(new RollbackException())); - assertTrue(predicate.apply(new PersistenceException())); + assertTrue(predicate.test(new RollbackException())); + assertTrue(predicate.test(new PersistenceException())); } @Test public void testNonJPAExceptions() { - assertTrue(predicate.apply(new IllegalStateException())); - assertTrue(predicate.apply(new Exception())); + assertTrue(predicate.test(new IllegalStateException())); + assertTrue(predicate.test(new Exception())); } @Test public void testNestedFilteredJPAExceptions() { - assertFalse(predicate.apply(wrapCause(new EntityExistsException()))); - assertFalse(predicate.apply(wrapCause(new EntityNotFoundException()))); - assertFalse(predicate.apply(wrapCause(new LockTimeoutException()))); - assertFalse(predicate.apply(wrapCause(new NoResultException()))); - assertFalse(predicate.apply(wrapCause(new NonUniqueResultException()))); - assertFalse(predicate.apply(wrapCause(new OptimisticLockException()))); - assertFalse(predicate.apply(wrapCause(new PessimisticLockException()))); - assertFalse(predicate.apply(wrapCause(new QueryTimeoutException()))); - assertFalse(predicate.apply(wrapCause(new TransactionRequiredException()))); + assertFalse(predicate.test(wrapCause(new EntityExistsException()))); + assertFalse(predicate.test(wrapCause(new EntityNotFoundException()))); + assertFalse(predicate.test(wrapCause(new LockTimeoutException()))); + assertFalse(predicate.test(wrapCause(new NoResultException()))); + assertFalse(predicate.test(wrapCause(new NonUniqueResultException()))); + assertFalse(predicate.test(wrapCause(new OptimisticLockException()))); + assertFalse(predicate.test(wrapCause(new PessimisticLockException()))); + assertFalse(predicate.test(wrapCause(new QueryTimeoutException()))); + assertFalse(predicate.test(wrapCause(new TransactionRequiredException()))); } @Test public void testNestedNotFilteredJPAExceptions() { - assertTrue(predicate.apply(wrapCause(new RollbackException()))); - assertTrue(predicate.apply(wrapCause(new PersistenceException()))); + assertTrue(predicate.test(wrapCause(new RollbackException()))); + assertTrue(predicate.test(wrapCause(new PersistenceException()))); } @Test public void testNestedNonJPAExceptions() { - assertTrue(predicate.apply(wrapCause(new RuntimeException()))); - assertTrue(predicate.apply(wrapCause(new Exception()))); + assertTrue(predicate.test(wrapCause(new RuntimeException()))); + assertTrue(predicate.test(wrapCause(new Exception()))); } @Test public void testPlainJPAExecutorExceptionWithMessage() { - assertFalse(predicate.apply(wrapMessage("No WorkflowJobBean found in database"))); - assertFalse(predicate.apply(wrapMessage("Some other message"))); + assertFalse(predicate.test(wrapMessage("No WorkflowJobBean found in database"))); + assertFalse(predicate.test(wrapMessage("Some other message"))); - assertFalse(predicate.apply(wrapMessageRuntime("Some runtime problem"))); + assertFalse(predicate.test(wrapMessageRuntime("Some runtime problem"))); } private JPAExecutorException wrapCause(final Throwable cause) { diff --git a/fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/mapping/SourceDataFactory.java b/fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/mapping/SourceDataFactory.java index 4def062..bd04736 100644 --- a/fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/mapping/SourceDataFactory.java +++ b/fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/mapping/SourceDataFactory.java @@ -18,7 +18,6 @@ package org.apache.oozie.fluentjob.api.mapping; -import com.google.common.collect.Lists; import org.apache.oozie.fluentjob.api.generated.workflow.CREDENTIALS; import org.apache.oozie.fluentjob.api.workflow.ConfigurationEntry; import org.apache.oozie.fluentjob.api.workflow.Credentials; @@ -26,13 +25,15 @@ import org.apache.oozie.fluentjob.api.workflow.CredentialsBuilder; import static org.junit.Assert.assertEquals; +import java.util.Collections; + class SourceDataFactory { Credentials createCredentials() { return CredentialsBuilder.create() .withCredential("hbase", "hbase") .withCredential("hive2", "hive2", - Lists.newArrayList(new ConfigurationEntry("jdbcUrl", "jdbc://localhost/hive2"))) + Collections.singletonList(new ConfigurationEntry("jdbcUrl", "jdbc://localhost/hive2"))) .build(); } diff --git a/fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/workflow/TestCredentialsBuilder.java b/fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/workflow/TestCredentialsBuilder.java index 4d3dce3..3b1e7b7 100644 --- a/fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/workflow/TestCredentialsBuilder.java +++ b/fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/workflow/TestCredentialsBuilder.java @@ -18,11 +18,12 @@ package org.apache.oozie.fluentjob.api.workflow; -import com.google.common.collect.Lists; import org.junit.Test; import static org.junit.Assert.assertEquals; +import java.util.Collections; + public class TestCredentialsBuilder { @Test @@ -30,7 +31,7 @@ public class TestCredentialsBuilder { final Credentials credentials = CredentialsBuilder.create() .withCredential("hive2", "hive", - Lists.newArrayList( + Collections.singletonList( new ConfigurationEntry("jdbcUrl", "jdbc://localhost/hive"))) .build(); @@ -45,7 +46,7 @@ public class TestCredentialsBuilder { final Credentials credentials = CredentialsBuilder.create() .withCredential("hive2", "hive", - Lists.newArrayList( + Collections.singletonList( new ConfigurationEntry("jdbcUrl", "jdbc://localhost/hive"))) .build(); diff --git a/fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/workflow/TestWorkflowBuilder.java b/fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/workflow/TestWorkflowBuilder.java index 29caf27..28ce884 100644 --- a/fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/workflow/TestWorkflowBuilder.java +++ b/fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/workflow/TestWorkflowBuilder.java @@ -18,7 +18,6 @@ package org.apache.oozie.fluentjob.api.workflow; -import com.google.common.collect.Lists; import org.apache.oozie.fluentjob.api.action.MapReduceActionBuilder; import org.apache.oozie.fluentjob.api.action.Node; import org.apache.oozie.fluentjob.api.action.ShellAction; @@ -28,6 +27,7 @@ import org.junit.Test; import org.junit.rules.ExpectedException; import java.util.Arrays; +import java.util.Collections; import java.util.HashSet; import java.util.Set; @@ -241,7 +241,7 @@ public class TestWorkflowBuilder { final Workflow workflow = new WorkflowBuilder() .withDagContainingNode(hbaseAction) .withCredentials(CredentialsBuilder.create() - .withCredential("hive2", "hive2", Lists.newArrayList( + .withCredential("hive2", "hive2", Collections.singletonList( new ConfigurationEntry("jdbcUrl", "jdbc://localhost/hive"))) .build()) .build(); diff --git a/release-log.txt b/release-log.txt index a5df3d6..177a1b8 100644 --- a/release-log.txt +++ b/release-log.txt @@ -1,5 +1,6 @@ -- Oozie 5.2.0 release (trunk - unreleased) +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) OOZIE-3478 Oozie needs execute permission on the submitting users home directory (asalamon74 via gezapeti, pbacsko, kmarton) diff --git a/sharelib/oozie/src/main/java/org/apache/oozie/action/hadoop/LauncherAM.java b/sharelib/oozie/src/main/java/org/apache/oozie/action/hadoop/LauncherAM.java index 6df151c..801a0ae 100644 --- a/sharelib/oozie/src/main/java/org/apache/oozie/action/hadoop/LauncherAM.java +++ b/sharelib/oozie/src/main/java/org/apache/oozie/action/hadoop/LauncherAM.java @@ -29,6 +29,7 @@ import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.Map; +import java.util.Objects; import java.util.Properties; import java.util.StringTokenizer; @@ -47,7 +48,6 @@ import org.apache.hadoop.yarn.client.api.async.AMRMClientAsync; import org.apache.hadoop.yarn.exceptions.YarnException; import com.google.common.annotations.VisibleForTesting; -import com.google.common.base.Objects; import com.google.common.base.Preconditions; import org.apache.hadoop.yarn.security.AMRMTokenIdentifier; import org.apache.oozie.action.hadoop.security.LauncherSecurityManager; @@ -529,7 +529,7 @@ public class LauncherAM { private void updateActionDataWithFailure(ErrorHolder eHolder, Map<String, String> actionData) { if (eHolder.getErrorCause() != null && eHolder.getErrorCause().getMessage() != null) { - if (Objects.equal(eHolder.getErrorMessage(), eHolder.getErrorCause().getMessage())) { + if (Objects.equals(eHolder.getErrorMessage(), eHolder.getErrorCause().getMessage())) { eHolder.setErrorMessage(eHolder.getErrorMessage()); } else { eHolder.setErrorMessage(eHolder.getErrorMessage() + ", " + eHolder.getErrorCause().getMessage()); diff --git a/sharelib/oozie/src/test/java/org/apache/oozie/action/hadoop/TestLauncherAMUtils.java b/sharelib/oozie/src/test/java/org/apache/oozie/action/hadoop/TestLauncherAMUtils.java index 43c4914..4d2f426 100644 --- a/sharelib/oozie/src/test/java/org/apache/oozie/action/hadoop/TestLauncherAMUtils.java +++ b/sharelib/oozie/src/test/java/org/apache/oozie/action/hadoop/TestLauncherAMUtils.java @@ -25,29 +25,16 @@ import static org.mockito.BDDMockito.given; import static org.mockito.Matchers.eq; import static org.mockito.Matchers.anyBoolean; -import java.io.File; -import java.io.FileWriter; -import java.io.Writer; -import java.net.URI; import java.util.Arrays; import java.util.List; -import java.util.Map; -import org.apache.commons.io.FileUtils; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.filecache.DistributedCache; -import org.apache.hadoop.fs.FileSystem; -import org.apache.hadoop.fs.Path; -import org.apache.hadoop.mapred.JobClient; -import org.apache.hadoop.mapred.JobConf; -import org.apache.hadoop.mapred.RunningJob; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.runners.MockitoJUnitRunner; -import com.google.common.collect.Lists; - @RunWith(MockitoJUnitRunner.class) public class TestLauncherAMUtils { @Mock @@ -55,7 +42,7 @@ public class TestLauncherAMUtils { @Test public void testArgsHandlingWithoutNullsAndNullsNotAllowed() { - setupConf(Lists.newArrayList("a", "b", "c")); + setupConf(Arrays.asList("a", "b", "c")); setEnableNullArgsAllowed(false); String args[] = LauncherAMUtils.getMainArguments(conf); @@ -65,7 +52,7 @@ public class TestLauncherAMUtils { @Test public void testHandlingWhenArgsContainNullsAndNullsNotAllowed() { - setupConf(Lists.newArrayList("a", null, "b", null, "c")); + setupConf(Arrays.asList("a", null, "b", null, "c")); setEnableNullArgsAllowed(false); String args[] = LauncherAMUtils.getMainArguments(conf); @@ -75,7 +62,7 @@ public class TestLauncherAMUtils { @Test public void testArgsHandlingWhenArgsContainsNullsOnlyAndNullsNotAllowed() { - setupConf(Lists.<String>newArrayList(null, null, null)); + setupConf(Arrays.asList(null, null, null)); setEnableNullArgsAllowed(false); String args[] = LauncherAMUtils.getMainArguments(conf); @@ -85,7 +72,7 @@ public class TestLauncherAMUtils { @Test public void testArgsHandlingWhenArgsContainsOneNullAndNullsNotAllowed() { - setupConf(Lists.<String>newArrayList((String) null)); + setupConf(Arrays.asList((String) null)); setEnableNullArgsAllowed(false); String args[] = LauncherAMUtils.getMainArguments(conf); @@ -95,7 +82,7 @@ public class TestLauncherAMUtils { @Test public void testHandlingWhenArgsContainNullsAndNullAllowed() { - setupConf(Lists.newArrayList("a", null, "b", null, "c")); + setupConf(Arrays.asList("a", null, "b", null, "c")); setEnableNullArgsAllowed(true); String args[] = LauncherAMUtils.getMainArguments(conf); @@ -105,7 +92,7 @@ public class TestLauncherAMUtils { @Test public void testArgsHandlingWhenArgsContainsOneNullAndNullsAllowed() { - setupConf(Lists.<String>newArrayList((String) null)); + setupConf(Arrays.asList((String) null)); setEnableNullArgsAllowed(true); String args[] = LauncherAMUtils.getMainArguments(conf); diff --git a/sharelib/spark/src/test/java/org/apache/oozie/action/hadoop/TestSparkArgsExtractor.java b/sharelib/spark/src/test/java/org/apache/oozie/action/hadoop/TestSparkArgsExtractor.java index e86a299..496805b 100644 --- a/sharelib/spark/src/test/java/org/apache/oozie/action/hadoop/TestSparkArgsExtractor.java +++ b/sharelib/spark/src/test/java/org/apache/oozie/action/hadoop/TestSparkArgsExtractor.java @@ -18,7 +18,6 @@ package org.apache.oozie.action.hadoop; -import com.google.common.collect.Lists; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Path; import org.junit.After; @@ -62,7 +61,7 @@ public class TestSparkArgsExtractor { new SparkArgsExtractor(actionConf).appendOoziePropertiesToSparkConf(sparkArgs); - assertEquals(Lists.newArrayList("--conf", "spark.oozie.bar=bar"), sparkArgs); + assertEquals(Arrays.asList("--conf", "spark.oozie.bar=bar"), sparkArgs); } @Test @@ -84,7 +83,7 @@ public class TestSparkArgsExtractor { final List<String> sparkArgs = new SparkArgsExtractor(actionConf).extract(mainArgs); assertEquals("Spark args mismatch", - Lists.newArrayList("--master", "local[*]", + Arrays.asList("--master", "local[*]", "--deploy-mode", "client", "--name", "Spark Copy File", "--class", "org.apache.oozie.example.SparkFileCopy", @@ -128,7 +127,7 @@ public class TestSparkArgsExtractor { final List<String> sparkArgs = new SparkArgsExtractor(actionConf).extract(mainArgs); assertEquals("Spark args mismatch", - Lists.newArrayList("--master", "yarn", + Arrays.asList("--master", "yarn", "--deploy-mode", "client", "--name", "Spark Copy File", "--class", "org.apache.oozie.example.SparkFileCopy", @@ -172,7 +171,7 @@ public class TestSparkArgsExtractor { final List<String> sparkArgs = new SparkArgsExtractor(actionConf).extract(mainArgs); assertEquals("Spark args mismatch", - Lists.newArrayList("--master", "yarn", + Arrays.asList("--master", "yarn", "--deploy-mode", "client", "--name", "Spark Copy File", "--class", "org.apache.oozie.example.SparkFileCopy", @@ -210,7 +209,7 @@ public class TestSparkArgsExtractor { final List<String> sparkArgs = new SparkArgsExtractor(actionConf).extract(mainArgs); assertEquals("Spark args mismatch", - Lists.newArrayList("--master", "yarn", + Arrays.asList("--master", "yarn", "--deploy-mode", "client", "--name", "Spark Copy File", "--class", "org.apache.oozie.example.SparkFileCopy", @@ -249,7 +248,7 @@ public class TestSparkArgsExtractor { final List<String> sparkArgs = new SparkArgsExtractor(actionConf).extract(mainArgs); assertEquals("Spark args mismatch", - Lists.newArrayList("--master", "yarn", + Arrays.asList("--master", "yarn", "--deploy-mode", "client", "--name", "Spark Copy File", "--class", "org.apache.oozie.example.SparkFileCopy", @@ -293,7 +292,7 @@ public class TestSparkArgsExtractor { final List<String> sparkArgs = new SparkArgsExtractor(actionConf).extract(mainArgs); assertEquals("Spark args mismatch", - Lists.newArrayList("--master", "yarn", + Arrays.asList("--master", "yarn", "--deploy-mode", "client", "--name", "Spark Copy File", "--class", "org.apache.oozie.example.SparkFileCopy", @@ -353,7 +352,7 @@ public class TestSparkArgsExtractor { assertEquals("property foo3 should've been overwritten by user-defined foo.properties", "barbar", p.get("foo3")); assertEquals("Spark args mismatch", - Lists.newArrayList("--master", "yarn", "--deploy-mode", "client", "--name", "Spark Copy File", + Arrays.asList("--master", "yarn", "--deploy-mode", "client", "--name", "Spark Copy File", "--class", "org.apache.oozie.example.SparkFileCopy", "--conf", "spark.driver.extraJavaOptions=-Xmx234m -Dlog4j.configuration=spark-log4j.properties", "--conf", "spark.executor.extraClassPath=$PWD/*", "--conf", "spark.driver.extraClassPath=$PWD/*", "--conf", @@ -387,17 +386,17 @@ public class TestSparkArgsExtractor { final List<String> sparkArgs = new SparkArgsExtractor(actionConf).extract(new String[0]); assertContainsSublist( - Lists.newArrayList("--conf", "spark.executor.extraClassPath=/etc/hbase/conf:/etc/hive/conf:$PWD/*"), + Arrays.asList("--conf", "spark.executor.extraClassPath=/etc/hbase/conf:/etc/hive/conf:$PWD/*"), sparkArgs); assertContainsSublist( - Lists.newArrayList("--conf", "spark.driver.extraClassPath=/etc/hbase/conf:/etc/hive/conf:$PWD/*"), + Arrays.asList("--conf", "spark.driver.extraClassPath=/etc/hbase/conf:/etc/hive/conf:$PWD/*"), sparkArgs); assertContainsSublist( - Lists.newArrayList("--conf", "spark.executor.extraJavaOptions=-XX:+UseG1GC -XX:+PrintGC " + + Arrays.asList("--conf", "spark.executor.extraJavaOptions=-XX:+UseG1GC -XX:+PrintGC " + "-XX:+UnlockExperimentalVMOptions -Dlog4j.configuration=spark-log4j.properties"), sparkArgs); assertContainsSublist( - Lists.newArrayList("--conf", "spark.driver.extraJavaOptions=-XX:+UseG1GC -XX:+PrintGC " + + Arrays.asList("--conf", "spark.driver.extraJavaOptions=-XX:+UseG1GC -XX:+PrintGC " + "-XX:+UnlockExperimentalVMOptions -Dlog4j.configuration=spark-log4j.properties"), sparkArgs); } diff --git a/tools/src/main/java/org/apache/oozie/tools/OozieDBImportCLI.java b/tools/src/main/java/org/apache/oozie/tools/OozieDBImportCLI.java index 3db590d..f91a453 100644 --- a/tools/src/main/java/org/apache/oozie/tools/OozieDBImportCLI.java +++ b/tools/src/main/java/org/apache/oozie/tools/OozieDBImportCLI.java @@ -19,7 +19,6 @@ package org.apache.oozie.tools; import com.google.common.base.Strings; -import com.google.common.collect.Lists; import com.google.common.collect.Sets; import com.google.gson.Gson; @@ -58,6 +57,7 @@ import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.ResultSet; import java.sql.SQLException; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.ListIterator; @@ -308,7 +308,7 @@ public class OozieDBImportCLI { final BatchEntityPersister<E> batchEntityPersister = new BatchEntityPersister<>(entityClass, importFileName, batchTransactionHandler); - final List<E> batch = Lists.newArrayList(); + final List<E> batch = new ArrayList<>(); final Gson gson = new Gson(); final ZipEntry importEntry = mainZipFile.getEntry(importFileName); @@ -428,7 +428,7 @@ public class OozieDBImportCLI { private EntityTransaction currentTransaction; private int totalPersistedCount = 0; private int totalSkippedCount = 0; - private List<E> pendingEntities = Lists.newArrayList(); + private List<E> pendingEntities = new ArrayList<>(); /** * Begin recording the {@link EntityTransaction}