This is an automated email from the ASF dual-hosted git repository.

stoty pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/phoenix.git


The following commit(s) were added to refs/heads/master by this push:
     new 95dab00  PHOENIX-5825 Remove PhoenixCanaryTool and CanaryTestResult 
from phoenix repo
95dab00 is described below

commit 95dab00ed285927d4d00fb3c6b31dc376eb40db9
Author: Istvan Toth <st...@apache.org>
AuthorDate: Wed Apr 8 10:49:34 2020 +0200

    PHOENIX-5825 Remove PhoenixCanaryTool and CanaryTestResult from phoenix repo
    
    also
    * remove related tests
    * remove argparse4j dependency
---
 phoenix-core/pom.xml                               |   4 -
 .../org/apache/phoenix/tool/CanaryTestResult.java  |  86 -----
 .../org/apache/phoenix/tool/PhoenixCanaryTool.java | 427 ---------------------
 .../tool/ParameterizedPhoenixCanaryToolIT.java     | 281 --------------
 .../apache/phoenix/tool/PhoenixCanaryToolTest.java |  89 -----
 pom.xml                                            |   6 -
 6 files changed, 893 deletions(-)

diff --git a/phoenix-core/pom.xml b/phoenix-core/pom.xml
index 80063e9..c119213 100644
--- a/phoenix-core/pom.xml
+++ b/phoenix-core/pom.xml
@@ -350,10 +350,6 @@
       <artifactId>antlr-runtime</artifactId>
     </dependency>
     <dependency>
