From a660644ff0adf5d5d3aec430feeeb6d848a799e5 Mon Sep 17 00:00:00 2001 From: "Tschaen, Brendan" Date: Wed, 3 Apr 2019 16:32:33 -0400 Subject: Remove benchmarks Will be moved elsewhere Issue-ID: MUSIC-376 Change-Id: Ieee0ff444e79c71443ff396b69b6a6c113e8ca7e Signed-off-by: Tschaen, Brendan --- mdbc-benchmark/pom.xml | 305 ---------------- .../java/org/onap/music/mdbc/BenchmarkUtils.java | 245 ------------- .../java/org/onap/music/mdbc/MetricBenchmark.java | 141 -------- .../org/onap/music/mdbc/MetricCommitBenchmark.java | 141 -------- .../onap/music/mdbc/MetricStatementBenchmark.java | 144 -------- mdbc-benchmark/src/main/resources/logback.xml | 369 -------------------- mdbc-internal-benchmark/pom.xml | 193 ----------- .../music/mdbc/MetricAddTxDigestBenchmark.java | 143 -------- .../org/onap/music/mdbc/MetricCommitBenchmark.java | 137 -------- .../mdbc/MetricIsolatedMixinCommBenchmark.java | 151 -------- .../org/onap/music/mdbc/MetricOwnBenchmark.java | 142 -------- .../onap/music/mdbc/MetricPeekLockBenchmark.java | 151 -------- .../onap/music/mdbc/MetricRedoLogBenchmark.java | 130 ------- .../onap/music/mdbc/MetricThreadJoinBenchmark.java | 197 ----------- .../main/java/org/onap/music/mdbc/OwnUtils.java | 383 --------------------- .../src/main/resources/logback.xml | 369 -------------------- .../src/main/resources/mdbc.properties | 13 - .../src/main/resources/music.properties | 8 - .../onap/music/mdbc/examples/MdbcTestClient.java | 2 +- pom.xml | 2 - 20 files changed, 1 insertion(+), 3365 deletions(-) delete mode 100644 mdbc-benchmark/pom.xml delete mode 100644 mdbc-benchmark/src/main/java/org/onap/music/mdbc/BenchmarkUtils.java delete mode 100644 mdbc-benchmark/src/main/java/org/onap/music/mdbc/MetricBenchmark.java delete mode 100644 mdbc-benchmark/src/main/java/org/onap/music/mdbc/MetricCommitBenchmark.java delete mode 100644 mdbc-benchmark/src/main/java/org/onap/music/mdbc/MetricStatementBenchmark.java delete mode 100755 mdbc-benchmark/src/main/resources/logback.xml delete mode 100644 mdbc-internal-benchmark/pom.xml delete mode 100644 mdbc-internal-benchmark/src/main/java/org/onap/music/mdbc/MetricAddTxDigestBenchmark.java delete mode 100644 mdbc-internal-benchmark/src/main/java/org/onap/music/mdbc/MetricCommitBenchmark.java delete mode 100644 mdbc-internal-benchmark/src/main/java/org/onap/music/mdbc/MetricIsolatedMixinCommBenchmark.java delete mode 100644 mdbc-internal-benchmark/src/main/java/org/onap/music/mdbc/MetricOwnBenchmark.java delete mode 100644 mdbc-internal-benchmark/src/main/java/org/onap/music/mdbc/MetricPeekLockBenchmark.java delete mode 100644 mdbc-internal-benchmark/src/main/java/org/onap/music/mdbc/MetricRedoLogBenchmark.java delete mode 100644 mdbc-internal-benchmark/src/main/java/org/onap/music/mdbc/MetricThreadJoinBenchmark.java delete mode 100644 mdbc-internal-benchmark/src/main/java/org/onap/music/mdbc/OwnUtils.java delete mode 100755 mdbc-internal-benchmark/src/main/resources/logback.xml delete mode 100755 mdbc-internal-benchmark/src/main/resources/mdbc.properties delete mode 100755 mdbc-internal-benchmark/src/main/resources/music.properties diff --git a/mdbc-benchmark/pom.xml b/mdbc-benchmark/pom.xml deleted file mode 100644 index a12e4a2..0000000 --- a/mdbc-benchmark/pom.xml +++ /dev/null @@ -1,305 +0,0 @@ - - - - mdbc - org.onap.music.mdbc - 0.0.1-SNAPSHOT - - 4.0.0 - - mdbc-benchmark - 0.0.1-SNAPSHOT - mdbc-benchmark - MDBC Benchmark - jar - - - - org.json - json - 20160810 - - - org.openjdk.jmh - jmh-core - ${jmh.version} - - - org.openjdk.jmh - jmh-generator-annprocess - ${jmh.version} - provided - - - com.att.eelf - eelf-core - 1.0.0 - - - org.apache.calcite.avatica - avatica-server - 1.12.0 - - - com.google.code.gson - gson - 2.8.5 - - - org.mariadb.jdbc - mariadb-java-client - 1.1.7 - - - postgresql - postgresql - 9.1-901-1.jdbc4 - - - com.datastax.cassandra - cassandra-driver-core - 3.3.0 - - - com.google.guava - guava - 19.0 - - - - - org.eclipse.jetty - jetty-http - 9.2.19.v20160908 - - - - - org.eclipse.jetty - jetty-server - 9.2.19.v20160908 - - - - org.eclipse.jetty - jetty-security - 9.2.19.v20160908 - - - - org.eclipse.jetty - jetty-util - 9.2.19.v20160908 - - - org.apache.commons - commons-lang3 - 3.7 - - - - net.jpountz.lz4 - lz4 - 1.3.0 - - - org.xerial.snappy - snappy-java - 1.1.2.6 - - - com.github.jsqlparser - jsqlparser - 1.1 - - - ch.qos.logback - logback-core - 1.2.3 - - - - - javax.servlet - servlet-api - 2.5 - provided - - - - org.apache.calcite.avatica - avatica-server - 1.12.0 - - - - org.apache.calcite - calcite-plus - 1.12.0 - - - com.beust - jcommander - 1.72 - - - com.google.code.gson - gson - 2.8.5 - - - io.netty - netty-handler - 4.1.30.Final - - - - com.google.protobuf - protobuf-java - 3.6.1 - - - - - UTF-8 - - - 1.21 - - - 1.8 - - - - benchmarks - - - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.1 - - ${javac.target} - ${javac.target} - ${javac.target} - - - - org.apache.maven.plugins - maven-shade-plugin - 2.2 - - - package - - shade - - - ${uberjar.name} - - - org.openjdk.jmh.Main - - - - - - *:* - - META-INF/*.SF - META-INF/*.DSA - META-INF/*.RSA - - - - - - - - - - - - maven-clean-plugin - 2.5 - - - maven-deploy-plugin - 2.8.1 - - - maven-install-plugin - 2.5.1 - - - maven-jar-plugin - 2.4 - - - maven-javadoc-plugin - 2.9.1 - - - maven-resources-plugin - 2.6 - - - maven-site-plugin - 3.3 - - - maven-source-plugin - 2.2.1 - - - maven-surefire-plugin - 2.17 - - - - - diff --git a/mdbc-benchmark/src/main/java/org/onap/music/mdbc/BenchmarkUtils.java b/mdbc-benchmark/src/main/java/org/onap/music/mdbc/BenchmarkUtils.java deleted file mode 100644 index 06f2a95..0000000 --- a/mdbc-benchmark/src/main/java/org/onap/music/mdbc/BenchmarkUtils.java +++ /dev/null @@ -1,245 +0,0 @@ -/* - * ============LICENSE_START==================================================== - * org.onap.music.mdbc - * ============================================================================= - * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. - * ============================================================================= - * Licensed 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. - * ============LICENSE_END====================================================== - */ -package org.onap.music.mdbc; - -import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.SQLException; -import java.sql.Statement; -import java.util.Properties; - -public class BenchmarkUtils { - public static final String driver = "org.apache.calcite.avatica.remote.Driver"; - public static final String mariaDriver = "org.mariadb.jdbc.Driver"; - public static final String postgresDriver = "org.postgresql.Driver"; - public static String TABLE; - public static String updateBuilder; - - public enum ExecutionType { - MARIA_DB, COCKROACH_DB, METRIC,POSTGRES - } - - public static void SetupTable(String table){ - TABLE=table; - updateBuilder = new StringBuilder() - .append("UPDATE ") - .append(table) - .append(" SET Counter = Counter + 1,") - .append("City = 'Sandy Springs'") - .append(";").toString(); - } - - public static void setupCreateTables(Connection connection){ - createTable(connection); - try { - connection.close(); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - } - - public static void setupCreateRows(Connection testConnection, int rows){ - //Empty database - boolean cleanResult = BenchmarkUtils.cleanTable(testConnection); - //Add new lines - BenchmarkUtils.addRowsToTable(Integer.valueOf(rows),testConnection); - - //Commit - try { - testConnection.commit(); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - } - - public static Connection getConnection(String ip, ExecutionType type, String user, String password) { - final String connectionUrl = "jdbc:avatica:remote:url=http://" + ip + ":30000;serialization=protobuf"; - final String mariaConnectionUrl = "jdbc:mariadb://" + ip + ":3306/test"; - final String cockroachUrl = "jdbc:postgresql://" + ip + ":26257/test"; - final String postgresUrl = "jdbc:postgresql://" + ip + ":5432/test"; - - try { - switch (type) { - case MARIA_DB: - Class.forName(mariaDriver); - break; - case METRIC: - Class.forName(driver); - break; - case COCKROACH_DB: - case POSTGRES: - Class.forName(postgresDriver); - break; - } - } catch (ClassNotFoundException e) { - e.printStackTrace(); - System.exit(1); - } - Connection connection = null; - try { - if (type == ExecutionType.METRIC) { - connection = DriverManager.getConnection(connectionUrl); - } else { - Properties connectionProps = new Properties(); - connectionProps.put("user", user); - if (type == ExecutionType.COCKROACH_DB) { - connectionProps.setProperty("sslmode", "disable"); - } else { - connectionProps.put("password", password); - } - final String url = (type == ExecutionType.MARIA_DB) ? mariaConnectionUrl : - (type == ExecutionType.COCKROACH_DB)?cockroachUrl:postgresUrl; - connection = DriverManager.getConnection(url, connectionProps); - } - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - try { - connection.setAutoCommit(false); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - return connection; - } - - public static void createTable(Connection connection) { - final String sql = "CREATE TABLE IF NOT EXISTS "+TABLE+" (\n" + - " PersonID int,\n" + - " Counter int,\n" + - " LastName varchar(255),\n" + - " FirstName varchar(255),\n" + - " Address varchar(255),\n" + - " City varchar(255),\n" + - " PRIMARY KEY(PersonID)"+ - ");"; - - Statement stmt = null; - try { - stmt = connection.createStatement(); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - - Boolean execute = null; - try { - execute = stmt.execute(sql); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - - try { - connection.commit(); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - - try { - stmt.close(); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - } - - public static boolean cleanTable(Connection testConnection) { - String cleanCmd = "DELETE FROM "+TABLE+";"; - Statement stmt = null; - try { - stmt = testConnection.createStatement(); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - - Boolean execute = null; - try { - execute = stmt.execute(cleanCmd); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - try { - testConnection.commit(); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - try { - stmt.close(); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - return execute; - } - - public static void addRowsToTable(int totalNumberOfRows, Connection testConnection) { - for (int i = 0; i < totalNumberOfRows; i++) { - final StringBuilder insertSQLBuilder = new StringBuilder() - .append("INSERT INTO "+TABLE+" VALUES (") - .append(i) - .append(", ") - .append(0) - .append(", '") - .append("Last-") - .append(i) - .append("', '") - .append("First-") - .append(i) - .append("', 'KACB', 'ATLANTA');"); - Statement stmt = null; - try { - stmt = testConnection.createStatement(); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - - Boolean execute = null; - try { - execute = stmt.execute(insertSQLBuilder.toString()); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - try { - stmt.close(); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - } - try { - testConnection.commit(); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - } - - -} diff --git a/mdbc-benchmark/src/main/java/org/onap/music/mdbc/MetricBenchmark.java b/mdbc-benchmark/src/main/java/org/onap/music/mdbc/MetricBenchmark.java deleted file mode 100644 index 19db6f4..0000000 --- a/mdbc-benchmark/src/main/java/org/onap/music/mdbc/MetricBenchmark.java +++ /dev/null @@ -1,141 +0,0 @@ -/* - * ============LICENSE_START==================================================== - * org.onap.music.mdbc - * ============================================================================= - * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. - * ============================================================================= - * Licensed 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. - * ============LICENSE_END====================================================== - */ -package org.onap.music.mdbc; - -import static org.onap.music.mdbc.BenchmarkUtils.setupCreateRows; -import static org.onap.music.mdbc.BenchmarkUtils.setupCreateTables; - -import org.onap.music.mdbc.BenchmarkUtils.ExecutionType; -import org.openjdk.jmh.annotations.*; -import org.openjdk.jmh.infra.Blackhole; -import org.openjdk.jmh.runner.Runner; -import org.openjdk.jmh.runner.RunnerException; -import org.openjdk.jmh.runner.options.Options; -import org.openjdk.jmh.runner.options.OptionsBuilder; - -import java.sql.Connection; -import java.sql.SQLException; -import java.sql.Statement; -import java.util.concurrent.TimeUnit; - -@BenchmarkMode({Mode.AverageTime, Mode.SampleTime}) -@OutputTimeUnit(TimeUnit.MILLISECONDS) -@State(Scope.Benchmark) -public class MetricBenchmark { - - public static void main(String[] args) throws RunnerException { - Options opt = new OptionsBuilder() - .include(MetricBenchmark.class.getSimpleName()) - .param("type", ExecutionType.METRIC.name()) - .forks(0) - .threads(1) - .build(); - new Runner(opt).run(); - } - - @Benchmark - public boolean testMethod(MyState state, Blackhole blackhole) { - Statement stmt = null; - try { - stmt = state.testConnection.createStatement(); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - - Boolean execute = null; - try { - execute = stmt.execute(state.update); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - try { - //TODO: check if state need to be consumed by blackhole to guarantee execution - state.testConnection.commit(); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - try { - stmt.close(); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - blackhole.consume(execute); - return execute; - } - - - @State(Scope.Benchmark) - public static class MyState { - public String update; - public final String driver = "org.apache.calcite.avatica.remote.Driver"; - public final String mariaDriver = "org.mariadb.jdbc.Driver"; - public final String cockroachDriver = "org.postgresql.Driver"; - final String user = "root"; - final String password = "metriccluster"; - @Param({"104.209.240.219"}) - public String ip; - @Param({"PERSONS"}) - public String table; - @Param({"1", "10", "50", "80", "100", "200", "300", "400"}) - public int rows; - @Param({"MARIA_DB", "COCKROACH_DB", "METRIC", "POSTGRES"}) - public ExecutionType type; - - public Connection testConnection; - - - private Connection createConnection() { - return BenchmarkUtils.getConnection(ip,type,user,password); - } - - @Setup(Level.Trial) - public void doTrialSetup(){ - BenchmarkUtils.SetupTable(table); - update = BenchmarkUtils.updateBuilder; - } - - @Setup(Level.Iteration) - public void doSetup() { - Connection connection = createConnection(); - setupCreateTables(connection); - //Setup connection - testConnection = createConnection(); - setupCreateRows(testConnection,rows); - - } - - @TearDown(Level.Iteration) - public void doTearDown() { - System.out.println("Do TearDown"); - try { - testConnection.close(); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - } - - - } -} diff --git a/mdbc-benchmark/src/main/java/org/onap/music/mdbc/MetricCommitBenchmark.java b/mdbc-benchmark/src/main/java/org/onap/music/mdbc/MetricCommitBenchmark.java deleted file mode 100644 index 803a162..0000000 --- a/mdbc-benchmark/src/main/java/org/onap/music/mdbc/MetricCommitBenchmark.java +++ /dev/null @@ -1,141 +0,0 @@ -/* - * ============LICENSE_START==================================================== - * org.onap.music.mdbc - * ============================================================================= - * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. - * ============================================================================= - * Licensed 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. - * ============LICENSE_END====================================================== - */ -package org.onap.music.mdbc; - -import static org.onap.music.mdbc.BenchmarkUtils.setupCreateRows; -import static org.onap.music.mdbc.BenchmarkUtils.setupCreateTables; - -import org.onap.music.mdbc.BenchmarkUtils.ExecutionType; -import org.openjdk.jmh.annotations.*; -import org.openjdk.jmh.infra.Blackhole; -import org.openjdk.jmh.runner.Runner; -import org.openjdk.jmh.runner.RunnerException; -import org.openjdk.jmh.runner.options.Options; -import org.openjdk.jmh.runner.options.OptionsBuilder; - -import java.sql.Connection; -import java.sql.SQLException; -import java.sql.Statement; -import java.util.concurrent.TimeUnit; - -@BenchmarkMode({Mode.AverageTime, Mode.SampleTime}) -@OutputTimeUnit(TimeUnit.MILLISECONDS) -@State(Scope.Benchmark) -public class MetricCommitBenchmark { - - - public static void main(String[] args) throws RunnerException { - Options opt = new OptionsBuilder() - .include(MetricBenchmark.class.getSimpleName()) - .param("type", ExecutionType.METRIC.name()) - .forks(1) - .threads(1) - .build(); - new Runner(opt).run(); - } - - @Benchmark - public void testMethod(MyState state) { - try { - state.testConnection.commit(); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - } - - - @State(Scope.Benchmark) - public static class MyState { - - String update; - final String user = "root"; - final String password = "metriccluster"; - @Param({"104.209.240.219"}) - public String ip; - @Param({"1", "10", "50", "80", "100", "200", "300", "400"}) - public int rows; - @Param({"MARIA_DB", "COCKROACH_DB", "METRIC","POSTGRES"}) - public ExecutionType type; - @Param({"PERSONS"}) - public String table; - - public Connection testConnection; - - public Statement stmt; - - private Connection createConnection() { - return BenchmarkUtils.getConnection(ip,type,user,password); - } - - @Setup(Level.Trial) - public void doTrialSetup(){ - BenchmarkUtils.SetupTable(table); - update=BenchmarkUtils.updateBuilder; - } - - @Setup(Level.Invocation) - public void doInvocationSetup(){ - try { - stmt = testConnection.createStatement(); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - Boolean execute = null; - try { - execute = stmt.execute(update); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - } - - @TearDown(Level.Invocation) - public void doInvocationTearDown(){ - try { - stmt.close(); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - } - - @Setup(Level.Iteration) - public void doSetup() { - Connection connection = createConnection(); - setupCreateTables(connection); - //Setup connection - testConnection = createConnection(); - setupCreateRows(testConnection,rows); - } - - @TearDown(Level.Iteration) - public void doTearDown() { - System.out.println("Do TearDown"); - try { - testConnection.close(); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - } - } -} diff --git a/mdbc-benchmark/src/main/java/org/onap/music/mdbc/MetricStatementBenchmark.java b/mdbc-benchmark/src/main/java/org/onap/music/mdbc/MetricStatementBenchmark.java deleted file mode 100644 index 7dc950a..0000000 --- a/mdbc-benchmark/src/main/java/org/onap/music/mdbc/MetricStatementBenchmark.java +++ /dev/null @@ -1,144 +0,0 @@ -/* - * ============LICENSE_START==================================================== - * org.onap.music.mdbc - * ============================================================================= - * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. - * ============================================================================= - * Licensed 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. - * ============LICENSE_END====================================================== - */ -package org.onap.music.mdbc; - -import static org.onap.music.mdbc.BenchmarkUtils.setupCreateRows; -import static org.onap.music.mdbc.BenchmarkUtils.setupCreateTables; - -import org.onap.music.mdbc.BenchmarkUtils.ExecutionType; -import org.openjdk.jmh.annotations.*; -import org.openjdk.jmh.infra.Blackhole; -import org.openjdk.jmh.runner.Runner; -import org.openjdk.jmh.runner.RunnerException; -import org.openjdk.jmh.runner.options.Options; -import org.openjdk.jmh.runner.options.OptionsBuilder; - -import java.sql.Connection; -import java.sql.SQLException; -import java.sql.Statement; -import java.util.concurrent.TimeUnit; - -@BenchmarkMode({Mode.AverageTime, Mode.SampleTime}) -@OutputTimeUnit(TimeUnit.MILLISECONDS) -@State(Scope.Benchmark) -public class MetricStatementBenchmark { - - - public static void main(String[] args) throws RunnerException { - Options opt = new OptionsBuilder() - .include(MetricBenchmark.class.getSimpleName()) - .param("type", ExecutionType.METRIC.name()) - .forks(1) - .threads(1) - .build(); - new Runner(opt).run(); - } - - @Benchmark - public boolean testMethod(MyState state, Blackhole blackhole) { - Boolean execute = null; - try { - execute = state.stmt.execute(state.update); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - blackhole.consume(execute); - return execute; - } - - - @State(Scope.Benchmark) - public static class MyState { - - public String update; - final String user = "root"; - final String password = "metriccluster"; - @Param({"104.209.240.219"}) - public String ip; - @Param({"1", "10", "50", "80", "100", "200", "300", "400"}) - public int rows; - @Param({"MARIA_DB", "COCKROACH_DB", "METRIC","POSTGRES"}) - public ExecutionType type; - @Param({"PERSONS"}) - public String table; - - public Connection testConnection; - - public Statement stmt; - - private Connection createConnection() { - return BenchmarkUtils.getConnection(ip,type,user,password); - } - - @Setup(Level.Trial) - public void doTrialSetup(){ - BenchmarkUtils.SetupTable(table); - update=BenchmarkUtils.updateBuilder; - } - - @Setup(Level.Invocation) - public void doInvocationSetup(){ - try { - stmt = testConnection.createStatement(); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - } - - @TearDown(Level.Invocation) - public void doInvocationTearDown(){ - try { - //TODO: check if state need to be consumed by blackhole to guarantee execution - testConnection.commit(); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - try { - stmt.close(); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - } - - @Setup(Level.Iteration) - public void doSetup() { - Connection connection = createConnection(); - setupCreateTables(connection); - //Setup connection - testConnection = createConnection(); - setupCreateRows(testConnection,rows); - } - - @TearDown(Level.Iteration) - public void doTearDown() { - System.out.println("Do TearDown"); - try { - testConnection.close(); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - } - } -} diff --git a/mdbc-benchmark/src/main/resources/logback.xml b/mdbc-benchmark/src/main/resources/logback.xml deleted file mode 100755 index 4215681..0000000 --- a/mdbc-benchmark/src/main/resources/logback.xml +++ /dev/null @@ -1,369 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ${defaultLoggerPattern} - - - - - - - - - - - - ${logDirectory}/${generalLogName}.log - - - ${logDirectory}/${generalLogName}.%d{yyyy-MM-dd}.log.zip - - - 30 - 3GB - - - - ${applicationLoggerPattern} - - - - - 256 - - true - - - - - - - - - - - - - - - - - - - ${logDirectory}/${auditLogName}.log - - - ${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.log.zip - - - 30 - 3GB - - - - ${auditLoggerPattern} - - - - 256 - - - - - ${logDirectory}/${metricsLogName}.log - - - ${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.log.zip - - - 30 - 3GB - - - - ${metricsLoggerPattern} - - - - - - 256 - - - - - ${logDirectory}/${errorLogName}.log - - - ${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.log.zip - - - 30 - 3GB - - - - ${errorLoggerPattern} - - - - - 256 - - - - - ${debugLogDirectory}/${debugLogName}.log - - - ${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.log.zip - - - 30 - 3GB - - - - ${defaultLoggerPattern} - - - - - 256 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/mdbc-internal-benchmark/pom.xml b/mdbc-internal-benchmark/pom.xml deleted file mode 100644 index b356638..0000000 --- a/mdbc-internal-benchmark/pom.xml +++ /dev/null @@ -1,193 +0,0 @@ - - - - - mdbc - org.onap.music.mdbc - 0.0.1-SNAPSHOT - - 4.0.0 - - mdbc-own-benchmark - jar - - JMH benchmark sample: Java - - - - - 3.0 - - - - - org.openjdk.jmh - jmh-core - ${jmh.version} - - - org.openjdk.jmh - jmh-generator-annprocess - ${jmh.version} - provided - - - org.mariadb.jdbc - mariadb-java-client - 1.1.7 - - - org.onap.music.mdbc - mdbc-server - 0.0.1-SNAPSHOT - compile - - - org.onap.music - dev-MUSIC-cassandra - 3.2.1 - - - io.netty - * - - - - - com.datastax.cassandra - cassandra-driver-core - 3.3.0 - - - - - UTF-8 - 1.9.3 - 1.6 - benchmarks - - - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.1 - - ${javac.target} - 7 - 7 - - - - org.apache.maven.plugins - maven-shade-plugin - 2.2 - - - package - - shade - - - ${uberjar.name} - - - org.openjdk.jmh.Main - - - - - - *:* - - META-INF/*.SF - META-INF/*.DSA - META-INF/*.RSA - - - - - - - - - - - - maven-clean-plugin - 2.5 - - - maven-deploy-plugin - 2.8.1 - - - maven-install-plugin - 2.5.1 - - - maven-jar-plugin - 2.4 - - - maven-javadoc-plugin - 2.9.1 - - - maven-resources-plugin - 2.6 - - - maven-site-plugin - 3.3 - - - maven-source-plugin - 2.2.1 - - - maven-surefire-plugin - 2.17 - - - - - - diff --git a/mdbc-internal-benchmark/src/main/java/org/onap/music/mdbc/MetricAddTxDigestBenchmark.java b/mdbc-internal-benchmark/src/main/java/org/onap/music/mdbc/MetricAddTxDigestBenchmark.java deleted file mode 100644 index d15c3e6..0000000 --- a/mdbc-internal-benchmark/src/main/java/org/onap/music/mdbc/MetricAddTxDigestBenchmark.java +++ /dev/null @@ -1,143 +0,0 @@ -/* - * ============LICENSE_START==================================================== - * org.onap.music.mdbc - * ============================================================================= - * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. - * ============================================================================= - * Licensed 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. - * ============LICENSE_END====================================================== - */ - -package org.onap.music.mdbc; - -import java.sql.Connection; -import java.sql.SQLException; -import java.sql.Statement; -import java.util.UUID; -import java.util.concurrent.TimeUnit; -import org.onap.music.mdbc.mixins.DBInterface; -import org.onap.music.mdbc.mixins.MusicInterface; -import org.onap.music.mdbc.mixins.MusicMixin; -import org.onap.music.mdbc.tables.MusicTxDigestId; -import org.onap.music.mdbc.tables.StagingTable; -import org.openjdk.jmh.annotations.Benchmark; -import org.openjdk.jmh.annotations.BenchmarkMode; -import org.openjdk.jmh.annotations.Level; -import org.openjdk.jmh.annotations.Mode; -import org.openjdk.jmh.annotations.OutputTimeUnit; -import org.openjdk.jmh.annotations.Param; -import org.openjdk.jmh.annotations.Scope; -import org.openjdk.jmh.annotations.Setup; -import org.openjdk.jmh.annotations.State; -import org.openjdk.jmh.annotations.TearDown; -import org.openjdk.jmh.infra.Blackhole; -import org.openjdk.jmh.runner.Runner; -import org.openjdk.jmh.runner.RunnerException; -import org.openjdk.jmh.runner.options.Options; -import org.openjdk.jmh.runner.options.OptionsBuilder; - -@BenchmarkMode({Mode.AverageTime, Mode.SampleTime}) -@OutputTimeUnit(TimeUnit.MILLISECONDS) -@State(Scope.Benchmark) -public class MetricAddTxDigestBenchmark { - - public static void main(String[] args) throws RunnerException { - Options opt = new OptionsBuilder() - .include(MetricAddTxDigestBenchmark.class.getSimpleName()) - .threads(1) - .forks(1) - .build(); - new Runner(opt).run(); - } - - @Benchmark - public void testMethod(MyState state, Blackhole blackhole) { - OwnUtils.addTransactionDigest(state.copy, state.copyTxDigestId, - (MusicMixin) state.getManager().getMusicInterface()); - } - - @State(Scope.Benchmark) - public static class MyState { - public MusicTxDigestId musicTxDigestId,copyTxDigestId; - public StagingTable copy,current; - final String user = OwnUtils.SQL_USER; - final String password = OwnUtils.SQL_PASSWORD; - public final Range range = new Range(OwnUtils.TABLE); - @Param({"127.0.0.1"}) - public String ip; - @Param({"1", "10", "50", "80", "100", "200", "300", "400"}) - public int rows; - private MusicInterface musicMixin = null; - private MdbcConnection conn; - private DBInterface dbMixin; - private MdbcServerLogic meta; - private String id; - - private void setupServer(){ - meta = OwnUtils.setupServer(user, password); - } - - private StateManager getManager(){ - return meta.getStateManager(); - } - - private void assignManager() { - StateManager manager = getManager(); - musicMixin=manager.getMusicInterface(); - } - - @Setup(Level.Trial) - public void doTrialSetup(){ - OwnUtils.dropAll(ip); - setupServer(); - assignManager(); - OwnUtils.initMri((MusicMixin) musicMixin,range,meta, rows,1,1); - id = UUID.randomUUID().toString(); - conn = (MdbcConnection) getManager().getConnection(id); - try { - Statement stmt = conn.createStatement(); - stmt.execute(OwnUtils.UPDATE); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - musicTxDigestId = OwnUtils.setupCommit(conn.getPartition(), conn.getTransactionDigest()); - final DatabasePartition partition = conn.getPartition(); - OwnUtils.appendToRedo((MusicMixin)getManager().getMusicInterface(),partition.getMRIIndex(),partition.getLockId(), - musicTxDigestId); - current=conn.getTransactionDigest(); - } - - @TearDown(Level.Trial) - public void doTrialTearDown(){ - try { - conn.close(); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - meta=null; - } - - @Setup(Level.Invocation) - public void doInvocationSetup(){ - try { - copy = new StagingTable(current); - } catch (CloneNotSupportedException e) { - e.printStackTrace(); - System.exit(1); - } - copyTxDigestId = new MusicTxDigestId(MDBCUtils.generateUniqueKey(), -1); - } - } -} diff --git a/mdbc-internal-benchmark/src/main/java/org/onap/music/mdbc/MetricCommitBenchmark.java b/mdbc-internal-benchmark/src/main/java/org/onap/music/mdbc/MetricCommitBenchmark.java deleted file mode 100644 index 7461457..0000000 --- a/mdbc-internal-benchmark/src/main/java/org/onap/music/mdbc/MetricCommitBenchmark.java +++ /dev/null @@ -1,137 +0,0 @@ -/* - * ============LICENSE_START==================================================== - * org.onap.music.mdbc - * ============================================================================= - * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. - * ============================================================================= - * Licensed 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. - * ============LICENSE_END====================================================== - */ - -package org.onap.music.mdbc; - -import java.sql.SQLException; -import java.sql.Statement; -import java.util.UUID; -import java.util.concurrent.TimeUnit; -import org.onap.music.mdbc.mixins.DBInterface; -import org.onap.music.mdbc.mixins.MusicInterface; -import org.onap.music.mdbc.mixins.MusicMixin; -import org.openjdk.jmh.annotations.Benchmark; -import org.openjdk.jmh.annotations.BenchmarkMode; -import org.openjdk.jmh.annotations.Level; -import org.openjdk.jmh.annotations.Mode; -import org.openjdk.jmh.annotations.OutputTimeUnit; -import org.openjdk.jmh.annotations.Param; -import org.openjdk.jmh.annotations.Scope; -import org.openjdk.jmh.annotations.Setup; -import org.openjdk.jmh.annotations.State; -import org.openjdk.jmh.annotations.TearDown; -import org.openjdk.jmh.infra.Blackhole; -import org.openjdk.jmh.runner.Runner; -import org.openjdk.jmh.runner.RunnerException; -import org.openjdk.jmh.runner.options.Options; -import org.openjdk.jmh.runner.options.OptionsBuilder; - -@BenchmarkMode({Mode.AverageTime, Mode.SampleTime}) -@OutputTimeUnit(TimeUnit.MILLISECONDS) -@State(Scope.Benchmark) -public class MetricCommitBenchmark { - - public static void main(String[] args) throws RunnerException { - Options opt = new OptionsBuilder() - .include(MetricCommitBenchmark.class.getSimpleName()) - .threads(1) - .forks(1) - .build(); - new Runner(opt).run(); - } - - @Benchmark - public void testMethod(MyState state, Blackhole blackhole) { - try { - state.conn.commit(); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - } - - @State(Scope.Benchmark) - public static class MyState { - final String user = OwnUtils.SQL_USER; - final String password = OwnUtils.SQL_PASSWORD; - public final Range range = new Range(OwnUtils.TABLE); - @Param({"104.209.240.219"}) - public String ip; - @Param({"1", "10", "50", "80", "100", "200", "300", "400"}) - public int rows; - private MusicInterface musicMixin = null; - private MdbcConnection conn; - private DBInterface dbMixin; - private MdbcServerLogic meta; - private String id; - - private void setupServer(){ - meta = OwnUtils.setupServer(user, password); - } - - private StateManager getManager(){ - return meta.getStateManager(); - } - - private void assignManager() { - StateManager manager = getManager(); - musicMixin=manager.getMusicInterface(); - } - - @Setup(Level.Trial) - public void doTrialSetup(){ - OwnUtils.dropAll(ip); - setupServer(); - assignManager(); - OwnUtils.initMri((MusicMixin) musicMixin,range,meta, rows,1,1); - id = UUID.randomUUID().toString(); - conn = (MdbcConnection) getManager().getConnection(id); - - } - - @TearDown(Level.Trial) - public void doTrialTearDown(){ - try { - conn.close(); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - meta=null; - } - - @Setup(Level.Invocation) - public void doInvocationSetup(){ - Statement stmt = null; - try { - stmt = conn.createStatement(); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - try { - stmt.execute(OwnUtils.UPDATE); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - } - } -} diff --git a/mdbc-internal-benchmark/src/main/java/org/onap/music/mdbc/MetricIsolatedMixinCommBenchmark.java b/mdbc-internal-benchmark/src/main/java/org/onap/music/mdbc/MetricIsolatedMixinCommBenchmark.java deleted file mode 100644 index c789ca7..0000000 --- a/mdbc-internal-benchmark/src/main/java/org/onap/music/mdbc/MetricIsolatedMixinCommBenchmark.java +++ /dev/null @@ -1,151 +0,0 @@ -/* - * ============LICENSE_START==================================================== - * org.onap.music.mdbc - * ============================================================================= - * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. - * ============================================================================= - * Licensed 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. - * ============LICENSE_END====================================================== - */ - -package org.onap.music.mdbc; - -import java.sql.SQLException; -import java.sql.Statement; -import java.util.UUID; -import java.util.concurrent.TimeUnit; -import org.onap.music.exceptions.MDBCServiceException; -import org.onap.music.mdbc.mixins.DBInterface; -import org.onap.music.mdbc.mixins.MusicInterface; -import org.onap.music.mdbc.mixins.MusicMixin; -import org.onap.music.mdbc.tables.MusicTxDigestId; -import org.onap.music.mdbc.tables.StagingTable; -import org.onap.music.mdbc.tables.TxCommitProgress; -import org.openjdk.jmh.annotations.Benchmark; -import org.openjdk.jmh.annotations.BenchmarkMode; -import org.openjdk.jmh.annotations.Level; -import org.openjdk.jmh.annotations.Mode; -import org.openjdk.jmh.annotations.OutputTimeUnit; -import org.openjdk.jmh.annotations.Param; -import org.openjdk.jmh.annotations.Scope; -import org.openjdk.jmh.annotations.Setup; -import org.openjdk.jmh.annotations.State; -import org.openjdk.jmh.annotations.TearDown; -import org.openjdk.jmh.infra.Blackhole; -import org.openjdk.jmh.runner.Runner; -import org.openjdk.jmh.runner.RunnerException; -import org.openjdk.jmh.runner.options.Options; -import org.openjdk.jmh.runner.options.OptionsBuilder; - -@BenchmarkMode({Mode.AverageTime, Mode.SampleTime}) -@OutputTimeUnit(TimeUnit.MILLISECONDS) -@State(Scope.Benchmark) -public class MetricIsolatedMixinCommBenchmark { - - public static void main(String[] args) throws RunnerException { - Options opt = new OptionsBuilder() - .include(MetricIsolatedMixinCommBenchmark.class.getSimpleName()) - .threads(1) - .forks(1) - .build(); - new Runner(opt).run(); - } - - @Benchmark - public void testMethod(MyState state, Blackhole blackhole) { - try { - state.musicMixin.commitLog(state.conn.getPartition(),null,state.copy, - state.copyTxDigestId.transactionId.toString(),state.progressKeeper); - } catch (MDBCServiceException e) { - e.printStackTrace(); - System.exit(1); - } - } - - @State(Scope.Benchmark) - public static class MyState { - public TxCommitProgress progressKeeper; - public MusicTxDigestId musicTxDigestId,copyTxDigestId; - final String user = OwnUtils.SQL_USER; - final String password = OwnUtils.SQL_PASSWORD; - public final Range range = new Range(OwnUtils.TABLE); - @Param({"104.209.240.219"}) - public String ip; - @Param({"1", "10", "50", "80", "100", "200", "300", "400"}) - public int rows; - private MusicInterface musicMixin = null; - private MdbcConnection conn; - private DBInterface dbMixin; - private MdbcServerLogic meta; - private String id; - public StagingTable copy,current; - - private void setupServer(){ - meta = OwnUtils.setupServer(user, password); - } - - private StateManager getManager(){ - return meta.getStateManager(); - } - - private void assignManager() { - StateManager manager = getManager(); - musicMixin=manager.getMusicInterface(); - } - - @Setup(Level.Trial) - public void doTrialSetup(){ - OwnUtils.dropAll(ip); - setupServer(); - assignManager(); - OwnUtils.initMri((MusicMixin) musicMixin,range,meta, rows,1,1); - id = UUID.randomUUID().toString(); - conn = (MdbcConnection) getManager().getConnection(id); - Statement stmt = null; - try { - stmt = conn.createStatement(); - stmt.execute(OwnUtils.UPDATE); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - musicTxDigestId = OwnUtils.setupCommit(conn.getPartition(), conn.getTransactionDigest()); - current=conn.getTransactionDigest(); - progressKeeper = new TxCommitProgress(); - } - - @TearDown(Level.Trial) - public void doTrialTearDown(){ - try { - conn.close(); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - meta=null; - } - - @Setup(Level.Invocation) - public void doInvocationSetup(){ - try { - copy = new StagingTable(current); - } catch (CloneNotSupportedException e) { - e.printStackTrace(); - System.exit(1); - } - copyTxDigestId = new MusicTxDigestId(MDBCUtils.generateUniqueKey(), -1); - progressKeeper.createNewTransactionTracker(copyTxDigestId.transactionId.toString(),conn); - } - - } -} diff --git a/mdbc-internal-benchmark/src/main/java/org/onap/music/mdbc/MetricOwnBenchmark.java b/mdbc-internal-benchmark/src/main/java/org/onap/music/mdbc/MetricOwnBenchmark.java deleted file mode 100644 index 42665b1..0000000 --- a/mdbc-internal-benchmark/src/main/java/org/onap/music/mdbc/MetricOwnBenchmark.java +++ /dev/null @@ -1,142 +0,0 @@ -/* - * ============LICENSE_START==================================================== - * org.onap.music.mdbc - * ============================================================================= - * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. - * ============================================================================= - * Licensed 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. - * ============LICENSE_END====================================================== - */ - -package org.onap.music.mdbc; - -import java.sql.SQLException; -import java.util.UUID; -import java.util.concurrent.TimeUnit; -import org.onap.music.exceptions.MDBCServiceException; -import org.onap.music.mdbc.mixins.DBInterface; -import org.onap.music.mdbc.mixins.MusicInterface; -import org.onap.music.mdbc.mixins.MusicMixin; -import org.openjdk.jmh.annotations.Benchmark; -import org.openjdk.jmh.annotations.BenchmarkMode; -import org.openjdk.jmh.annotations.Level; -import org.openjdk.jmh.annotations.Mode; -import org.openjdk.jmh.annotations.OutputTimeUnit; -import org.openjdk.jmh.annotations.Param; -import org.openjdk.jmh.annotations.Scope; -import org.openjdk.jmh.annotations.Setup; -import org.openjdk.jmh.annotations.State; -import org.openjdk.jmh.annotations.TearDown; -import org.openjdk.jmh.infra.Blackhole; -import org.openjdk.jmh.runner.Runner; -import org.openjdk.jmh.runner.RunnerException; -import org.openjdk.jmh.runner.options.Options; -import org.openjdk.jmh.runner.options.OptionsBuilder; - -@BenchmarkMode({Mode.AverageTime, Mode.SampleTime}) -@OutputTimeUnit(TimeUnit.MILLISECONDS) -@State(Scope.Benchmark) -public class MetricOwnBenchmark{ - - public static void main(String[] args) throws RunnerException { - Options opt = new OptionsBuilder() - .include(MetricOwnBenchmark.class.getSimpleName()) - .threads(1) - .forks(1) - .build(); - new Runner(opt).run(); - } - - @Benchmark - public void testMethod(MyState state, Blackhole blackhole) { - try { - state.conn.preStatementHook(state.update); - } catch (MDBCServiceException e) { - e.printStackTrace(); - System.exit(1); - } - } - - @State(Scope.Benchmark) - public static class MyState { - public String update="SELECT * FROM PERSONS;"; - final String user = OwnUtils.SQL_USER; - final String password = OwnUtils.SQL_PASSWORD; - public final Range range = new Range(OwnUtils.TABLE); - @Param({"104.209.240.219"}) - public String ip; - //Rows per transaction (e.g. size of each tx digest) - @Param({"1", "10", "50", "80", "100", "200", "300", "400"}) - public int rows; - //Transaction before each ownership transition (e.g. size of redo log) - @Param({"1","10","100"}) - public int updates; - //Number of ownership transitions before measurement (e.g. number of mri rows" - @Param({"1","10","100"}) - public int transitions; - private MusicInterface musicMixin = null; - private MdbcConnection conn; - private DBInterface dbMixin; - private MdbcServerLogic meta; - private String id; - - private void setupServer(){ - meta = OwnUtils.setupServer(user, password); - } - - private StateManager getManager(){ - return meta.getStateManager(); - } - - @Setup(Level.Trial) - public void doTrialSetup(){ - OwnUtils.dropAll(ip); - setupServer(); - StateManager manager = getManager(); - musicMixin=manager.getMusicInterface(); - OwnUtils.initMri((MusicMixin) musicMixin,range,meta, rows, updates, transitions); - meta=null; - } - - @TearDown(Level.Trial) - public void doTrialTearDown(){ - meta=null; - } - - @Setup(Level.Invocation) - public void doInvocationSetup(){ - setupServer(); - id = UUID.randomUUID().toString(); - conn = (MdbcConnection) getManager().getConnection(id); - try { - OwnUtils.dropAndCreateTable(conn.getDBInterface()); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - } - - @TearDown(Level.Invocation) - public void doInvocationTearDown(){ - OwnUtils.deleteLastMriRow((MusicMixin) musicMixin); - try { - conn.close(); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - getManager().closeConnection(id); - } - - } -} diff --git a/mdbc-internal-benchmark/src/main/java/org/onap/music/mdbc/MetricPeekLockBenchmark.java b/mdbc-internal-benchmark/src/main/java/org/onap/music/mdbc/MetricPeekLockBenchmark.java deleted file mode 100644 index 1b56c6b..0000000 --- a/mdbc-internal-benchmark/src/main/java/org/onap/music/mdbc/MetricPeekLockBenchmark.java +++ /dev/null @@ -1,151 +0,0 @@ -/* - * ============LICENSE_START==================================================== - * org.onap.music.mdbc - * ============================================================================= - * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. - * ============================================================================= - * Licensed 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. - * ============LICENSE_END====================================================== - */ - -package org.onap.music.mdbc; - -import com.datastax.driver.core.ConsistencyLevel; -import com.datastax.driver.core.ExecutionInfo; -import com.datastax.driver.core.QueryTrace; -import com.datastax.driver.core.ResultSet; -import com.datastax.driver.core.SimpleStatement; -import org.onap.music.datastore.MusicDataStore; -import org.onap.music.datastore.MusicDataStoreHandle; -import org.onap.music.datastore.PreparedQueryObject; -import org.onap.music.exceptions.MusicQueryException; -import org.onap.music.exceptions.MusicServiceException; -import org.onap.music.mdbc.mixins.DBInterface; -import org.onap.music.mdbc.mixins.MusicInterface; -import org.onap.music.mdbc.mixins.MusicMixin; -import org.onap.music.mdbc.tables.MusicRangeInformationRow; -import org.openjdk.jmh.annotations.*; -import org.openjdk.jmh.infra.Blackhole; -import org.openjdk.jmh.runner.Runner; -import org.openjdk.jmh.runner.RunnerException; -import org.openjdk.jmh.runner.options.Options; -import org.openjdk.jmh.runner.options.OptionsBuilder; - -import java.sql.SQLException; -import java.sql.Statement; -import java.util.UUID; -import java.util.concurrent.TimeUnit; - -@BenchmarkMode({Mode.AverageTime, Mode.SampleTime}) -@OutputTimeUnit(TimeUnit.MILLISECONDS) -@State(Scope.Benchmark) -public class MetricPeekLockBenchmark { - - public static void main(String[] args) throws RunnerException { - Options opt = new OptionsBuilder() - .include(MetricPeekLockBenchmark.class.getSimpleName()) - .threads(1) - .forks(1) - .build(); - new Runner(opt).run(); - } - - @Benchmark - public void testMethod(MyState state, Blackhole blackhole) { - String table = state.table_prepend_name+OwnUtils.MRI_TABLE_NAME; - String selectQuery = "select * from "+OwnUtils.KEYSPACE+"."+table+" where key='"+state.key+"' LIMIT 1;"; - PreparedQueryObject queryObject = new PreparedQueryObject(); - queryObject.appendQueryString(selectQuery); - ResultSet results=null; - SimpleStatement statement = new SimpleStatement(queryObject.getQuery(), queryObject.getValues().toArray()); - statement.setConsistencyLevel(ConsistencyLevel.ONE); - statement.enableTracing(); - results = state.dsHandle.getSession().execute(statement); - blackhole.consume(results); - } - - public void printInfo(ResultSet results){ - ExecutionInfo executionInfo = results.getExecutionInfo(); - System.out.println(executionInfo.getQueriedHost().getAddress()); - System.out.println(executionInfo.getQueriedHost().getDatacenter()); - System.out.println(executionInfo.getQueriedHost().getRack()); - final QueryTrace trace = executionInfo.getQueryTrace(); - System.out.printf( - "'%s' to %s took %dμs%n", - trace.getRequestType(), trace.getCoordinator(), trace.getDurationMicros()); - for (QueryTrace.Event event : trace.getEvents()) { - System.out.printf( - " %d - %s - %s%n", - event.getSourceElapsedMicros(), event.getSource(), event.getDescription()); - } - } - - @State(Scope.Benchmark) - public static class MyState { - public MusicDataStore dsHandle; - public String key; - private String table_prepend_name = "lockQ_"; - final String user = OwnUtils.SQL_USER; - final String password = OwnUtils.SQL_PASSWORD; - public final Range range = new Range(OwnUtils.TABLE); - @Param({"104.209.240.219"}) - public String ip; - private MusicInterface musicMixin = null; - private MdbcConnection conn; - private DBInterface dbMixin; - private MdbcServerLogic meta; - private String id; - public MusicRangeInformationRow lastRow; - - private void setupServer(){ - meta = OwnUtils.setupServer(user, password); - } - - private StateManager getManager(){ - return meta.getStateManager(); - } - - private void assignManager() { - StateManager manager = getManager(); - musicMixin=manager.getMusicInterface(); - } - - @Setup(Level.Trial) - public void doTrialSetup(){ - OwnUtils.dropAll(ip); - setupServer(); - try { - dsHandle=MusicDataStoreHandle.getDSHandle(); - } catch (MusicServiceException e) { - e.printStackTrace(); - System.exit(1); - } - assignManager(); - OwnUtils.initMri((MusicMixin) musicMixin,range,meta, 1,1,1); - id = UUID.randomUUID().toString(); - conn = (MdbcConnection) getManager().getConnection(id); - lastRow = OwnUtils.getLastRow((MusicMixin) musicMixin); - key = lastRow.getPartitionIndex().toString(); - } - - @TearDown(Level.Trial) - public void doTrialTearDown(){ - try { - conn.close(); - } catch (SQLException e) { - System.exit(1); - } - meta=null; - } - } -} diff --git a/mdbc-internal-benchmark/src/main/java/org/onap/music/mdbc/MetricRedoLogBenchmark.java b/mdbc-internal-benchmark/src/main/java/org/onap/music/mdbc/MetricRedoLogBenchmark.java deleted file mode 100644 index 7e227fd..0000000 --- a/mdbc-internal-benchmark/src/main/java/org/onap/music/mdbc/MetricRedoLogBenchmark.java +++ /dev/null @@ -1,130 +0,0 @@ -/* - * ============LICENSE_START==================================================== - * org.onap.music.mdbc - * ============================================================================= - * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. - * ============================================================================= - * Licensed 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. - * ============LICENSE_END====================================================== - */ - -package org.onap.music.mdbc; - -import java.sql.Connection; -import java.sql.SQLException; -import java.sql.Statement; -import java.util.UUID; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.TimeUnit; -import org.onap.music.mdbc.mixins.DBInterface; -import org.onap.music.mdbc.mixins.MusicInterface; -import org.onap.music.mdbc.mixins.MusicMixin; -import org.onap.music.mdbc.tables.MusicTxDigestId; -import org.onap.music.mdbc.tables.StagingTable; -import org.openjdk.jmh.annotations.Benchmark; -import org.openjdk.jmh.annotations.BenchmarkMode; -import org.openjdk.jmh.annotations.Level; -import org.openjdk.jmh.annotations.Mode; -import org.openjdk.jmh.annotations.OutputTimeUnit; -import org.openjdk.jmh.annotations.Param; -import org.openjdk.jmh.annotations.Scope; -import org.openjdk.jmh.annotations.Setup; -import org.openjdk.jmh.annotations.State; -import org.openjdk.jmh.annotations.TearDown; -import org.openjdk.jmh.infra.Blackhole; -import org.openjdk.jmh.runner.Runner; -import org.openjdk.jmh.runner.RunnerException; -import org.openjdk.jmh.runner.options.Options; -import org.openjdk.jmh.runner.options.OptionsBuilder; - -@BenchmarkMode({Mode.AverageTime, Mode.SampleTime}) -@OutputTimeUnit(TimeUnit.MILLISECONDS) -@State(Scope.Benchmark) -public class MetricRedoLogBenchmark { - - public static void main(String[] args) throws RunnerException { - Options opt = new OptionsBuilder() - .include(MetricRedoLogBenchmark.class.getSimpleName()) - .threads(1) - .forks(1) - .build(); - new Runner(opt).run(); - } - - @Benchmark - public void testMethod(MyState state, Blackhole blackhole) { - final DatabasePartition partition = state.conn.getPartition(); - OwnUtils.appendToRedo((MusicMixin)state.getManager().getMusicInterface(),partition.getMRIIndex(), - partition.getLockId(),state.musicTxDigestId); - } - - @State(Scope.Benchmark) - public static class MyState { - public MusicTxDigestId musicTxDigestId; - final String user = OwnUtils.SQL_USER; - final String password = OwnUtils.SQL_PASSWORD; - public final Range range = new Range(OwnUtils.TABLE); - @Param({"104.209.240.219"}) - public String ip; - @Param({"1", "10", "50", "80", "100", "200", "300", "400"}) - public int rows; - private MusicInterface musicMixin = null; - private MdbcConnection conn; - private DBInterface dbMixin; - private MdbcServerLogic meta; - private String id; - - private void setupServer(){ - meta = OwnUtils.setupServer(user, password); - } - - private StateManager getManager(){ - return meta.getStateManager(); - } - - private void assignManager() { - StateManager manager = getManager(); - musicMixin=manager.getMusicInterface(); - } - - @Setup(Level.Trial) - public void doTrialSetup(){ - OwnUtils.dropAll(ip); - setupServer(); - assignManager(); - OwnUtils.initMri((MusicMixin) musicMixin,range,meta, rows,1,1); - id = UUID.randomUUID().toString(); - conn = (MdbcConnection) getManager().getConnection(id); - Statement stmt = null; - try { - stmt = conn.createStatement(); - stmt.execute(OwnUtils.UPDATE); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - musicTxDigestId = OwnUtils.setupCommit(conn.getPartition(), conn.getTransactionDigest()); - } - - @TearDown(Level.Trial) - public void doTrialTearDown(){ - try { - conn.close(); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - meta=null; - } - } -} diff --git a/mdbc-internal-benchmark/src/main/java/org/onap/music/mdbc/MetricThreadJoinBenchmark.java b/mdbc-internal-benchmark/src/main/java/org/onap/music/mdbc/MetricThreadJoinBenchmark.java deleted file mode 100644 index 70ba10a..0000000 --- a/mdbc-internal-benchmark/src/main/java/org/onap/music/mdbc/MetricThreadJoinBenchmark.java +++ /dev/null @@ -1,197 +0,0 @@ -/* - * ============LICENSE_START==================================================== - * org.onap.music.mdbc - * ============================================================================= - * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. - * ============================================================================= - * Licensed 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. - * ============LICENSE_END====================================================== - */ - -package org.onap.music.mdbc; - -import java.sql.SQLException; -import java.sql.Statement; -import java.util.ArrayList; -import java.util.List; -import java.util.UUID; -import java.util.concurrent.Callable; -import java.util.concurrent.ExecutionException; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; -import java.util.concurrent.Future; -import java.util.concurrent.TimeUnit; -import org.onap.music.exceptions.MDBCServiceException; -import org.onap.music.exceptions.MusicLockingException; -import org.onap.music.logging.EELFLoggerDelegate; -import org.onap.music.mdbc.mixins.DBInterface; -import org.onap.music.mdbc.mixins.MusicInterface; -import org.onap.music.mdbc.mixins.MusicMixin; -import org.onap.music.mdbc.tables.MusicTxDigestId; -import org.onap.music.mdbc.tables.StagingTable; -import org.openjdk.jmh.annotations.Benchmark; -import org.openjdk.jmh.annotations.BenchmarkMode; -import org.openjdk.jmh.annotations.Level; -import org.openjdk.jmh.annotations.Mode; -import org.openjdk.jmh.annotations.OutputTimeUnit; -import org.openjdk.jmh.annotations.Param; -import org.openjdk.jmh.annotations.Scope; -import org.openjdk.jmh.annotations.Setup; -import org.openjdk.jmh.annotations.State; -import org.openjdk.jmh.annotations.TearDown; -import org.openjdk.jmh.infra.Blackhole; -import org.openjdk.jmh.runner.Runner; -import org.openjdk.jmh.runner.RunnerException; -import org.openjdk.jmh.runner.options.Options; -import org.openjdk.jmh.runner.options.OptionsBuilder; - -@BenchmarkMode({Mode.AverageTime, Mode.SampleTime}) -@OutputTimeUnit(TimeUnit.MILLISECONDS) -@State(Scope.Benchmark) -public class MetricThreadJoinBenchmark { - - public static void main(String[] args) throws RunnerException { - Options opt = new OptionsBuilder() - .include(MetricThreadJoinBenchmark.class.getSimpleName()) - .threads(1) - .forks(1) - .build(); - new Runner(opt).run(); - } - - public void testMethod1(final MyState state) { - final String lockId = state.conn.getPartition().getLockId(); - final UUID MRIIndex = state.conn.getPartition().getMRIIndex(); - Thread t1=null; - Thread t2=null; - if(state.runTxDigest) { - final Runnable insertDigestCallable = new Runnable() { - @Override - public void run() { - OwnUtils.hardcodedAddtransaction(110); - } - }; - t1 = new Thread(insertDigestCallable); - t1.start(); - } - if(state.runRedo) { - final Runnable appendCallable = new Runnable() { - @Override - public void run() { - OwnUtils.hardcodedAppendToRedo(MRIIndex,lockId); - } - }; - t2 = new Thread(appendCallable); - t2.start(); - } - - try { - if(state.runTxDigest) { - t1.join(); - } - if(state.runRedo) { - t2.join(); - } - } catch (InterruptedException e) { - e.printStackTrace(); - System.exit(1); - } - } - - @Benchmark - public void testMethod2(final MyState state) { - final String lockId = state.conn.getPartition().getLockId(); - final UUID MRIIndex = state.conn.getPartition().getMRIIndex(); - OwnUtils.hardcodedAddtransaction(110); - OwnUtils.hardcodedAppendToRedo(MRIIndex,lockId); - } - - @State(Scope.Benchmark) - public static class MyState { - public MusicTxDigestId musicTxDigestId,copyTxDigestId; - public StagingTable copy,current; - final String user = OwnUtils.SQL_USER; - final String password = OwnUtils.SQL_PASSWORD; - public final Range range = new Range(OwnUtils.TABLE); - @Param({"127.0.0.1"}) - public String ip; - @Param({"1", "10", "50", "80", "100", "200", "300", "400"}) - public int rows; - @Param({"true","false"}) - public boolean runRedo; - @Param({"true","false"}) - public boolean runTxDigest; - private MusicInterface musicMixin = null; - private MdbcConnection conn; - private DBInterface dbMixin; - private MdbcServerLogic meta; - private String id; - public ExecutorService commitExecutorThreads; - - private void setupServer(){ - meta = OwnUtils.setupServer(user, password); - } - - private StateManager getManager(){ - return meta.getStateManager(); - } - - private void assignManager() { - StateManager manager = getManager(); - musicMixin=manager.getMusicInterface(); - } - - @Setup(Level.Trial) - public void doTrialSetup(){ - commitExecutorThreads = Executors.newFixedThreadPool(4); - OwnUtils.dropAll(ip); - setupServer(); - assignManager(); - OwnUtils.initMri((MusicMixin) musicMixin,range,meta, rows,0,0); - id = UUID.randomUUID().toString(); - conn = (MdbcConnection) getManager().getConnection(id); - try { - Statement stmt = conn.createStatement(); - stmt.execute(OwnUtils.UPDATE); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - musicTxDigestId = OwnUtils.setupCommit(conn.getPartition(), conn.getTransactionDigest()); - current=conn.getTransactionDigest(); - } - - @TearDown(Level.Trial) - public void doTrialTearDown(){ - try { - conn.close(); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - meta=null; - commitExecutorThreads.shutdown(); - } - - @Setup(Level.Invocation) - public void doInvocationSetup(){ - try { - copy = new StagingTable(current); - } catch (CloneNotSupportedException e) { - e.printStackTrace(); - System.exit(1); - } - copyTxDigestId = new MusicTxDigestId(MDBCUtils.generateUniqueKey(), -1); - } - } -} diff --git a/mdbc-internal-benchmark/src/main/java/org/onap/music/mdbc/OwnUtils.java b/mdbc-internal-benchmark/src/main/java/org/onap/music/mdbc/OwnUtils.java deleted file mode 100644 index 980408b..0000000 --- a/mdbc-internal-benchmark/src/main/java/org/onap/music/mdbc/OwnUtils.java +++ /dev/null @@ -1,383 +0,0 @@ -/* - * ============LICENSE_START==================================================== - * org.onap.music.mdbc - * ============================================================================= - * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. - * ============================================================================= - * Licensed 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. - * ============LICENSE_END====================================================== - */ -package org.onap.music.mdbc; - -import com.datastax.driver.core.Cluster; -import com.datastax.driver.core.Cluster.Builder; -import com.datastax.driver.core.Session; - -import java.nio.ByteBuffer; -import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.SQLException; -import java.sql.Statement; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Date; -import java.util.List; -import java.util.Properties; -import java.util.UUID; -import java.util.concurrent.locks.Lock; -import java.util.concurrent.locks.ReentrantLock; - -import com.datastax.driver.core.SocketOptions; -import org.onap.music.datastore.PreparedQueryObject; -import org.onap.music.exceptions.MDBCServiceException; -import org.onap.music.exceptions.MusicLockingException; -import org.onap.music.exceptions.MusicServiceException; -import org.onap.music.lockingservice.cassandra.MusicLockState; -import org.onap.music.main.MusicCore; -import org.onap.music.main.ResultType; -import org.onap.music.main.ReturnType; -import org.onap.music.mdbc.configurations.NodeConfiguration; -import org.onap.music.mdbc.mixins.DBInterface; -import org.onap.music.mdbc.mixins.MusicInterface; -import org.onap.music.mdbc.mixins.MusicMixin; -import org.onap.music.mdbc.tables.MriRowComparator; -import org.onap.music.mdbc.tables.MusicRangeInformationRow; -import org.onap.music.mdbc.tables.MusicTxDigestId; -import org.onap.music.mdbc.tables.StagingTable; - -public class OwnUtils { - - public static final int SQL_PORT= 3306; - - public static final String SQL_USER = "root"; - public static final String SQL_PASSWORD = "metriccluster"; - public static final String CASSANDRA_USER = "metric"; - public static final String CASSANDRA_PASSWORD = "metriccluster"; - public static final String KEYSPACE ="namespace"; - public static final String MRI_TABLE_NAME = "musicrangeinformation"; - public static final String MTD_TABLE_NAME = "musictxdigest"; - public static final String MDBC_SERVER_NAME = "name"; - public static final String DATABASE = "test"; - public static final String TABLE= "PERSONS"; - public static final int REPLICATION_FACTOR = 3; - public static final String SQL_URL="jdbc:mariadb://localhost:"+OwnUtils.SQL_PORT; - final static String CREATE_TABLE = "CREATE TABLE IF NOT EXISTS "+TABLE+" (\n" + - " PersonID int,\n" + - " Counter int,\n" + - " LastName varchar(255),\n" + - " FirstName varchar(255),\n" + - " Address varchar(255),\n" + - " City varchar(255),\n" + - " PRIMARY KEY(PersonID)"+ - ");"; - - public static final String UPDATE = new StringBuilder() - .append("UPDATE PERSONS ") - .append("SET Counter = Counter + 1,") - .append("City = 'Sandy Springs'") - .append(";").toString(); - public static final String PURGE = "PURGE BINARY LOGS BEFORE '"; - public static final String DROP_TABLE = "DROP TABLE IF EXISTS " + TABLE + ";"; - private static Lock sessionLock = new ReentrantLock(); - private static Boolean sessionReady= false; - private static Cluster cluster; - private static Session session; - - private static String getPurgeCommand(){ - String timeStamp = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); - return PURGE+timeStamp+"';"; - } - - public static Session getSession(String CASSANDRA_HOST){ - sessionLock.lock(); - try { - if(!sessionReady){ - SocketOptions options = new SocketOptions(); - options.setConnectTimeoutMillis(30000); - options.setReadTimeoutMillis(300000); - options.setTcpNoDelay(true); - final Builder builder = Cluster.builder(); - builder.addContactPoint(CASSANDRA_HOST); - builder.withCredentials(CASSANDRA_USER, CASSANDRA_PASSWORD); - builder.withSocketOptions(options); - cluster = builder.build(); - session=cluster.newSession(); - } - return session; - // access the resource protected by this lock - } finally { - sessionLock.unlock(); - } - } - - public static Connection getConnection() throws ClassNotFoundException, SQLException { - Class.forName("org.mariadb.jdbc.Driver"); - Properties connectionProps = new Properties(); - connectionProps.put("user", SQL_USER); - connectionProps.put("password", SQL_PASSWORD); - Connection connection = DriverManager.getConnection(SQL_URL+"/"+DATABASE, connectionProps); - connection.setAutoCommit(false); - return connection; - } - - public static void purgeBinLogs(Connection conn) throws SQLException{ - final Statement dropStatement = conn.createStatement(); - dropStatement.execute(getPurgeCommand()); - dropStatement.close(); - } - - public static void dropTable(Connection conn) throws SQLException { - final Statement dropStatement = conn.createStatement(); - dropStatement.execute(DROP_TABLE); - dropStatement.close(); - } - - private static void createTable(Connection conn) throws SQLException { - final Statement createStatement = conn.createStatement(); - createStatement.execute(CREATE_TABLE); - createStatement.close(); - } - - public static void dropAndCreateTable(DBInterface dbMixin) throws SQLException { - dbMixin.dropSQLTriggers(TABLE); - dropTable(dbMixin.getSQLConnection()); - createTable(dbMixin.getSQLConnection()); - dbMixin.createSQLTriggers(TABLE); - } - - public static void unlockRow(String keyspace, String mriTableName, DatabasePartition partition) - throws MusicLockingException { - String fullyQualifiedMriKey = keyspace+"."+ mriTableName+"."+partition.getMRIIndex().toString(); - MusicLockState musicLockState = MusicCore.voluntaryReleaseLock(fullyQualifiedMriKey, partition.getLockId()); - } - - public static DatabasePartition createBasicRow(Range range, MusicInterface mixin, String mdbcServerName) - throws MDBCServiceException { - List ranges = new ArrayList<>(); - ranges.add(range); - final UUID uuid = MDBCUtils.generateTimebasedUniqueKey(); - DatabasePartition dbPartition = new DatabasePartition(ranges,uuid,null); - MusicRangeInformationRow newRow = new MusicRangeInformationRow(uuid,dbPartition, new ArrayList(), "", - mdbcServerName, true); - DatabasePartition partition=mixin.createMusicRangeInformation(newRow); - return partition; - } - - public static void initMriTable(MusicMixin musicMixin, Range range) - throws MDBCServiceException, SQLException, MusicLockingException { - final DatabasePartition partition = createBasicRow(range, musicMixin, MDBC_SERVER_NAME); - unlockRow(KEYSPACE,MRI_TABLE_NAME,partition); - } - - public static MusicRangeInformationRow getLastRow(MusicMixin musicMixin){ - List allMriRows; - try { - allMriRows = musicMixin.getAllMriRows(); - } catch (MDBCServiceException e) { - e.printStackTrace(); - System.exit(1); - allMriRows=null;//Just to avoid IDE annoyance - } - Collections.sort(allMriRows, new MriRowComparator()); - MusicRangeInformationRow musicRangeInformationRow = allMriRows.get(allMriRows.size() - 1); - return musicRangeInformationRow; - } - - public static void deleteLastMriRow(MusicMixin musicMixin){ - MusicRangeInformationRow musicRangeInformationRow = getLastRow(musicMixin); - try { - musicMixin.deleteMriRow(musicRangeInformationRow); - } catch (MDBCServiceException e) { - e.printStackTrace(); - System.exit(1); - } - } - - private static void changeRows(Connection conn) throws SQLException { - Statement stmt = conn.createStatement(); - Boolean execute = stmt.execute(UPDATE); - conn.commit(); - stmt.close(); - } - - private static void addRowsToTable(int totalNumberOfRows, Connection testConnection) throws SQLException { - for (int i = 0; i < totalNumberOfRows; i++) { - final StringBuilder insertSQLBuilder = new StringBuilder() - .append("INSERT INTO PERSONS VALUES (") - .append(i) - .append(", ") - .append(0) - .append(", '") - .append("Last-") - .append(i) - .append("', '") - .append("First-") - .append(i) - .append("', 'KACB', 'ATLANTA');"); - Statement stmt = testConnection.createStatement(); - Boolean execute = stmt.execute(insertSQLBuilder.toString()); - stmt.close(); - } - testConnection.commit(); - } - - public static void createHistory(MdbcServerLogic meta,int rows, int updates,int transitions) - throws SQLException { - final StateManager stateManager = meta.getStateManager(); - String id = UUID.randomUUID().toString(); - Connection connection = stateManager.getConnection(id); - createTable(connection); - addRowsToTable(rows, connection); - connection.close(); - stateManager.closeConnection(id); - for(int mriRow=0;mriRow - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ${defaultLoggerPattern} - - - - - - - - - - - - ${logDirectory}/${generalLogName}.log - - - ${logDirectory}/${generalLogName}.%d{yyyy-MM-dd}.log.zip - - - 30 - 3GB - - - - ${applicationLoggerPattern} - - - - - 256 - - true - - - - - - - - - - - - - - - - - - - ${logDirectory}/${auditLogName}.log - - - ${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.log.zip - - - 30 - 3GB - - - - ${auditLoggerPattern} - - - - 256 - - - - - ${logDirectory}/${metricsLogName}.log - - - ${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.log.zip - - - 30 - 3GB - - - - ${metricsLoggerPattern} - - - - - - 256 - - - - - ${logDirectory}/${errorLogName}.log - - - ${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.log.zip - - - 30 - 3GB - - - - ${errorLoggerPattern} - - - - - 256 - - - - - ${debugLogDirectory}/${debugLogName}.log - - - ${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.log.zip - - - 30 - 3GB - - - - ${defaultLoggerPattern} - - - - - 256 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/mdbc-internal-benchmark/src/main/resources/mdbc.properties b/mdbc-internal-benchmark/src/main/resources/mdbc.properties deleted file mode 100755 index 73e8f77..0000000 --- a/mdbc-internal-benchmark/src/main/resources/mdbc.properties +++ /dev/null @@ -1,13 +0,0 @@ -# -# A list of all Mixins that should be checked by MDBC -# -MIXINS= \ - org.onap.music.mdbc.mixins.MySQLMixin \ - org.onap.music.mdbc.mixins.MusicMixin \ - org.onap.music.mdbc.mixins.Music2Mixin - -DEFAULT_DRIVERS=\ - org.h2.Driver \ - com.mysql.jdbc.Driver - -txdaemonsleeps=15 \ No newline at end of file diff --git a/mdbc-internal-benchmark/src/main/resources/music.properties b/mdbc-internal-benchmark/src/main/resources/music.properties deleted file mode 100755 index ccacd38..0000000 --- a/mdbc-internal-benchmark/src/main/resources/music.properties +++ /dev/null @@ -1,8 +0,0 @@ -cassandra.host =\ - 10.0.0.5 -cassandra.user =\ - metric -cassandra.password =\ - metriccluster -zookeeper.host =\ - localhost diff --git a/mdbc-server/src/main/java/org/onap/music/mdbc/examples/MdbcTestClient.java b/mdbc-server/src/main/java/org/onap/music/mdbc/examples/MdbcTestClient.java index fddd305..1c42865 100644 --- a/mdbc-server/src/main/java/org/onap/music/mdbc/examples/MdbcTestClient.java +++ b/mdbc-server/src/main/java/org/onap/music/mdbc/examples/MdbcTestClient.java @@ -24,6 +24,7 @@ import org.apache.calcite.avatica.remote.Driver; public class MdbcTestClient { + public static class Hr { public final Employee[] emps = { new Employee(100, "Bill"), @@ -110,7 +111,6 @@ public class MdbcTestClient { final String insertSQL3 = "UPDATE Persons SET FirstName='JOSH' WHERE LastName='Smith';"; final String insertSQL4 = "UPDATE Persons SET FirstName='JOHN' WHERE LastName='Smith';"; - Statement insertStmt; try { insertStmt = connection.createStatement(); diff --git a/pom.xml b/pom.xml index c59e7b2..e27fd09 100755 --- a/pom.xml +++ b/pom.xml @@ -98,8 +98,6 @@ mdbc-server mdbc-packages - mdbc-benchmark - mdbc-internal-benchmark -- cgit 1.2.3-korg