diff --git a/core/src/main/java/org/apache/sqoop/audit/AuditLoggerManager.java b/core/src/main/java/org/apache/sqoop/audit/AuditLoggerManager.java index 728127bd..5e5d7abb 100644 --- a/core/src/main/java/org/apache/sqoop/audit/AuditLoggerManager.java +++ b/core/src/main/java/org/apache/sqoop/audit/AuditLoggerManager.java @@ -63,15 +63,6 @@ public static AuditLoggerManager getInstance() { return instance; } - /** - * Allows to set instance in case that it's need. - * - * @param newInstance New instance - */ - public void setInstance(AuditLoggerManager newInstance) { - instance = newInstance; - } - public AuditLoggerManager() { loggers = new ArrayList(); } @@ -95,10 +86,11 @@ private void initializeLoggers() { AuditLoggerConstants.PREFIX_AUDITLOGGER_CONFIG); // Initialize audit loggers - for (String key : auditLoggerProps.keySet()) { + for (Map.Entry entry : auditLoggerProps.entrySet()) { + String key = entry.getKey(); if (key.endsWith(AuditLoggerConstants.SUFFIX_AUDITLOGGER_CLASS)) { String loggerName = key.substring(0, key.indexOf(".")); - String loggerClassName = auditLoggerProps.get(key); + String loggerClassName = entry.getValue(); if (loggerClassName == null || loggerClassName.trim().length() == 0) { throw new SqoopException(AuditLoggerError.AUDIT_0001, diff --git a/core/src/main/java/org/apache/sqoop/connector/ConnectorManager.java b/core/src/main/java/org/apache/sqoop/connector/ConnectorManager.java index a16fceb9..b64d6fdc 100644 --- a/core/src/main/java/org/apache/sqoop/connector/ConnectorManager.java +++ b/core/src/main/java/org/apache/sqoop/connector/ConnectorManager.java @@ -196,8 +196,8 @@ private synchronized void registerConnectors(boolean autoUpgrade) { try { rtx = repository.getTransaction(); rtx.begin(); - for (String name : handlerMap.keySet()) { - ConnectorHandler handler = handlerMap.get(name); + for (Map.Entry entry : handlerMap.entrySet()) { + ConnectorHandler handler = entry.getValue(); MConnector newConnector = handler.getConnectorConfigurable(); MConnector registeredConnector = repository.registerConnector(newConnector, autoUpgrade); // Set the registered connector in the database to the connector configurable instance diff --git a/core/src/main/java/org/apache/sqoop/core/PropertiesConfigurationProvider.java b/core/src/main/java/org/apache/sqoop/core/PropertiesConfigurationProvider.java index f1c48207..2e2d068d 100644 --- a/core/src/main/java/org/apache/sqoop/core/PropertiesConfigurationProvider.java +++ b/core/src/main/java/org/apache/sqoop/core/PropertiesConfigurationProvider.java @@ -159,7 +159,7 @@ private synchronized boolean isShutdown() { private synchronized void loadSleepTime() { try { String value = configuration.get(PROPERTIES_PROVIDER_SLEEP); - sleepTime = Long.valueOf(value); + sleepTime = Long.parseLong(value); } catch(Exception e) { LOG.debug("Can't load sleeping period from configuration file," + " using default value " + DEFAULT_SLEEP_TIME, e); diff --git a/core/src/main/java/org/apache/sqoop/core/SqoopServer.java b/core/src/main/java/org/apache/sqoop/core/SqoopServer.java index e78e4d94..75cea655 100644 --- a/core/src/main/java/org/apache/sqoop/core/SqoopServer.java +++ b/core/src/main/java/org/apache/sqoop/core/SqoopServer.java @@ -19,6 +19,7 @@ import org.apache.log4j.Logger; import org.apache.sqoop.audit.AuditLoggerManager; +import org.apache.sqoop.common.SqoopException; import org.apache.sqoop.connector.ConnectorManager; import org.apache.sqoop.driver.Driver; import org.apache.sqoop.driver.JobManager; @@ -58,9 +59,9 @@ public static void initialize() { Driver.getInstance().initialize(); JobManager.getInstance().initialize(); LOG.info("Sqoop server has successfully boot up"); - } catch (Exception ex) { - LOG.error("Server startup failure", ex); - throw new RuntimeException("Failure in server initialization", ex); + } catch (RuntimeException | ClassNotFoundException | IllegalAccessException | InstantiationException e) { + LOG.error("Server startup failure", e); + throw new RuntimeException("Failure in server initialization", e); } } } diff --git a/core/src/main/java/org/apache/sqoop/driver/JobManager.java b/core/src/main/java/org/apache/sqoop/driver/JobManager.java index d4e0655d..44416c49 100644 --- a/core/src/main/java/org/apache/sqoop/driver/JobManager.java +++ b/core/src/main/java/org/apache/sqoop/driver/JobManager.java @@ -279,7 +279,7 @@ public MSubmission start(long jobId, HttpEventContext ctx) { prepareJob(jobRequest); // Make sure that this job id is not currently running and submit the job // only if it's not. - synchronized (getClass()) { + synchronized (JobManager.class) { MSubmission lastSubmission = RepositoryManager.getInstance().getRepository() .findLastSubmissionForJob(jobId); if (lastSubmission != null && lastSubmission.getStatus().isRunning()) { @@ -561,8 +561,8 @@ void invokeDestroyerOnJobSuccess(MSubmission submission) { } RepositoryManager.getInstance().getRepository().updateJob(job); - } catch(Exception ex) { - LOG.error("Exception when invoking destroyer on job success", ex); + } catch (RuntimeException e) { + LOG.error("RuntimeException when invoking destroyer on job success", e); submission.setStatus(SubmissionStatus.FAILED); } } diff --git a/core/src/main/java/org/apache/sqoop/repository/JdbcRepository.java b/core/src/main/java/org/apache/sqoop/repository/JdbcRepository.java index c09b77bb..9a4853b2 100644 --- a/core/src/main/java/org/apache/sqoop/repository/JdbcRepository.java +++ b/core/src/main/java/org/apache/sqoop/repository/JdbcRepository.java @@ -729,7 +729,7 @@ public Object doIt(Connection conn) { */ @Override public void updateJobConfig(final long jobId, final MConfig config, final MConfigUpdateEntityType type) { - updateJobConfig(jobId, config, null); + updateJobConfig(jobId, config, type, null); } /** * {@inheritDoc} diff --git a/core/src/main/java/org/apache/sqoop/repository/JdbcTransactionIsolation.java b/core/src/main/java/org/apache/sqoop/repository/JdbcTransactionIsolation.java index 2b1c8ce2..1d7c1c5f 100644 --- a/core/src/main/java/org/apache/sqoop/repository/JdbcTransactionIsolation.java +++ b/core/src/main/java/org/apache/sqoop/repository/JdbcTransactionIsolation.java @@ -18,6 +18,7 @@ package org.apache.sqoop.repository; import java.sql.Connection; +import java.util.Locale; public enum JdbcTransactionIsolation { @@ -50,6 +51,6 @@ public static JdbcTransactionIsolation getByName(String name) { if (name == null || name.trim().length() == 0) { return null; } - return valueOf(name.trim().toUpperCase()); + return valueOf(name.trim().toUpperCase(Locale.getDefault())); } } diff --git a/core/src/main/java/org/apache/sqoop/repository/Repository.java b/core/src/main/java/org/apache/sqoop/repository/Repository.java index 8cbff994..610876c4 100644 --- a/core/src/main/java/org/apache/sqoop/repository/Repository.java +++ b/core/src/main/java/org/apache/sqoop/repository/Repository.java @@ -459,11 +459,15 @@ public abstract class Repository { protected abstract void deleteLinkInputs(long linkId, RepositoryTransaction tx); private void deletelinksAndJobInputs(List links, List jobs, RepositoryTransaction tx) { - for (MJob job : jobs) { - deleteJobInputs(job.getPersistenceId(), tx); + if (jobs != null) { + for (MJob job : jobs) { + deleteJobInputs(job.getPersistenceId(), tx); + } } - for (MLink link : links) { - deleteLinkInputs(link.getPersistenceId(), tx); + if (links != null) { + for (MLink link : links) { + deleteLinkInputs(link.getPersistenceId(), tx); + } } }