-      <groupId>net.sourceforge.argparse4j</groupId>
-      <artifactId>argparse4j</artifactId>
-    </dependency>
-    <dependency>
       <groupId>com.google.guava</groupId>
       <artifactId>guava</artifactId>
     </dependency>
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/tool/CanaryTestResult.java 
b/phoenix-core/src/main/java/org/apache/phoenix/tool/CanaryTestResult.java
deleted file mode 100644
index b72439c..0000000
--- a/phoenix-core/src/main/java/org/apache/phoenix/tool/CanaryTestResult.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.phoenix.tool;
-
-public class CanaryTestResult {
-
-    private boolean isSuccessful;
-    private long startTime;
-    private long executionTime;
-    private String message;
-    private String testName;
-    private String timestamp;
-    private Object miscellaneous;
-
-    public Object getMiscellaneous() {
-        return miscellaneous;
-    }
-
-    public void setMiscellaneous(Object miscellaneous) {
-        this.miscellaneous = miscellaneous;
-    }
-
-    public long getStartTime() {
-        return startTime;
-    }
-
-    public void setStartTime(long startTime) {
-        this.startTime = startTime;
-    }
-
-    public String getTimestamp() {
-        return timestamp;
-    }
-
-    public void setTimestamp(String timestamp) {
-        this.timestamp = timestamp;
-    }
-
-    public boolean isSuccessful() {
-        return isSuccessful;
-    }
-
-    public void setSuccessful(boolean successful) {
-        isSuccessful = successful;
-    }
-
-    public long getExecutionTime() {
-        return executionTime;
-    }
-
-    public void setExecutionTime(long executionTime) {
-        this.executionTime = executionTime;
-    }
-
-    public String getMessage() {
-        return message;
-    }
-
-    public void setMessage(String message) {
-        this.message = message;
-    }
-
-    public String getTestName() {
-        return testName;
-    }
-
-    public void setTestName(String testName) {
-        this.testName = testName;
-    }
-
-}
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/tool/PhoenixCanaryTool.java 
b/phoenix-core/src/main/java/org/apache/phoenix/tool/PhoenixCanaryTool.java
deleted file mode 100644
index 2310d9f..0000000
--- a/phoenix-core/src/main/java/org/apache/phoenix/tool/PhoenixCanaryTool.java
+++ /dev/null
@@ -1,427 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.phoenix.tool;
-
-import com.google.common.base.Throwables;
-import com.google.common.io.Files;
-import com.google.common.util.concurrent.SimpleTimeLimiter;
-import com.google.gson.Gson;
-import com.google.gson.GsonBuilder;
-import net.sourceforge.argparse4j.ArgumentParsers;
-import net.sourceforge.argparse4j.inf.ArgumentParser;
-import net.sourceforge.argparse4j.inf.ArgumentParserException;
-import net.sourceforge.argparse4j.inf.Namespace;
-import org.apache.hadoop.conf.Configured;
-import org.apache.hadoop.hbase.util.Bytes;
-import org.apache.hadoop.hbase.util.RetryCounter;
-import org.apache.hadoop.util.Tool;
-import org.apache.hadoop.util.ToolRunner;
-import org.apache.phoenix.util.EnvironmentEdgeManager;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.File;
-import java.io.InputStream;
-import java.sql.Connection;
-import java.sql.DriverManager;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.sql.Timestamp;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Properties;
-import java.util.concurrent.Callable;
-import java.util.concurrent.TimeUnit;
-
-/**
- * A Canary Tool to perform synthetic tests for Phoenix
- * It assumes that TEST.PQSTEST or the schema.table passed in the argument
- * is already present as following command
- * CREATE TABLE IF NOT EXISTS TEST.PQSTEST (mykey INTEGER NOT NULL
- * PRIMARY KEY, mycolumn VARCHAR, insert_date TIMESTAMP);
- *
- */
-public class PhoenixCanaryTool extends Configured implements Tool {
-
-    private static String TEST_SCHEMA_NAME = "TEST";
-    private static String TEST_TABLE_NAME = "PQSTEST";
-    private static String FQ_TABLE_NAME = "TEST.PQSTEST";
-    private static Timestamp timestamp;
-    private static final int MAX_CONNECTION_ATTEMPTS = 5;
-    private final int FIRST_TIME_RETRY_TIMEOUT = 5000;
-    private Sink sink = new StdOutSink();
-    public static final String propFileName = 
"phoenix-canary-file-sink.properties";
-
-    /**
-     * Base class for a Canary Test
-     */
-    private abstract static class CanaryTest {
-
-        CanaryTestResult result = new CanaryTestResult();
-
-        Connection connection = null;
-
-        private void onCreate(Connection connection) {
-            result.setTimestamp(getCurrentTimestamp());
-            result.setStartTime(EnvironmentEdgeManager.currentTimeMillis());
-            this.connection = connection;
-        }
-
-        abstract void onExecute() throws Exception;
-
-        private void onExit() {
-            result.setExecutionTime(EnvironmentEdgeManager.currentTimeMillis() 
- 
-                result.getStartTime());
-        }
-
-        CanaryTestResult runTest(Connection connection) {
-            try {
-                onCreate(connection);
-                onExecute();
-                result.setSuccessful(true);
-                result.setMessage("Test " + result.getTestName() + " 
successful");
-            } catch (Exception e) {
-                result.setSuccessful(false);
-                result.setMessage(Throwables.getStackTraceAsString(e));
-            } finally {
-                onExit();
-            }
-            return result;
-        }
-    }
-
-    static class UpsertTableTest extends CanaryTest {
-        void onExecute() throws Exception {
-            result.setTestName("upsertTable");
-            // Insert data
-            timestamp = new 
Timestamp(EnvironmentEdgeManager.currentTimeMillis());
-            String stmt = "UPSERT INTO " + FQ_TABLE_NAME
-                    + "(mykey, mycolumn, insert_date) VALUES (?, ?, ?)";
-            PreparedStatement ps = connection.prepareStatement(stmt);
-            ps.setInt(1, 1);
-            ps.setString(2, "Hello World");
-            ps.setTimestamp(3, timestamp);
-            ps.executeUpdate();
-            connection.commit();
-        }
-    }
-
-    static class ReadTableTest extends CanaryTest {
-        void onExecute() throws Exception {
-            result.setTestName("readTable");
-            PreparedStatement ps = connection.prepareStatement("SELECT * FROM "
-                    + FQ_TABLE_NAME+" WHERE INSERT_DATE = ?");
-            ps.setTimestamp(1,timestamp);
-            ResultSet rs = ps.executeQuery();
-
-            int totalRows = 0;
-            while (rs.next()) {
-                totalRows += 1;
-                Integer myKey = rs.getInt(1);
-                String myColumn = rs.getString(2);
-                if (myKey != 1 || !myColumn.equals("Hello World")) {
-                    throw new Exception("Retrieved values do not " +
-                            "match the inserted values");
-                }
-            }
-            if (totalRows != 1) {
-                throw new Exception(totalRows + " rows fetched instead of just 
one.");
-            }
-            ps.close();
-            rs.close();
-        }
-    }
-
-    /**
-     * Sink interface used by the canary to output information
-     */
-    public interface Sink {
-        List<CanaryTestResult> getResults();
-
-        void updateResults(CanaryTestResult result);
-
-        void publishResults() throws Exception;
-
-        void clearResults();
-    }
-
-    public static class StdOutSink implements Sink {
-        private List<CanaryTestResult> results = new ArrayList<>();
-
-        @Override
-        public void updateResults(CanaryTestResult result) {
-            results.add(result);
-        }
-
-        @Override
-        public List<CanaryTestResult> getResults() {
-            return results;
-        }
-
-        @Override
-        public void publishResults() {
-
-            Gson gson = new GsonBuilder().setPrettyPrinting().create();
-            String resultJson = gson.toJson(results);
-            System.out.println(resultJson);
-        }
-
-        @Override
-        public void clearResults() {
-            results.clear();
-        }
-    }
-
-    /**
-     * Implementation of File Out Sink
-     */
-    public static class FileOutSink implements Sink {
-        private List<CanaryTestResult> results = new ArrayList<>();
-        File dir;
-        String logfileName;
-
-        public FileOutSink() throws Exception {
-            Properties prop = new Properties();
-            InputStream input = 
ClassLoader.getSystemResourceAsStream(propFileName);
-            if (input == null) {
-                throw new Exception("Cannot load " + propFileName + " file for 
" + "FileOutSink.");
-            }
-            prop.load(input);
-            logfileName = prop.getProperty("file.name");
-            dir = new File(prop.getProperty("file.location"));
-            dir.mkdirs();
-        }
-
-        @Override
-        public void updateResults(CanaryTestResult result) {
-            results.add(result);
-        }
-
-        @Override
-        public List<CanaryTestResult> getResults() {
-            return results;
-        }
-
-        @Override
-        public void publishResults() throws Exception {
-            Gson gson = new GsonBuilder().setPrettyPrinting().create();
-            String resultJson = gson.toJson(results);
-            String fileName = logfileName + "-" + new 
SimpleDateFormat("yyyy.MM.dd.HH" + ".mm" +
-                    ".ss").format(new Date()) + ".log";
-            File file = new File(dir, fileName);
-            Files.write(Bytes.toBytes(resultJson), file);
-        }
-
-        @Override
-        public void clearResults() {
-            results.clear();
-        }
-    }
-
-    private static final Logger LOGGER = 
LoggerFactory.getLogger(PhoenixCanaryTool.class);
-
-    private static String getCurrentTimestamp() {
-        return new SimpleDateFormat("yyyy.MM.dd.HH.mm.ss.ms").format(new 
Date());
-    }
-
-    private static Namespace parseArgs(String[] args) {
-
-        ArgumentParser parser = ArgumentParsers.newFor("Phoenix Canary Test 
Tool").build()
-                .description("Phoenix Canary Test Tool");
-
-        parser.addArgument("--hostname", 
"-hn").type(String.class).nargs("?").help("Hostname on "
-                + "which Phoenix is running.");
-
-        parser.addArgument("--port", 
"-p").type(String.class).nargs("?").help("Port on " +
-                "which Phoenix is running.");
-
-        parser.addArgument("--constring", 
"-cs").type(String.class).nargs("?").help("Pass an " +
-                "explicit connection String to connect to Phoenix. " +
-                "default: 
jdbc:phoenix:thin:serialization=PROTOBUF;url=[hostName:port]");
-
-        parser.addArgument("--timeout", 
"-t").type(String.class).nargs("?").setDefault("60").help
-                ("Maximum time for which the app should run before returning 
error. default:" + "" +
-                        " 60 sec");
-
-        parser.addArgument("--testschema", 
"-ts").type(String.class).nargs("?").setDefault
-                (TEST_SCHEMA_NAME).help("Custom name for the test table. " + 
"default: " +
-                TEST_SCHEMA_NAME);
-
-        parser.addArgument("--testtable", 
"-tt").type(String.class).nargs("?").setDefault
-                (TEST_TABLE_NAME).help("Custom name for the test table." + " 
default: " +
-                TEST_TABLE_NAME);
-
-        parser.addArgument("--logsinkclass", 
"-lsc").type(String.class).nargs("?").setDefault
-                ("org.apache.phoenix.tool.PhoenixCanaryTool$StdOutSink").help
-                ("Path to a Custom implementation for log sink class. default: 
stdout");
-
-        Namespace res = null;
-        try {
-            res = parser.parseKnownArgs(args, null);
-        } catch (ArgumentParserException e) {
-            parser.handleError(e);
-        }
-        return res;
-    }
-
-    private CanaryTestResult appInfo = new CanaryTestResult();
-    private Connection connection = null;
-
-    @Override
-    public int run(String[] args) throws Exception {
-
-        try {
-            Namespace cArgs = parseArgs(args);
-            if (cArgs == null) {
-                LOGGER.error("Argument parsing failed.");
-                throw new RuntimeException("Argument parsing failed");
-            }
-
-            final String hostName = cArgs.getString("hostname");
-            final String port = cArgs.getString("port");
-            final String timeout = cArgs.getString("timeout");
-            final String conString = cArgs.getString("constring");
-            final String testSchemaName = cArgs.getString("testschema");
-            final String testTableName = cArgs.getString("testtable");
-            final String logSinkClass = cArgs.getString("logsinkclass");
-
-            TEST_TABLE_NAME = testTableName;
-            TEST_SCHEMA_NAME = testSchemaName;
-            FQ_TABLE_NAME = testSchemaName + "." + testTableName;
-
-            // Check if at least one from host+port or con string is provided.
-            if ((hostName == null || port == null) && conString == null) {
-                throw new RuntimeException("Provide at least one from 
host+port or constring");
-            }
-
-            int timeoutVal = Integer.parseInt(timeout);
-
-            // Dynamically load a class for sink
-            sink = (Sink) 
ClassLoader.getSystemClassLoader().loadClass(logSinkClass).newInstance();
-
-            long startTime = EnvironmentEdgeManager.currentTimeMillis();
-
-            String connectionURL = (conString != null) ? conString :
-                    "jdbc:phoenix:thin:serialization=PROTOBUF;url=" + hostName 
+ ":" + port;
-
-            appInfo.setTestName("appInfo");
-            appInfo.setMiscellaneous(connectionURL);
-
-            connection = getConnectionWithRetry(connectionURL);
-
-            if (connection == null) {
-                LOGGER.error("Failed to get connection after multiple retries; 
the connection is null");
-            }
-
-            SimpleTimeLimiter limiter = new SimpleTimeLimiter();
-
-            limiter.callWithTimeout(new Callable<Void>() {
-
-                public Void call() {
-
-                    sink.clearResults();
-
-                    // Execute tests
-                    LOGGER.info("Starting UpsertTableTest");
-                    sink.updateResults(new 
UpsertTableTest().runTest(connection));
-
-                    LOGGER.info("Starting ReadTableTest");
-                    sink.updateResults(new 
ReadTableTest().runTest(connection));
-                    return null;
-
-                }
-            }, timeoutVal, TimeUnit.SECONDS, true);
-
-            long estimatedTime = EnvironmentEdgeManager.currentTimeMillis() - 
startTime;
-
-            appInfo.setExecutionTime(estimatedTime);
-            appInfo.setSuccessful(true);
-
-        } catch (Exception e) {
-            LOGGER.error(Throwables.getStackTraceAsString(e));
-            appInfo.setMessage(Throwables.getStackTraceAsString(e));
-            appInfo.setSuccessful(false);
-
-        } finally {
-            sink.updateResults(appInfo);
-            sink.publishResults();
-            connection.close();
-        }
-
-        return 0;
-    }
-
-    private Connection getConnectionWithRetry(String connectionURL) {
-        Connection connection=null;
-        try{
-            connection = getConnectionWithRetry(connectionURL, true);
-        } catch (Exception e) {
-            LOGGER.info("Failed to get connection with namespace enabled", e);
-            try {
-                connection = getConnectionWithRetry(connectionURL, false);
-            } catch (Exception ex) {
-                LOGGER.info("Failed to get connection without namespace 
enabled", ex);
-            }
-        }
-        return connection;
-    }
-
-    private Connection getConnectionWithRetry(String connectionURL, boolean 
namespaceFlag)
-        throws Exception {
-        Properties connProps = new Properties();
-        Connection connection = null;
-
-        connProps.setProperty("phoenix.schema.mapSystemTablesToNamespace", 
String.valueOf(namespaceFlag));
-        connProps.setProperty("phoenix.schema.isNamespaceMappingEnabled", 
String.valueOf(namespaceFlag));
-
-        RetryCounter retrier = new RetryCounter(MAX_CONNECTION_ATTEMPTS,
-                FIRST_TIME_RETRY_TIMEOUT, TimeUnit.MILLISECONDS);
-        LOGGER.info("Trying to get the connection with "
-                + retrier.getMaxAttempts() + " attempts with "
-                + "connectionURL :" + connectionURL
-                + "connProps :" + connProps);
-        while (retrier.shouldRetry()) {
-            try {
-                connection = DriverManager.getConnection(connectionURL, 
connProps);
-            } catch (SQLException e) {
-                LOGGER.info("Trying to establish connection with "
-                        + retrier.getAttemptTimes() + " attempts", e);
-            }
-            if (connection != null) {
-                LOGGER.info("Successfully established connection within "
-                        + retrier.getAttemptTimes() + " attempts");
-                break;
-            }
-            retrier.sleepUntilNextRetry();
-        }
-        return connection;
-    }
-
-    public static void main(final String[] args) {
-        try {
-            LOGGER.info("Starting Phoenix Canary Test tool...");
-            ToolRunner.run(new PhoenixCanaryTool(), args);
-        } catch (Exception e) {
-            LOGGER.error("Error in running Phoenix Canary Test tool. " + e);
-        }
-        LOGGER.info("Exiting Phoenix Canary Test tool...");
-    }
-}
diff --git 
a/phoenix-core/src/test/java/org/apache/phoenix/tool/ParameterizedPhoenixCanaryToolIT.java
 
b/phoenix-core/src/test/java/org/apache/phoenix/tool/ParameterizedPhoenixCanaryToolIT.java
deleted file mode 100644
index 815cf67..0000000
--- 
a/phoenix-core/src/test/java/org/apache/phoenix/tool/ParameterizedPhoenixCanaryToolIT.java
+++ /dev/null
@@ -1,281 +0,0 @@
-/*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements.  See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership.  The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License.  You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-package org.apache.phoenix.tool;
-
-import com.google.common.collect.Maps;
-import com.google.gson.Gson;
-
-import org.apache.phoenix.end2end.NeedsOwnMiniClusterTest;
-import org.apache.phoenix.query.BaseTest;
-import org.apache.phoenix.query.QueryServices;
-import org.apache.phoenix.util.ReadOnlyProps;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.FileReader;
-import java.io.FilenameFilter;
-import java.io.IOException;
-import java.io.InputStream;
-import java.sql.Connection;
-import java.sql.DriverManager;
-import java.sql.SQLException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-
-import static org.apache.phoenix.tool.PhoenixCanaryTool.propFileName;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-@RunWith(Parameterized.class)
-@Category(NeedsOwnMiniClusterTest.class)
-public class ParameterizedPhoenixCanaryToolIT extends BaseTest {
-
-       private static final Logger LOGGER =
-                       
LoggerFactory.getLogger(ParameterizedPhoenixCanaryToolIT.class);
-       private static final String stdOutSink
-                       = 
"org.apache.phoenix.tool.PhoenixCanaryTool$StdOutSink";
-       private static final String fileOutSink
-                       = 
"org.apache.phoenix.tool.PhoenixCanaryTool$FileOutSink";
-
-       private static Map<String, String> serverProps = 
Maps.newHashMapWithExpectedSize(2);
-       private static Map<String, String> clientProps = 
Maps.newHashMapWithExpectedSize(2);
-       private static String connString = "";
-       private static Properties canaryProp = new Properties();
-       private static Connection connection = null;
-       private boolean isNamespaceEnabled;
-       private boolean isPositiveTestType;
-       private List<String> cmd = new ArrayList<>();
-       private String resultSinkOption;
-       private ByteArrayOutputStream out = new ByteArrayOutputStream();
-
-       public ParameterizedPhoenixCanaryToolIT(boolean isPositiveTestType,
-                       boolean isNamespaceEnabled, String resultSinkOption) {
-               this.isPositiveTestType = isPositiveTestType;
-               this.isNamespaceEnabled = isNamespaceEnabled;
-               this.resultSinkOption = resultSinkOption;
-       }
-
-       @Parameterized.Parameters(name = 
"ParameterizedPhoenixCanaryToolIT_isPositiveTestType={0}," +
-                       "isNamespaceEnabled={1},resultSinkOption={2}")
-       public static Collection parametersList() {
-               return Arrays.asList(new Object[][] {
-                       {true, true, stdOutSink},
-                       {true, true, fileOutSink},
-                       {false, true, stdOutSink},
-                       {false, true, fileOutSink},
-                       {true, false, stdOutSink},
-                       {true, false, fileOutSink},
-                       {false, false, stdOutSink},
-                       {false, false, fileOutSink}
-               });
-       }
-
-       @Before
-       public void setup() throws Exception {
-               String createSchema;
-               String createTable;
-
-               if(needsNewCluster()) {
-                       setClientSideNamespaceProperties();
-                       setServerSideNamespaceProperties();
-                       tearDownMiniClusterAsync(1);
-                       setUpTestDriver(new 
ReadOnlyProps(serverProps.entrySet().iterator()),
-                                       new 
ReadOnlyProps(clientProps.entrySet().iterator()));
-                       LOGGER.info("New cluster is spinned up with test 
parameters " +
-                                       "isPositiveTestType" + 
this.isPositiveTestType +
-                                       "isNamespaceEnabled" + 
this.isNamespaceEnabled +
-                                       "resultSinkOption" + 
this.resultSinkOption);
-                       connString = BaseTest.getUrl();
-                       connection = getConnection();
-               }
-
-               if (this.isNamespaceEnabled) {
-                       createSchema = "CREATE SCHEMA IF NOT EXISTS TEST";
-                       connection.createStatement().execute(createSchema);
-               }
-               createTable = "CREATE TABLE IF NOT EXISTS TEST.PQSTEST " +
-                                               "(mykey INTEGER NOT NULL 
PRIMARY KEY, mycolumn VARCHAR," +
-                                               " insert_date TIMESTAMP)";
-               connection.createStatement().execute(createTable);
-               cmd.add("--constring");
-               cmd.add(connString);
-               cmd.add("--logsinkclass");
-               cmd.add(this.resultSinkOption);
-               if (this.resultSinkOption.contains(stdOutSink)) {
-                       System.setOut(new java.io.PrintStream(out));
-               } else {
-                       loadCanaryPropertiesFile(canaryProp);
-               }
-       }
-
-       private boolean needsNewCluster() {
-               if (connection == null) {
-                       return true;
-               }
-               if 
(!clientProps.get(QueryServices.IS_SYSTEM_TABLE_MAPPED_TO_NAMESPACE)
-                               
.equalsIgnoreCase(String.valueOf(this.isNamespaceEnabled))) {
-                       return true;
-               }
-               return false;
-       }
-
-       private void setClientSideNamespaceProperties() {
-
-               
clientProps.put(QueryServices.IS_SYSTEM_TABLE_MAPPED_TO_NAMESPACE,
-                               String.valueOf(this.isNamespaceEnabled));
-
-               clientProps.put(QueryServices.IS_NAMESPACE_MAPPING_ENABLED,
-                               String.valueOf(this.isNamespaceEnabled));
-       }
-
-       private Connection getConnection() throws SQLException {
-               Properties props = new Properties();
-               
props.setProperty(QueryServices.IS_SYSTEM_TABLE_MAPPED_TO_NAMESPACE,
-                               String.valueOf(this.isNamespaceEnabled));
-
-               props.setProperty(QueryServices.IS_NAMESPACE_MAPPING_ENABLED,
-                               String.valueOf(this.isNamespaceEnabled));
-               return DriverManager.getConnection(connString, props);
-       }
-
-       void setServerSideNamespaceProperties() {
-               serverProps.put(QueryServices.IS_NAMESPACE_MAPPING_ENABLED,
-                               String.valueOf(this.isNamespaceEnabled));
-               
serverProps.put(QueryServices.IS_SYSTEM_TABLE_MAPPED_TO_NAMESPACE,
-                               String.valueOf(this.isNamespaceEnabled));
-       }
-
-       /*
-       *       This test runs in the test suit with
-       *       combination of parameters provided.
-       *       It tests the tool in positive type where test expects to pass
-       *       and negative type where test expects to fail.
-       */
-       @Test
-       public void phoenixCanaryToolTest() throws SQLException, IOException {
-               if (!isPositiveTestType) {
-                       dropTestTable();
-               }
-               PhoenixCanaryTool.main(cmd.toArray(new String[cmd.size()]));
-               Boolean result = getAggregatedResult();
-               if (isPositiveTestType) {
-                       assertTrue(result);
-               } else {
-                       assertFalse(result);
-               }
-       }
-
-       private Boolean getAggregatedResult() throws IOException {
-               HashMap<String, Boolean> resultsMap;
-               Boolean result = true;
-               resultsMap = parsePublishedResults();
-               for (Boolean b : resultsMap.values()) {
-                       result = result && b;
-               }
-               return result;
-       }
-
-       private HashMap<String, Boolean> parsePublishedResults() throws 
IOException {
-               Gson parser = new Gson();
-               CanaryTestResult[] results;
-               HashMap<String, Boolean> resultsMap = new HashMap<>();
-
-               if (this.resultSinkOption.contains(fileOutSink)) {
-                       File resultFile = getTestResultsFile();
-                       results = parser.fromJson(new FileReader(resultFile),
-                                       CanaryTestResult[].class);
-               } else {
-                       String result = out.toString();
-                       results = parser.fromJson(result, 
CanaryTestResult[].class);
-               }
-               for (CanaryTestResult r : results) {
-                       resultsMap.put(r.getTestName(), r.isSuccessful());
-               }
-               return resultsMap;
-       }
-
-       private File getTestResultsFile() {
-               File[] files = getLogFileList();
-               return files[0];
-       }
-
-       @After
-       public void teardown() throws SQLException {
-               if (this.isNamespaceEnabled) {
-                       dropTestTableAndSchema();
-               } else {
-                       dropTestTable();
-               }
-               if (this.resultSinkOption.contains(fileOutSink)) {
-                       deleteResultSinkFile();
-               }
-       }
-
-       private void deleteResultSinkFile() {
-               File[] files = getLogFileList();
-               for (final File file : files) {
-                       if (!file.delete()) {
-                               System.err.println("Can't remove " + 
file.getAbsolutePath());
-                       }
-               }
-       }
-
-       private File[] getLogFileList() {
-               File dir = new File(canaryProp.getProperty("file.location"));
-               return dir.listFiles(new FilenameFilter() {
-                       @Override
-                       public boolean accept(File dir, String name) {
-                               return name.endsWith(".log");
-                       }
-               });
-       }
-
-       private void loadCanaryPropertiesFile(Properties prop) {
-               InputStream input = 
ClassLoader.getSystemResourceAsStream(propFileName);
-               try {
-                       prop.load(input);
-               } catch (IOException e) {
-                       e.printStackTrace();
-               }
-       }
-
-       private void dropTestTable() throws SQLException {
-               String dropTable = "DROP TABLE IF EXISTS TEST.PQSTEST";
-               connection.createStatement().execute(dropTable);
-       }
-
-       private void dropTestTableAndSchema() throws SQLException {
-               dropTestTable();
-               String dropSchema = "DROP SCHEMA IF EXISTS TEST";
-               connection.createStatement().execute(dropSchema);
-       }
-
-}
diff --git 
a/phoenix-core/src/test/java/org/apache/phoenix/tool/PhoenixCanaryToolTest.java 
b/phoenix-core/src/test/java/org/apache/phoenix/tool/PhoenixCanaryToolTest.java
deleted file mode 100644
index 94229c2..0000000
--- 
a/phoenix-core/src/test/java/org/apache/phoenix/tool/PhoenixCanaryToolTest.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.phoenix.tool;
-
-import static org.junit.Assert.assertEquals;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.mockito.Mock;
-import org.mockito.Mockito;
-import static org.mockito.Mockito.when;
-import org.mockito.MockitoAnnotations;
-import java.sql.Connection;
-import java.sql.DatabaseMetaData;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.Statement;
-
-public class PhoenixCanaryToolTest {
-
-    @Mock
-    private Connection connection;
-
-    @Mock
-    private Statement statement;
-
-    @Mock
-    private PreparedStatement ps;
-
-    @Mock
-    private ResultSet rs;
-
-    @Mock
-    private DatabaseMetaData dbm;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-    }
-
-    @Test
-    public void upsertTableTest() throws Exception {
-        when(connection.createStatement()).thenReturn(statement);
-        when(connection.prepareStatement(Mockito.anyString())).thenReturn(ps);
-        when(statement.executeUpdate(Mockito.anyString())).thenReturn(1);
-        CanaryTestResult result = new 
PhoenixCanaryTool.UpsertTableTest().runTest(connection);
-        assertEquals(true, result.isSuccessful());
-        assertEquals("Test upsertTable successful", result.getMessage());
-    }
-
-    @Test
-    public void readTableTest() throws Exception {
-        when(connection.prepareStatement(Mockito.anyString())).thenReturn(ps);
-        when(ps.executeQuery()).thenReturn(rs);
-        when(rs.next()).thenReturn(true).thenReturn(false);
-        when(rs.getInt(1)).thenReturn(1);
-        when(rs.getString(2)).thenReturn("Hello World");
-        CanaryTestResult result = new 
PhoenixCanaryTool.ReadTableTest().runTest(connection);
-        assertEquals(true, result.isSuccessful());
-        assertEquals("Test readTable successful", result.getMessage());
-    }
-
-    @Test
-    public void failTest() throws Exception {
-        when(connection.prepareStatement(Mockito.anyString())).thenReturn(ps);
-        when(ps.executeQuery()).thenReturn(rs);
-        when(rs.getInt(1)).thenReturn(3);
-        when(rs.getString(2)).thenReturn("Incorrect data");
-        when(rs.next()).thenReturn(true).thenReturn(false);
-        CanaryTestResult result = new 
PhoenixCanaryTool.ReadTableTest().runTest(connection);
-        assertEquals(false, result.isSuccessful());
-        assert (result.getMessage().contains("Retrieved values do not match 
the inserted values"));
-    }
-}
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 36543e6..8d0c1ee 100644
--- a/pom.xml
+++ b/pom.xml
@@ -92,7 +92,6 @@
     <commons-cli.version>1.4</commons-cli.version>
     <jackson.version>2.10.3</jackson.version>
     <antlr.version>3.5.2</antlr.version>
-    <argparse4j.version>0.8.1</argparse4j.version>
     <log4j.version>1.2.17</log4j.version>
     <disruptor.version>3.3.6</disruptor.version>
     <slf4j.version>1.6.4</slf4j.version>
@@ -1189,11 +1188,6 @@
         <version>${antlr.version}</version>
       </dependency>
       <dependency>
-        <groupId>net.sourceforge.argparse4j</groupId>
-        <artifactId>argparse4j</artifactId>
-        <version>${argparse4j.version}</version>
-      </dependency>
-      <dependency>
         <groupId>com.google.guava</groupId>
         <artifactId>guava</artifactId>
         <version>${guava.version}</version>

Reply via email to