diff --git a/connector/connector-generic-jdbc/src/main/java/org/apache/sqoop/connector/jdbc/GenericJdbcFromInitializer.java b/connector/connector-generic-jdbc/src/main/java/org/apache/sqoop/connector/jdbc/GenericJdbcFromInitializer.java index fbbe5063..87e0862b 100644 --- a/connector/connector-generic-jdbc/src/main/java/org/apache/sqoop/connector/jdbc/GenericJdbcFromInitializer.java +++ b/connector/connector-generic-jdbc/src/main/java/org/apache/sqoop/connector/jdbc/GenericJdbcFromInitializer.java @@ -111,6 +111,9 @@ public Schema getSchema(InitializerContext context, ConnectionConfiguration conn LOG.info("Ignoring exception while closing ResultSet", e); } } + if (executor != null) { + executor.close(); + } } } diff --git a/connector/connector-generic-jdbc/src/main/java/org/apache/sqoop/connector/jdbc/GenericJdbcToDestroyer.java b/connector/connector-generic-jdbc/src/main/java/org/apache/sqoop/connector/jdbc/GenericJdbcToDestroyer.java index 3ec7b2fc..4ba278e5 100644 --- a/connector/connector-generic-jdbc/src/main/java/org/apache/sqoop/connector/jdbc/GenericJdbcToDestroyer.java +++ b/connector/connector-generic-jdbc/src/main/java/org/apache/sqoop/connector/jdbc/GenericJdbcToDestroyer.java @@ -48,14 +48,17 @@ private void moveDataToDestinationTable(ConnectionConfiguration connectorConf, connectorConf.connection.connectionString, connectorConf.connection.username, connectorConf.connection.password); - - if(success) { - LOG.info("Job completed, transferring data from stage fromTable to " + - "destination fromTable."); - executor.migrateData(stageTableName, tableName); - } else { - LOG.warn("Job failed, clearing stage fromTable."); - executor.deleteTableData(stageTableName); + try { + if(success) { + LOG.info("Job completed, transferring data from stage fromTable to " + + "destination fromTable."); + executor.migrateData(stageTableName, tableName); + } else { + LOG.warn("Job failed, clearing stage fromTable."); + executor.deleteTableData(stageTableName); + } + } finally { + executor.close(); } }