diff --git a/nifi-nar-bundles/nifi-hive-bundle/nifi-hive-processors/src/main/java/org/apache/nifi/processors/hive/PutHiveQL.java b/nifi-nar-bundles/nifi-hive-bundle/nifi-hive-processors/src/main/java/org/apache/nifi/processors/hive/PutHiveQL.java index e1aeade776..57462c4f28 100644 --- a/nifi-nar-bundles/nifi-hive-bundle/nifi-hive-processors/src/main/java/org/apache/nifi/processors/hive/PutHiveQL.java +++ b/nifi-nar-bundles/nifi-hive-bundle/nifi-hive-processors/src/main/java/org/apache/nifi/processors/hive/PutHiveQL.java @@ -230,29 +230,30 @@ public class PutHiveQL extends AbstractHiveQLProcessor { final String hiveQL = hiveQLStr.trim(); if (!StringUtils.isEmpty(hiveQL)) { - final PreparedStatement stmt = conn.prepareStatement(hiveQL); + try (final PreparedStatement stmt = conn.prepareStatement(hiveQL)) { - // Get ParameterMetadata - // Hive JDBC Doesn't support this yet: - // ParameterMetaData pmd = stmt.getParameterMetaData(); - // int paramCount = pmd.getParameterCount(); - int paramCount = StringUtils.countMatches(hiveQL, "?"); + // Get ParameterMetadata + // Hive JDBC Doesn't support this yet: + // ParameterMetaData pmd = stmt.getParameterMetaData(); + // int paramCount = pmd.getParameterCount(); + int paramCount = StringUtils.countMatches(hiveQL, "?"); - if (paramCount > 0) { - loc = setParameters(loc, stmt, paramCount, flowFile.getAttributes()); + if (paramCount > 0) { + loc = setParameters(loc, stmt, paramCount, flowFile.getAttributes()); + } + + // Parse hiveQL and extract input/output tables + try { + tableNames.addAll(findTableNames(hiveQL)); + } catch (Exception e) { + // If failed to parse the query, just log a warning message, but continue. + getLogger().warn("Failed to parse hiveQL: {} due to {}", new Object[]{hiveQL, e}, e); + } + + // Execute the statement + stmt.execute(); + fc.proceed(); } - - // Parse hiveQL and extract input/output tables - try { - tableNames.addAll(findTableNames(hiveQL)); - } catch (Exception e) { - // If failed to parse the query, just log a warning message, but continue. - getLogger().warn("Failed to parse hiveQL: {} due to {}", new Object[]{hiveQL, e}, e); - } - - // Execute the statement - stmt.execute(); - fc.proceed(); } } diff --git a/nifi-nar-bundles/nifi-hive-bundle/nifi-hive3-processors/src/main/java/org/apache/nifi/processors/hive/PutHive3QL.java b/nifi-nar-bundles/nifi-hive-bundle/nifi-hive3-processors/src/main/java/org/apache/nifi/processors/hive/PutHive3QL.java index 7d137e73c1..9f24248378 100644 --- a/nifi-nar-bundles/nifi-hive-bundle/nifi-hive3-processors/src/main/java/org/apache/nifi/processors/hive/PutHive3QL.java +++ b/nifi-nar-bundles/nifi-hive-bundle/nifi-hive3-processors/src/main/java/org/apache/nifi/processors/hive/PutHive3QL.java @@ -231,31 +231,32 @@ public class PutHive3QL extends AbstractHive3QLProcessor { final String hiveQL = hiveQLStr.trim(); if (!StringUtils.isEmpty(hiveQL)) { - final PreparedStatement stmt = conn.prepareStatement(hiveQL); + try (final PreparedStatement stmt = conn.prepareStatement(hiveQL)) { - // Get ParameterMetadata - // Hive JDBC Doesn't support this yet: - // ParameterMetaData pmd = stmt.getParameterMetaData(); - // int paramCount = pmd.getParameterCount(); - int paramCount = StringUtils.countMatches(hiveQL, "?"); + // Get ParameterMetadata + // Hive JDBC Doesn't support this yet: + // ParameterMetaData pmd = stmt.getParameterMetaData(); + // int paramCount = pmd.getParameterCount(); + int paramCount = StringUtils.countMatches(hiveQL, "?"); - if (paramCount > 0) { - loc = setParameters(loc, stmt, paramCount, flowFile.getAttributes()); + if (paramCount > 0) { + loc = setParameters(loc, stmt, paramCount, flowFile.getAttributes()); + } + + // Parse hiveQL and extract input/output tables + try { + tableNames.addAll(findTableNames(hiveQL)); + } catch (Exception e) { + // If failed to parse the query, just log a warning message, but continue. + getLogger().warn("Failed to parse hiveQL: {} due to {}", new Object[]{hiveQL, e}, e); + } + + stmt.setQueryTimeout(context.getProperty(QUERY_TIMEOUT).evaluateAttributeExpressions(flowFile).asInteger()); + + // Execute the statement + stmt.execute(); + fc.proceed(); } - - // Parse hiveQL and extract input/output tables - try { - tableNames.addAll(findTableNames(hiveQL)); - } catch (Exception e) { - // If failed to parse the query, just log a warning message, but continue. - getLogger().warn("Failed to parse hiveQL: {} due to {}", new Object[]{hiveQL, e}, e); - } - - stmt.setQueryTimeout(context.getProperty(QUERY_TIMEOUT).evaluateAttributeExpressions(flowFile).asInteger()); - - // Execute the statement - stmt.execute(); - fc.proceed(); } } diff --git a/nifi-nar-bundles/nifi-hive-bundle/nifi-hive_1_1-processors/src/main/java/org/apache/nifi/processors/hive/PutHive_1_1QL.java b/nifi-nar-bundles/nifi-hive-bundle/nifi-hive_1_1-processors/src/main/java/org/apache/nifi/processors/hive/PutHive_1_1QL.java index d337f0dfba..0b62038b71 100644 --- a/nifi-nar-bundles/nifi-hive-bundle/nifi-hive_1_1-processors/src/main/java/org/apache/nifi/processors/hive/PutHive_1_1QL.java +++ b/nifi-nar-bundles/nifi-hive-bundle/nifi-hive_1_1-processors/src/main/java/org/apache/nifi/processors/hive/PutHive_1_1QL.java @@ -230,29 +230,30 @@ public class PutHive_1_1QL extends AbstractHive_1_1QLProcessor { final String hiveQL = hiveQLStr.trim(); if (!StringUtils.isEmpty(hiveQL)) { - final PreparedStatement stmt = conn.prepareStatement(hiveQL); + try (final PreparedStatement stmt = conn.prepareStatement(hiveQL)) { - // Get ParameterMetadata - // Hive JDBC Doesn't support this yet: - // ParameterMetaData pmd = stmt.getParameterMetaData(); - // int paramCount = pmd.getParameterCount(); - int paramCount = StringUtils.countMatches(hiveQL, "?"); + // Get ParameterMetadata + // Hive JDBC Doesn't support this yet: + // ParameterMetaData pmd = stmt.getParameterMetaData(); + // int paramCount = pmd.getParameterCount(); + int paramCount = StringUtils.countMatches(hiveQL, "?"); - if (paramCount > 0) { - loc = setParameters(loc, stmt, paramCount, flowFile.getAttributes()); + if (paramCount > 0) { + loc = setParameters(loc, stmt, paramCount, flowFile.getAttributes()); + } + + // Parse hiveQL and extract input/output tables + try { + tableNames.addAll(findTableNames(hiveQL)); + } catch (Exception e) { + // If failed to parse the query, just log a warning message, but continue. + getLogger().warn("Failed to parse hiveQL: {} due to {}", new Object[]{hiveQL, e}, e); + } + + // Execute the statement + stmt.execute(); + fc.proceed(); } - - // Parse hiveQL and extract input/output tables - try { - tableNames.addAll(findTableNames(hiveQL)); - } catch (Exception e) { - // If failed to parse the query, just log a warning message, but continue. - getLogger().warn("Failed to parse hiveQL: {} due to {}", new Object[]{hiveQL, e}, e); - } - - // Execute the statement - stmt.execute(); - fc.proceed(); } }