From eb39ab037341216a12ddf76615e2c53b77b0892a Mon Sep 17 00:00:00 2001 From: swagle Date: Mon, 18 Nov 2019 21:47:00 -0800 Subject: [PATCH 1/6] HDDS-2538. Fix issues found in DatabaseHelper. --- .../audit/parser/common/DatabaseHelper.java | 158 +++++++++--------- 1 file changed, 82 insertions(+), 76 deletions(-) diff --git a/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/audit/parser/common/DatabaseHelper.java b/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/audit/parser/common/DatabaseHelper.java index a7282b24ebe4..a0760e34db1a 100644 --- a/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/audit/parser/common/DatabaseHelper.java +++ b/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/audit/parser/common/DatabaseHelper.java @@ -16,18 +16,32 @@ */ package org.apache.hadoop.ozone.audit.parser.common; -import org.apache.commons.lang3.StringUtils; -import org.apache.hadoop.ozone.audit.parser.model.AuditEntry; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.io.*; -import java.sql.*; +import static java.nio.charset.StandardCharsets.UTF_8; + +import java.io.BufferedReader; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.nio.charset.StandardCharsets; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.ResultSetMetaData; +import java.sql.SQLException; +import java.sql.Statement; import java.util.ArrayList; import java.util.Map; import java.util.Properties; import java.util.stream.Collectors; +import org.apache.commons.lang3.StringUtils; +import org.apache.hadoop.ozone.audit.parser.model.AuditEntry; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + /** * Database helper for ozone audit parser tool. */ @@ -43,8 +57,7 @@ private DatabaseHelper() { private static Map properties; public static boolean setup(String dbName, String logs) { - //loadProperties(); - if(createAuditTable(dbName)) { + if (createAuditTable(dbName)) { return insertAudits(dbName, logs); } else { return false; @@ -52,15 +65,12 @@ public static boolean setup(String dbName, String logs) { } private static Connection getConnection(String dbName) { - Connection connection = null; try{ Class.forName(ParserConsts.DRIVER); connection = DriverManager.getConnection( ParserConsts.CONNECTION_PREFIX + dbName); - } catch (ClassNotFoundException e) { - LOG.error(e.getMessage()); - } catch (SQLException e) { + } catch (ClassNotFoundException | SQLException e) { LOG.error(e.getMessage()); } return connection; @@ -90,11 +100,12 @@ private static void loadProperties() { } private static boolean createAuditTable(String dbName) { - - try(Connection connection = getConnection(dbName); - Statement st = connection.createStatement()) { - - st.executeUpdate(properties.get(ParserConsts.CREATE_AUDIT_TABLE)); + try (Connection connection = getConnection(dbName)) { + if (connection != null) { + try (Statement st = connection.createStatement()) { + st.executeUpdate(properties.get(ParserConsts.CREATE_AUDIT_TABLE)); + } + } } catch (SQLException e) { LOG.error(e.getMessage()); return false; @@ -103,37 +114,39 @@ private static boolean createAuditTable(String dbName) { } private static boolean insertAudits(String dbName, String logs) { - - try(Connection connection = getConnection(dbName); - PreparedStatement preparedStatement = connection.prepareStatement( + try (Connection connection = getConnection(dbName)) { + if (connection != null) { + try (PreparedStatement preparedStatement = connection.prepareStatement( properties.get(ParserConsts.INSERT_AUDITS))) { - ArrayList auditEntries = parseAuditLogs(logs); + ArrayList auditEntries = parseAuditLogs(logs); - final int batchSize = 1000; - int count = 0; + final int batchSize = 1000; + int count = 0; - //Insert list to db - for(AuditEntry audit : auditEntries) { - preparedStatement.setString(1, audit.getTimestamp()); - preparedStatement.setString(2, audit.getLevel()); - preparedStatement.setString(3, audit.getLogger()); - preparedStatement.setString(4, audit.getUser()); - preparedStatement.setString(5, audit.getIp()); - preparedStatement.setString(6, audit.getOp()); - preparedStatement.setString(7, audit.getParams()); - preparedStatement.setString(8, audit.getResult()); - preparedStatement.setString(9, audit.getException()); + //Insert list to db + for (AuditEntry audit : auditEntries) { + preparedStatement.setString(1, audit.getTimestamp()); + preparedStatement.setString(2, audit.getLevel()); + preparedStatement.setString(3, audit.getLogger()); + preparedStatement.setString(4, audit.getUser()); + preparedStatement.setString(5, audit.getIp()); + preparedStatement.setString(6, audit.getOp()); + preparedStatement.setString(7, audit.getParams()); + preparedStatement.setString(8, audit.getResult()); + preparedStatement.setString(9, audit.getException()); - preparedStatement.addBatch(); + preparedStatement.addBatch(); - if(++count % batchSize == 0) { - preparedStatement.executeBatch(); + if (++count % batchSize == 0) { + preparedStatement.executeBatch(); + } + } + if (!auditEntries.isEmpty()) { + preparedStatement.executeBatch(); // insert remaining records + } } } - if(auditEntries.size() > 0) { - preparedStatement.executeBatch(); // insert remaining records - } } catch (Exception e) { LOG.error(e.getMessage()); return false; @@ -142,27 +155,27 @@ private static boolean insertAudits(String dbName, String logs) { } private static ArrayList parseAuditLogs(String filePath) - throws Exception { - ArrayList listResult = new ArrayList(); - try(FileInputStream fis = new FileInputStream(filePath); - InputStreamReader isr = new InputStreamReader(fis, "UTF-8"); + throws IOException { + ArrayList listResult = new ArrayList<>(); + try (FileInputStream fis = new FileInputStream(filePath); + InputStreamReader isr = new InputStreamReader(fis, UTF_8); BufferedReader bReader = new BufferedReader(isr)) { - String currentLine = null; - String[] entry = null; + String currentLine; + String[] entry; AuditEntry tempEntry = null; - String nextLine = null; + String nextLine; currentLine = bReader.readLine(); nextLine = bReader.readLine(); - while(true) { - if(tempEntry == null){ + while (true) { + if (tempEntry == null){ tempEntry = new AuditEntry(); } - if(currentLine == null) { + if (currentLine == null) { break; } else { - if(!currentLine.matches(ParserConsts.DATE_REGEX)){ + if (!currentLine.matches(ParserConsts.DATE_REGEX)){ tempEntry.appendException(currentLine); } else { entry = StringUtils.stripAll(currentLine.split("\\|")); @@ -178,11 +191,11 @@ private static ArrayList parseAuditLogs(String filePath) .setParams(ops[1]) .setResult(entry[6].substring(entry[6].indexOf('=') + 1)) .build(); - if(entry.length == 8){ + if (entry.length == 8){ tempEntry.setException(entry[7]); } } - if(nextLine == null || nextLine.matches(ParserConsts.DATE_REGEX)){ + if (nextLine == null || nextLine.matches(ParserConsts.DATE_REGEX)){ listResult.add(tempEntry); tempEntry = null; } @@ -190,10 +203,6 @@ private static ArrayList parseAuditLogs(String filePath) nextLine = bReader.readLine(); } } - } catch (RuntimeException rx) { - throw rx; - } catch (Exception ex) { - throw ex; } return listResult; @@ -213,27 +222,24 @@ public static String executeTemplate(String dbName, String template) private static String executeStatement(String dbName, String sql) throws SQLException { StringBuilder result = new StringBuilder(); - ResultSet rs = null; - Statement st = null; - ResultSetMetaData rsm = null; - try(Connection connection = getConnection(dbName)) { - //loadProperties(); - - if(connection != null){ - st = connection.createStatement(); - rs = st.executeQuery(sql); - if(rs != null) { - rsm = rs.getMetaData(); - int cols = rsm.getColumnCount(); - while(rs.next()){ - for(int index =1; index<=cols; index++){ - result.append(rs.getObject(index) + "\t"); + ResultSetMetaData rsm; + try (Connection connection = getConnection(dbName)) { + if (connection != null){ + try (Statement st = connection.createStatement()) { + try (ResultSet rs = st.executeQuery(sql)) { + if (rs != null) { + rsm = rs.getMetaData(); + int cols = rsm.getColumnCount(); + while (rs.next()){ + for (int index = 1; index <= cols; index++){ + result.append(rs.getObject(index)); + result.append("\t"); + } + result.append("\n"); + } } - result.append("\n"); } } - st.close(); - rs.close(); } } return result.toString(); From 97358c8381f1eca7e1d2fd19066ea3b2a5ddfb15 Mon Sep 17 00:00:00 2001 From: swagle Date: Mon, 18 Nov 2019 22:57:15 -0800 Subject: [PATCH 2/6] HDDS-2538. Checkstyle and findbugs fix. --- .../hadoop/ozone/audit/parser/common/DatabaseHelper.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/audit/parser/common/DatabaseHelper.java b/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/audit/parser/common/DatabaseHelper.java index a0760e34db1a..b7d20ec4e537 100644 --- a/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/audit/parser/common/DatabaseHelper.java +++ b/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/audit/parser/common/DatabaseHelper.java @@ -24,7 +24,6 @@ import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; -import java.nio.charset.StandardCharsets; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; @@ -36,6 +35,7 @@ import java.util.Map; import java.util.Properties; import java.util.stream.Collectors; +import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import org.apache.commons.lang3.StringUtils; import org.apache.hadoop.ozone.audit.parser.model.AuditEntry; @@ -113,6 +113,7 @@ private static boolean createAuditTable(String dbName) { return true; } + @SuppressFBWarnings("REC_CATCH_EXCEPTION") private static boolean insertAudits(String dbName, String logs) { try (Connection connection = getConnection(dbName)) { if (connection != null) { From 5754c2c531fa804f73481eab7ff24a73783c6bb4 Mon Sep 17 00:00:00 2001 From: swagle Date: Wed, 20 Nov 2019 10:25:40 -0800 Subject: [PATCH 3/6] HDDS-2538. Addressed review comments. --- .../audit/parser/common/DatabaseHelper.java | 27 +++++++------------ 1 file changed, 10 insertions(+), 17 deletions(-) diff --git a/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/audit/parser/common/DatabaseHelper.java b/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/audit/parser/common/DatabaseHelper.java index b7d20ec4e537..3378cecec497 100644 --- a/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/audit/parser/common/DatabaseHelper.java +++ b/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/audit/parser/common/DatabaseHelper.java @@ -56,7 +56,8 @@ private DatabaseHelper() { LoggerFactory.getLogger(DatabaseHelper.class); private static Map properties; - public static boolean setup(String dbName, String logs) { + public static boolean setup(String dbName, String logs) + throws SQLException, IOException { if (createAuditTable(dbName)) { return insertAudits(dbName, logs); } else { @@ -99,32 +100,28 @@ private static void loadProperties() { } - private static boolean createAuditTable(String dbName) { + private static boolean createAuditTable(String dbName) throws SQLException { try (Connection connection = getConnection(dbName)) { if (connection != null) { try (Statement st = connection.createStatement()) { st.executeUpdate(properties.get(ParserConsts.CREATE_AUDIT_TABLE)); } } - } catch (SQLException e) { - LOG.error(e.getMessage()); - return false; } return true; } @SuppressFBWarnings("REC_CATCH_EXCEPTION") - private static boolean insertAudits(String dbName, String logs) { + private static boolean insertAudits(String dbName, String logs) + throws SQLException, IOException { try (Connection connection = getConnection(dbName)) { if (connection != null) { try (PreparedStatement preparedStatement = connection.prepareStatement( properties.get(ParserConsts.INSERT_AUDITS))) { ArrayList auditEntries = parseAuditLogs(logs); - final int batchSize = 1000; int count = 0; - //Insert list to db for (AuditEntry audit : auditEntries) { preparedStatement.setString(1, audit.getTimestamp()); @@ -136,9 +133,7 @@ private static boolean insertAudits(String dbName, String logs) { preparedStatement.setString(7, audit.getParams()); preparedStatement.setString(8, audit.getResult()); preparedStatement.setString(9, audit.getException()); - preparedStatement.addBatch(); - if (++count % batchSize == 0) { preparedStatement.executeBatch(); } @@ -146,11 +141,11 @@ private static boolean insertAudits(String dbName, String logs) { if (!auditEntries.isEmpty()) { preparedStatement.executeBatch(); // insert remaining records } + } catch (SQLException e) { + LOG.error(e.getMessage()); + return false; } } - } catch (Exception e) { - LOG.error(e.getMessage()); - return false; } return true; } @@ -161,12 +156,10 @@ private static ArrayList parseAuditLogs(String filePath) try (FileInputStream fis = new FileInputStream(filePath); InputStreamReader isr = new InputStreamReader(fis, UTF_8); BufferedReader bReader = new BufferedReader(isr)) { - String currentLine; + String currentLine = bReader.readLine(); + String nextLine = bReader.readLine(); String[] entry; AuditEntry tempEntry = null; - String nextLine; - currentLine = bReader.readLine(); - nextLine = bReader.readLine(); while (true) { if (tempEntry == null){ From c97766ed7a243fede56d5c9c57959af6cd88efbc Mon Sep 17 00:00:00 2001 From: swagle Date: Wed, 20 Nov 2019 13:52:53 -0800 Subject: [PATCH 4/6] HDDS-2538. Rethrow connections errors to the caller. --- .../audit/parser/common/DatabaseHelper.java | 115 +++++++----------- 1 file changed, 47 insertions(+), 68 deletions(-) diff --git a/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/audit/parser/common/DatabaseHelper.java b/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/audit/parser/common/DatabaseHelper.java index 3378cecec497..3803a7c4a4bf 100644 --- a/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/audit/parser/common/DatabaseHelper.java +++ b/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/audit/parser/common/DatabaseHelper.java @@ -56,8 +56,7 @@ private DatabaseHelper() { LoggerFactory.getLogger(DatabaseHelper.class); private static Map properties; - public static boolean setup(String dbName, String logs) - throws SQLException, IOException { + public static boolean setup(String dbName, String logs) throws Exception { if (createAuditTable(dbName)) { return insertAudits(dbName, logs); } else { @@ -65,16 +64,9 @@ public static boolean setup(String dbName, String logs) } } - private static Connection getConnection(String dbName) { - Connection connection = null; - try{ - Class.forName(ParserConsts.DRIVER); - connection = DriverManager.getConnection( - ParserConsts.CONNECTION_PREFIX + dbName); - } catch (ClassNotFoundException | SQLException e) { - LOG.error(e.getMessage()); - } - return connection; + private static Connection getConnection(String dbName) throws Exception { + Class.forName(ParserConsts.DRIVER); + return DriverManager.getConnection(ParserConsts.CONNECTION_PREFIX + dbName); } private static void loadProperties() { @@ -100,12 +92,10 @@ private static void loadProperties() { } - private static boolean createAuditTable(String dbName) throws SQLException { + private static boolean createAuditTable(String dbName) throws Exception { try (Connection connection = getConnection(dbName)) { - if (connection != null) { - try (Statement st = connection.createStatement()) { - st.executeUpdate(properties.get(ParserConsts.CREATE_AUDIT_TABLE)); - } + try (Statement st = connection.createStatement()) { + st.executeUpdate(properties.get(ParserConsts.CREATE_AUDIT_TABLE)); } } return true; @@ -113,43 +103,37 @@ private static boolean createAuditTable(String dbName) throws SQLException { @SuppressFBWarnings("REC_CATCH_EXCEPTION") private static boolean insertAudits(String dbName, String logs) - throws SQLException, IOException { - try (Connection connection = getConnection(dbName)) { - if (connection != null) { - try (PreparedStatement preparedStatement = connection.prepareStatement( - properties.get(ParserConsts.INSERT_AUDITS))) { - - ArrayList auditEntries = parseAuditLogs(logs); - final int batchSize = 1000; - int count = 0; - //Insert list to db - for (AuditEntry audit : auditEntries) { - preparedStatement.setString(1, audit.getTimestamp()); - preparedStatement.setString(2, audit.getLevel()); - preparedStatement.setString(3, audit.getLogger()); - preparedStatement.setString(4, audit.getUser()); - preparedStatement.setString(5, audit.getIp()); - preparedStatement.setString(6, audit.getOp()); - preparedStatement.setString(7, audit.getParams()); - preparedStatement.setString(8, audit.getResult()); - preparedStatement.setString(9, audit.getException()); - preparedStatement.addBatch(); - if (++count % batchSize == 0) { - preparedStatement.executeBatch(); - } - } - if (!auditEntries.isEmpty()) { - preparedStatement.executeBatch(); // insert remaining records - } - } catch (SQLException e) { - LOG.error(e.getMessage()); - return false; + throws Exception { + try (Connection connection = getConnection(dbName); + PreparedStatement preparedStatement = connection.prepareStatement( + properties.get(ParserConsts.INSERT_AUDITS))) { + ArrayList auditEntries = parseAuditLogs(logs); + final int batchSize = 1000; + int count = 0; + //Insert list to db + for (AuditEntry audit : auditEntries) { + preparedStatement.setString(1, audit.getTimestamp()); + preparedStatement.setString(2, audit.getLevel()); + preparedStatement.setString(3, audit.getLogger()); + preparedStatement.setString(4, audit.getUser()); + preparedStatement.setString(5, audit.getIp()); + preparedStatement.setString(6, audit.getOp()); + preparedStatement.setString(7, audit.getParams()); + preparedStatement.setString(8, audit.getResult()); + preparedStatement.setString(9, audit.getException()); + preparedStatement.addBatch(); + if (++count % batchSize == 0) { + preparedStatement.executeBatch(); } } + if (!auditEntries.isEmpty()) { + preparedStatement.executeBatch(); // insert remaining records + } } return true; } + @SuppressWarnings("squid:S3776") private static ArrayList parseAuditLogs(String filePath) throws IOException { ArrayList listResult = new ArrayList<>(); @@ -203,36 +187,31 @@ private static ArrayList parseAuditLogs(String filePath) } public static String executeCustomQuery(String dbName, String query) - throws SQLException { + throws Exception { return executeStatement(dbName, query); } public static String executeTemplate(String dbName, String template) - throws SQLException { - return executeStatement(dbName, - properties.get(template)); + throws Exception { + return executeStatement(dbName, properties.get(template)); } private static String executeStatement(String dbName, String sql) - throws SQLException { + throws Exception { StringBuilder result = new StringBuilder(); ResultSetMetaData rsm; - try (Connection connection = getConnection(dbName)) { - if (connection != null){ - try (Statement st = connection.createStatement()) { - try (ResultSet rs = st.executeQuery(sql)) { - if (rs != null) { - rsm = rs.getMetaData(); - int cols = rsm.getColumnCount(); - while (rs.next()){ - for (int index = 1; index <= cols; index++){ - result.append(rs.getObject(index)); - result.append("\t"); - } - result.append("\n"); - } - } + try (Connection connection = getConnection(dbName); + Statement st = connection.createStatement(); + ResultSet rs = st.executeQuery(sql)) { + if (rs != null) { + rsm = rs.getMetaData(); + int cols = rsm.getColumnCount(); + while (rs.next()){ + for (int index = 1; index <= cols; index++){ + result.append(rs.getObject(index)); + result.append("\t"); } + result.append("\n"); } } } From 88f71fa6b4443b579e656dd1870883f2d044f7ad Mon Sep 17 00:00:00 2001 From: swagle Date: Wed, 20 Nov 2019 13:54:17 -0800 Subject: [PATCH 5/6] HDDS-2538. Merged try block. --- .../hadoop/ozone/audit/parser/common/DatabaseHelper.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/audit/parser/common/DatabaseHelper.java b/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/audit/parser/common/DatabaseHelper.java index 3803a7c4a4bf..3c001369205e 100644 --- a/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/audit/parser/common/DatabaseHelper.java +++ b/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/audit/parser/common/DatabaseHelper.java @@ -93,10 +93,9 @@ private static void loadProperties() { } private static boolean createAuditTable(String dbName) throws Exception { - try (Connection connection = getConnection(dbName)) { - try (Statement st = connection.createStatement()) { - st.executeUpdate(properties.get(ParserConsts.CREATE_AUDIT_TABLE)); - } + try (Connection connection = getConnection(dbName); + Statement st = connection.createStatement()) { + st.executeUpdate(properties.get(ParserConsts.CREATE_AUDIT_TABLE)); } return true; } From f5369b5efc76e7da0507328b823bea800639e85c Mon Sep 17 00:00:00 2001 From: swagle Date: Wed, 20 Nov 2019 14:15:48 -0800 Subject: [PATCH 6/6] HDDS-2538. Compile error and checkstyle fix. --- .../ozone/audit/parser/common/DatabaseHelper.java | 1 - .../audit/parser/handler/LoadCommandHandler.java | 11 ++++++----- .../audit/parser/handler/QueryCommandHandler.java | 11 ++++++----- .../audit/parser/handler/TemplateCommandHandler.java | 11 ++++++----- 4 files changed, 18 insertions(+), 16 deletions(-) diff --git a/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/audit/parser/common/DatabaseHelper.java b/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/audit/parser/common/DatabaseHelper.java index 3c001369205e..a215a9ea52c9 100644 --- a/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/audit/parser/common/DatabaseHelper.java +++ b/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/audit/parser/common/DatabaseHelper.java @@ -29,7 +29,6 @@ import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.ResultSetMetaData; -import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.Map; diff --git a/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/audit/parser/handler/LoadCommandHandler.java b/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/audit/parser/handler/LoadCommandHandler.java index ec67bad19d56..c5e28a4b4d6f 100644 --- a/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/audit/parser/handler/LoadCommandHandler.java +++ b/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/audit/parser/handler/LoadCommandHandler.java @@ -16,14 +16,15 @@ */ package org.apache.hadoop.ozone.audit.parser.handler; +import java.util.concurrent.Callable; + import org.apache.hadoop.hdds.cli.HddsVersionProvider; import org.apache.hadoop.ozone.audit.parser.AuditParser; import org.apache.hadoop.ozone.audit.parser.common.DatabaseHelper; -import picocli.CommandLine.*; + import picocli.CommandLine.Command; import picocli.CommandLine.Parameters; - -import java.util.concurrent.Callable; +import picocli.CommandLine.ParentCommand; /** * Load command handler for ozone audit parser. @@ -41,8 +42,8 @@ public class LoadCommandHandler implements Callable { @ParentCommand private AuditParser auditParser; - public Void call() { - if(DatabaseHelper.setup(auditParser.getDatabase(), logs)) { + public Void call() throws Exception { + if (DatabaseHelper.setup(auditParser.getDatabase(), logs)) { System.out.println(logs + " has been loaded successfully"); } else { System.out.println("Failed to load " + logs); diff --git a/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/audit/parser/handler/QueryCommandHandler.java b/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/audit/parser/handler/QueryCommandHandler.java index fe083ca6eb50..461026e884e3 100644 --- a/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/audit/parser/handler/QueryCommandHandler.java +++ b/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/audit/parser/handler/QueryCommandHandler.java @@ -16,15 +16,16 @@ */ package org.apache.hadoop.ozone.audit.parser.handler; +import java.sql.SQLException; +import java.util.concurrent.Callable; + import org.apache.hadoop.hdds.cli.HddsVersionProvider; import org.apache.hadoop.ozone.audit.parser.AuditParser; import org.apache.hadoop.ozone.audit.parser.common.DatabaseHelper; -import picocli.CommandLine.*; + import picocli.CommandLine.Command; import picocli.CommandLine.Parameters; - -import java.sql.SQLException; -import java.util.concurrent.Callable; +import picocli.CommandLine.ParentCommand; /** * Custom query command handler for ozone audit parser. @@ -44,7 +45,7 @@ public class QueryCommandHandler implements Callable { @ParentCommand private AuditParser auditParser; - public Void call() { + public Void call() throws Exception { try { System.out.println( DatabaseHelper.executeCustomQuery(auditParser.getDatabase(), query) diff --git a/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/audit/parser/handler/TemplateCommandHandler.java b/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/audit/parser/handler/TemplateCommandHandler.java index 9b97ee94d033..4e726ecd2642 100644 --- a/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/audit/parser/handler/TemplateCommandHandler.java +++ b/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/audit/parser/handler/TemplateCommandHandler.java @@ -16,15 +16,16 @@ */ package org.apache.hadoop.ozone.audit.parser.handler; +import java.sql.SQLException; +import java.util.concurrent.Callable; + import org.apache.hadoop.hdds.cli.HddsVersionProvider; import org.apache.hadoop.ozone.audit.parser.AuditParser; import org.apache.hadoop.ozone.audit.parser.common.DatabaseHelper; -import picocli.CommandLine.*; + import picocli.CommandLine.Command; import picocli.CommandLine.Parameters; - -import java.sql.SQLException; -import java.util.concurrent.Callable; +import picocli.CommandLine.ParentCommand; /** * Template command handler for ozone audit parser. @@ -42,7 +43,7 @@ public class TemplateCommandHandler implements Callable { @ParentCommand private AuditParser auditParser; - public Void call() { + public Void call() throws Exception { try { if(DatabaseHelper.validateTemplate(template)) { System.out.println(