aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Nelson <nelson24@att.com>2019-04-04 18:44:28 +0000
committerGerrit Code Review <gerrit@onap.org>2019-04-04 18:44:28 +0000
commit361533ff29d77c78a418967229e9fc6d72d46bd6 (patch)
tree9c19f19846149a0ea76de4a026ebe5e402e7b15e
parenta1c1b4ba47e9c8ef1fa4e7b8a3ea8ab272050bae (diff)
parenta660644ff0adf5d5d3aec430feeeb6d848a799e5 (diff)
Merge "Remove benchmarks"
-rw-r--r--mdbc-benchmark/pom.xml305
-rw-r--r--mdbc-benchmark/src/main/java/org/onap/music/mdbc/BenchmarkUtils.java245
-rw-r--r--mdbc-benchmark/src/main/java/org/onap/music/mdbc/MetricBenchmark.java141
-rw-r--r--mdbc-benchmark/src/main/java/org/onap/music/mdbc/MetricCommitBenchmark.java141
-rw-r--r--mdbc-benchmark/src/main/java/org/onap/music/mdbc/MetricStatementBenchmark.java144
-rwxr-xr-xmdbc-benchmark/src/main/resources/logback.xml369
-rw-r--r--mdbc-internal-benchmark/pom.xml193
-rw-r--r--mdbc-internal-benchmark/src/main/java/org/onap/music/mdbc/MetricAddTxDigestBenchmark.java143
-rw-r--r--mdbc-internal-benchmark/src/main/java/org/onap/music/mdbc/MetricCommitBenchmark.java137
-rw-r--r--mdbc-internal-benchmark/src/main/java/org/onap/music/mdbc/MetricIsolatedMixinCommBenchmark.java151
-rw-r--r--mdbc-internal-benchmark/src/main/java/org/onap/music/mdbc/MetricOwnBenchmark.java142
-rw-r--r--mdbc-internal-benchmark/src/main/java/org/onap/music/mdbc/MetricPeekLockBenchmark.java151
-rw-r--r--mdbc-internal-benchmark/src/main/java/org/onap/music/mdbc/MetricRedoLogBenchmark.java130
-rw-r--r--mdbc-internal-benchmark/src/main/java/org/onap/music/mdbc/MetricThreadJoinBenchmark.java197
-rw-r--r--mdbc-internal-benchmark/src/main/java/org/onap/music/mdbc/OwnUtils.java383
-rwxr-xr-xmdbc-internal-benchmark/src/main/resources/logback.xml369
-rwxr-xr-xmdbc-internal-benchmark/src/main/resources/mdbc.properties13
-rwxr-xr-xmdbc-internal-benchmark/src/main/resources/music.properties8
-rw-r--r--mdbc-server/src/main/java/org/onap/music/mdbc/examples/MdbcTestClient.java2
-rwxr-xr-xpom.xml2
20 files changed, 1 insertions, 3365 deletions
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 @@
-<!--
-Copyright (c) 2014, Oracle America, Inc.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- * Neither the name of Oracle nor the names of its contributors may be used
- to endorse or promote products derived from this software without
- specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGE.
--->
-<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <parent>
- <artifactId>mdbc</artifactId>
- <groupId>org.onap.music.mdbc</groupId>
- <version>0.0.1-SNAPSHOT</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
-
- <artifactId>mdbc-benchmark</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- <name>mdbc-benchmark</name>
- <description>MDBC Benchmark</description>
- <packaging>jar</packaging>
-
- <dependencies>
- <dependency>
- <groupId>org.json</groupId>
- <artifactId>json</artifactId>
- <version>20160810</version>
- </dependency>
- <dependency>
- <groupId>org.openjdk.jmh</groupId>
- <artifactId>jmh-core</artifactId>
- <version>${jmh.version}</version>
- </dependency>
- <dependency>
- <groupId>org.openjdk.jmh</groupId>
- <artifactId>jmh-generator-annprocess</artifactId>
- <version>${jmh.version}</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>com.att.eelf</groupId>
- <artifactId>eelf-core</artifactId>
- <version>1.0.0</version>
- </dependency>
- <dependency>
- <groupId>org.apache.calcite.avatica</groupId>
- <artifactId>avatica-server</artifactId>
- <version>1.12.0</version>
- </dependency>
- <dependency>
- <groupId>com.google.code.gson</groupId>
- <artifactId>gson</artifactId>
- <version>2.8.5</version>
- </dependency>
- <dependency>
- <groupId>org.mariadb.jdbc</groupId>
- <artifactId>mariadb-java-client</artifactId>
- <version>1.1.7</version>
- </dependency>
- <dependency>
- <groupId>postgresql</groupId>
- <artifactId>postgresql</artifactId>
- <version>9.1-901-1.jdbc4</version>
- </dependency>
- <dependency>
- <groupId>com.datastax.cassandra</groupId>
- <artifactId>cassandra-driver-core</artifactId>
- <version>3.3.0</version>
- </dependency>
- <dependency>
- <groupId>com.google.guava</groupId>
- <artifactId>guava</artifactId>
- <version>19.0</version>
- </dependency>
- <dependency>
- <!-- The oparent dependency managed version 9.4.12.v20180830 will not work -->
- <!-- 9.2.19.v20160908 is needed by avatica-server 1.12.0 -->
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-http</artifactId>
- <version>9.2.19.v20160908</version>
- </dependency>
- <dependency>
- <!-- The oparent dependency managed version 9.4.12.v20180830 will not work -->
- <!-- 9.2.19.v20160908 is needed by avatica-server 1.12.0 -->
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-server</artifactId>
- <version>9.2.19.v20160908</version>
- </dependency>
- <dependency>
- <!-- 9.2.19.v20160908 is needed by avatica-server 1.12.0 -->
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-security</artifactId>
- <version>9.2.19.v20160908</version>
- </dependency>
- <dependency>
- <!-- 9.2.19.v20160908 is needed by avatica-server 1.12.0 -->
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-util</artifactId>
- <version>9.2.19.v20160908</version>
- </dependency>
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-lang3</artifactId>
- <version>3.7</version>
- </dependency>
- <!-- These two dependencies pull in optional libraries for Cassandra -->
- <dependency>
- <groupId>net.jpountz.lz4</groupId>
- <artifactId>lz4</artifactId>
- <version>1.3.0</version>
- </dependency>
- <dependency>
- <groupId>org.xerial.snappy</groupId>
- <artifactId>snappy-java</artifactId>
- <version>1.1.2.6</version>
- </dependency>
- <dependency>
- <groupId>com.github.jsqlparser</groupId>
- <artifactId>jsqlparser</artifactId>
- <version>1.1</version>
- </dependency>
- <dependency>
- <groupId>ch.qos.logback</groupId>
- <artifactId>logback-core</artifactId>
- <version>1.2.3</version>
- </dependency>
-
- <!-- https://mvnrepository.com/artifact/javax.servlet/servlet-api -->
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- <version>2.5</version>
- <scope>provided</scope>
- </dependency>
- <!-- https://mvnrepository.com/artifact/org.apache.calcite.avatica/avatica-server -->
- <dependency>
- <groupId>org.apache.calcite.avatica</groupId>
- <artifactId>avatica-server</artifactId>
- <version>1.12.0</version>
- </dependency>
- <!-- https://mvnrepository.com/artifact/org.apache.calcite/calcite-plus -->
- <dependency>
- <groupId>org.apache.calcite</groupId>
- <artifactId>calcite-plus</artifactId>
- <version>1.12.0</version>
- </dependency>
- <dependency>
- <groupId>com.beust</groupId>
- <artifactId>jcommander</artifactId>
- <version>1.72</version>
- </dependency>
- <dependency>
- <groupId>com.google.code.gson</groupId>
- <artifactId>gson</artifactId>
- <version>2.8.5</version>
- </dependency>
- <dependency>
- <groupId>io.netty</groupId>
- <artifactId>netty-handler</artifactId>
- <version>4.1.30.Final</version>
- </dependency>
- <!-- https://mvnrepository.com/artifact/com.google.protobuf/protobuf-java -->
- <dependency>
- <groupId>com.google.protobuf</groupId>
- <artifactId>protobuf-java</artifactId>
- <version>3.6.1</version>
- </dependency>
- </dependencies>
-
- <properties>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-
- <!--
- JMH version to use with this project.
- -->
- <jmh.version>1.21</jmh.version>
-
- <!--
- Java source/target to use for compilation.
- -->
- <javac.target>1.8</javac.target>
-
- <!--
- Name of the benchmark Uber-JAR to generate.
- -->
- <!--
- Name of the benchmark Uber-JAR to generate.
- -->
- <uberjar.name>benchmarks</uberjar.name>
- </properties>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>3.1</version>
- <configuration>
- <compilerVersion>${javac.target}</compilerVersion>
- <source>${javac.target}</source>
- <target>${javac.target}</target>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-shade-plugin</artifactId>
- <version>2.2</version>
- <executions>
- <execution>
- <phase>package</phase>
- <goals>
- <goal>shade</goal>
- </goals>
- <configuration>
- <finalName>${uberjar.name}</finalName>
- <transformers>
- <transformer
- implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
- <mainClass>org.openjdk.jmh.Main</mainClass>
- </transformer>
- </transformers>
- <filters>
- <filter>
- <!--
- Shading signed JARs will fail without this.
- http://stackoverflow.com/questions/999489/invalid-signature-file-when-attempting-to-run-a-jar
- -->
- <artifact>*:*</artifact>
- <excludes>
- <exclude>META-INF/*.SF</exclude>
- <exclude>META-INF/*.DSA</exclude>
- <exclude>META-INF/*.RSA</exclude>
- </excludes>
- </filter>
- </filters>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- <pluginManagement>
- <plugins>
- <plugin>
- <artifactId>maven-clean-plugin</artifactId>
- <version>2.5</version>
- </plugin>
- <plugin>
- <artifactId>maven-deploy-plugin</artifactId>
- <version>2.8.1</version>
- </plugin>
- <plugin>
- <artifactId>maven-install-plugin</artifactId>
- <version>2.5.1</version>
- </plugin>
- <plugin>
- <artifactId>maven-jar-plugin</artifactId>
- <version>2.4</version>
- </plugin>
- <plugin>
- <artifactId>maven-javadoc-plugin</artifactId>
- <version>2.9.1</version>
- </plugin>
- <plugin>
- <artifactId>maven-resources-plugin</artifactId>
- <version>2.6</version>
- </plugin>
- <plugin>
- <artifactId>maven-site-plugin</artifactId>
- <version>3.3</version>
- </plugin>
- <plugin>
- <artifactId>maven-source-plugin</artifactId>
- <version>2.2.1</version>
- </plugin>
- <plugin>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>2.17</version>
- </plugin>
- </plugins>
- </pluginManagement>
-</build>
-</project>
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 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- ============LICENSE_START==========================================
- mdbc
- ===================================================================
- Copyright © 2017 AT&T Intellectual Property. All rights reserved.
- ===================================================================
-
- Unless otherwise specified, all software contained herein is licensed
- under the Apache License, Version 2.0 (the “License”);
- you may not use this software 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.
-
- Unless otherwise specified, all documentation contained herein is licensed
- under the Creative Commons License, Attribution 4.0 Intl. (the “License”);
- you may not use this documentation except in compliance with the License.
- You may obtain a copy of the License at
-
- https://creativecommons.org/licenses/by/4.0/
-
- Unless required by applicable law or agreed to in writing, documentation
- 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============================================
-
-
- -->
-
-<configuration scan="false" scanPeriod="3 seconds" debug="true">
- <!--
- Logback files for the mdbc Driver "mdbc"
- are created in directory ${catalina.base}/logs/mdbc;
- e.g., apache-tomcat-8.0.35/logs/mdbc/application.log
- -->
- <!--<jmxConfigurator /> -->
-
- <!-- specify the component name -->
- <property name="catalina.home" value="/var/log/metric/"/>
- <property name="componentName" value="mdbc"></property>
-
- <!-- specify the base path of the log directory -->
- <property name="logDirPrefix" value="${catalina.base}/logs"></property>
-
- <!-- The directories where logs are written -->
- <property name="logDirectory" value="${logDirPrefix}/${componentName}"/>
- <!-- Can easily relocate debug logs by modifying this path. -->
- <property name="debugLogDirectory" value="${logDirPrefix}/${componentName}"/>
-
- <!-- log file names -->
- <property name="generalLogName" value="application"/>
- <property name="errorLogName" value="error"/>
- <property name="metricsLogName" value="metrics"/>
- <property name="auditLogName" value="audit"/>
- <property name="debugLogName" value="debug"/>
- <!--
- These loggers are not used in code (yet).
- <property name="securityLogName" value="security" />
- <property name="policyLogName" value="policy" />
- <property name="performanceLogName" value="performance" />
- <property name="serverLogName" value="server" />
- -->
-
- <!-- 1610 Logging Fields Format Revisions -->
- <property name="auditLoggerPattern"
- value="%X{AuditLogBeginTimestamp}|%X{AuditLogEndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{VirtualServerName}|%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{Timer}|%X{ServerFQDN}|%X{ClientIPAddress}|%X{ClassName}|%X{Unused}|%X{ProcessKey}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}| %msg%n"/>
-
- <property name="metricsLoggerPattern"
- value="%X{MetricsLogBeginTimestamp}|%X{MetricsLogEndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{VirtualServerName}|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{Timer}|%X{ServerFQDN}|%X{ClientIPAddress}|%X{ClassName}|%X{Unused}|%X{ProcessKey}|%X{TargetVisualEntity}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}| %msg%n"/>
-
- <property name="errorLoggerPattern"
- value="%date{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%X{RequestId}|%thread|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{ClassName}|%X{AlertSeverity}|%X{ErrorCode}|%X{ErrorDescription}| %msg%n"/>
-
- <property name="defaultLoggerPattern"
- value="%date{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%X{RequestId}|%thread|%X{ClassName}| %msg%n"/>
-
- <!-- use %class so library logging calls yield their class name -->
- <property name="applicationLoggerPattern"
- value="%date{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%X{RequestId}|%thread|%class{36}| %msg%n"/>
-
- <!-- Example evaluator filter applied against console appender -->
- <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
- <encoder>
- <pattern>${defaultLoggerPattern}</pattern>
- </encoder>
- </appender>
-
- <!-- ============================================================================ -->
- <!-- EELF Appenders -->
- <!-- ============================================================================ -->
-
- <!-- The EELFAppender is used to record events to the general application
- log -->
-
-
- <appender name="EELF"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${logDirectory}/${generalLogName}.log</file>
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <!-- daily rollover -->
- <fileNamePattern>${logDirectory}/${generalLogName}.%d{yyyy-MM-dd}.log.zip</fileNamePattern>
-
- <!-- keep 30 days' worth of history capped at 3GB total size -->
- <maxHistory>30</maxHistory>
- <totalSizeCap>3GB</totalSizeCap>
-
- </rollingPolicy>
- <encoder>
- <pattern>${applicationLoggerPattern}</pattern>
- </encoder>
- </appender>
-
- <appender name="asyncEELF" class="ch.qos.logback.classic.AsyncAppender">
- <queueSize>256</queueSize>
- <!-- Class name is part of caller data -->
- <includeCallerData>true</includeCallerData>
- <appender-ref ref="EELF"/>
- </appender>
-
- <!-- EELF Security Appender. This appender is used to record security events
- to the security log file. Security events are separate from other loggers
- in EELF so that security log records can be captured and managed in a secure
- way separate from the other logs. This appender is set to never discard any
- events. -->
- <!--
- <appender name="EELFSecurity"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${logDirectory}/${securityLogName}.log</file>
- <rollingPolicy
- class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
- <fileNamePattern>${logDirectory}/${securityLogName}.%i.log.zip
- </fileNamePattern>
- <minIndex>1</minIndex>
- <maxIndex>9</maxIndex>
- </rollingPolicy>
- <triggeringPolicy
- class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
- <maxFileSize>5MB</maxFileSize>
- </triggeringPolicy>
- <encoder>
- <pattern>${defaultPattern}</pattern>
- </encoder>
- </appender>
-
- <appender name="asyncEELFSecurity" class="ch.qos.logback.classic.AsyncAppender">
- <queueSize>256</queueSize>
- <discardingThreshold>0</discardingThreshold>
- <appender-ref ref="EELFSecurity" />
- </appender>
- -->
-
- <!-- EELF Performance Appender. This appender is used to record performance
- records. -->
- <!--
- <appender name="EELFPerformance"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${logDirectory}/${performanceLogName}.log</file>
- <rollingPolicy
- class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
- <fileNamePattern>${logDirectory}/${performanceLogName}.%i.log.zip
- </fileNamePattern>
- <minIndex>1</minIndex>
- <maxIndex>9</maxIndex>
- </rollingPolicy>
- <triggeringPolicy
- class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
- <maxFileSize>5MB</maxFileSize>
- </triggeringPolicy>
- <encoder>
- <outputPatternAsHeader>true</outputPatternAsHeader>
- <pattern>${defaultPattern}</pattern>
- </encoder>
- </appender>
- <appender name="asyncEELFPerformance" class="ch.qos.logback.classic.AsyncAppender">
- <queueSize>256</queueSize>
- <appender-ref ref="EELFPerformance" />
- </appender>
- -->
-
- <!-- EELF Server Appender. This appender is used to record Server related
- logging events. The Server logger and appender are specializations of the
- EELF application root logger and appender. This can be used to segregate Server
- events from other components, or it can be eliminated to record these events
- as part of the application root log. -->
- <!--
- <appender name="EELFServer"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${logDirectory}/${serverLogName}.log</file>
- <rollingPolicy
- class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
- <fileNamePattern>${logDirectory}/${serverLogName}.%i.log.zip
- </fileNamePattern>
- <minIndex>1</minIndex>
- <maxIndex>9</maxIndex>
- </rollingPolicy>
- <triggeringPolicy
- class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
- <maxFileSize>5MB</maxFileSize>
- </triggeringPolicy>
- <encoder>
- <pattern>${defaultPattern}</pattern>
- </encoder>
- </appender>
- <appender name="asyncEELFServer" class="ch.qos.logback.classic.AsyncAppender">
- <queueSize>256</queueSize>
- <appender-ref ref="EELFServer" />
- </appender>
- -->
-
- <!-- EELF Policy Appender. This appender is used to record Policy engine
- related logging events. The Policy logger and appender are specializations
- of the EELF application root logger and appender. This can be used to segregate
- Policy engine events from other components, or it can be eliminated to record
- these events as part of the application root log. -->
- <!--
- <appender name="EELFPolicy"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${logDirectory}/${policyLogName}.log</file>
- <rollingPolicy
- class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
- <fileNamePattern>${logDirectory}/${policyLogName}.%i.log.zip
- </fileNamePattern>
- <minIndex>1</minIndex>
- <maxIndex>9</maxIndex>
- </rollingPolicy>
- <triggeringPolicy
- class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
- <maxFileSize>5MB</maxFileSize>
- </triggeringPolicy>
- <encoder>
- <pattern>${defaultPattern}</pattern>
- </encoder>
- </appender>
- <appender name="asyncEELFPolicy" class="ch.qos.logback.classic.AsyncAppender">
- <queueSize>256</queueSize>
- <appender-ref ref="EELFPolicy" />
- </appender>
- -->
-
- <!-- EELF Audit Appender. This appender is used to record audit engine
- related logging events. The audit logger and appender are specializations
- of the EELF application root logger and appender. This can be used to segregate
- Policy engine events from other components, or it can be eliminated to record
- these events as part of the application root log. -->
-
- <appender name="EELFAudit"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${logDirectory}/${auditLogName}.log</file>
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <!-- daily rollover -->
- <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.log.zip</fileNamePattern>
-
- <!-- keep 30 days' worth of history capped at 3GB total size -->
- <maxHistory>30</maxHistory>
- <totalSizeCap>3GB</totalSizeCap>
-
- </rollingPolicy>
- <encoder>
- <pattern>${auditLoggerPattern}</pattern>
- </encoder>
- </appender>
- <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">
- <queueSize>256</queueSize>
- <appender-ref ref="EELFAudit"/>
- </appender>
-
- <appender name="EELFMetrics"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${logDirectory}/${metricsLogName}.log</file>
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <!-- daily rollover -->
- <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.log.zip</fileNamePattern>
-
- <!-- keep 30 days' worth of history capped at 3GB total size -->
- <maxHistory>30</maxHistory>
- <totalSizeCap>3GB</totalSizeCap>
-
- </rollingPolicy>
- <encoder>
- <pattern>${metricsLoggerPattern}</pattern>
- </encoder>
- </appender>
-
-
- <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">
- <queueSize>256</queueSize>
- <appender-ref ref="EELFMetrics"/>
- </appender>
-
- <appender name="EELFError"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${logDirectory}/${errorLogName}.log</file>
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <!-- daily rollover -->
- <fileNamePattern>${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.log.zip</fileNamePattern>
-
- <!-- keep 30 days' worth of history capped at 3GB total size -->
- <maxHistory>30</maxHistory>
- <totalSizeCap>3GB</totalSizeCap>
-
- </rollingPolicy>
- <encoder>
- <pattern>${errorLoggerPattern}</pattern>
- </encoder>
- </appender>
-
- <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">
- <queueSize>256</queueSize>
- <appender-ref ref="EELFError"/>
- </appender>
-
- <appender name="EELFDebug"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${debugLogDirectory}/${debugLogName}.log</file>
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <!-- daily rollover -->
- <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.log.zip</fileNamePattern>
-
- <!-- keep 30 days' worth of history capped at 3GB total size -->
- <maxHistory>30</maxHistory>
- <totalSizeCap>3GB</totalSizeCap>
-
- </rollingPolicy>
- <encoder>
- <pattern>${defaultLoggerPattern}</pattern>
- </encoder>
- </appender>
-
- <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">
- <queueSize>256</queueSize>
- <appender-ref ref="EELFDebug"/>
- </appender>
-
-
- <logger name="com.att.eelf" level="error" additivity="false">
- <appender-ref ref="asyncEELF"/>
- </logger>
-
- <logger name="com.att.eelf" level="error" additivity="false">
- <appender-ref ref="asyncEELFAudit"/>
- </logger>
-
- <logger name="com.att.eelf" level="error" additivity="false">
- <appender-ref ref="asyncEELFDebug"/>
- </logger>
-
- <logger name="com.att.eelf.error" level="error" additivity="false">
- <appender-ref ref="asyncEELFError"/>
- </logger>
-
- <logger name="com.att.eelf.metrics" level="error" additivity="false">
- <appender-ref ref="asyncEELFMetrics"/>
- </logger>
-
- <root level="ERROR">
- <appender-ref ref="asyncEELF"/>
- </root>
-
-</configuration>
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 @@
-<!--
-Copyright (c) 2014, Oracle America, Inc.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- * Neither the name of Oracle nor the names of its contributors may be used
- to endorse or promote products derived from this software without
- specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGE.
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <parent>
- <artifactId>mdbc</artifactId>
- <groupId>org.onap.music.mdbc</groupId>
- <version>0.0.1-SNAPSHOT</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
-
- <artifactId>mdbc-own-benchmark</artifactId>
- <packaging>jar</packaging>
-
- <name>JMH benchmark sample: Java</name>
-
- <!--
- This is the demo/sample template build script for building Java benchmarks with JMH.
- Edit as needed.
- -->
-
- <prerequisites>
- <maven>3.0</maven>
- </prerequisites>
-
- <dependencies>
- <dependency>
- <groupId>org.openjdk.jmh</groupId>
- <artifactId>jmh-core</artifactId>
- <version>${jmh.version}</version>
- </dependency>
- <dependency>
- <groupId>org.openjdk.jmh</groupId>
- <artifactId>jmh-generator-annprocess</artifactId>
- <version>${jmh.version}</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.mariadb.jdbc</groupId>
- <artifactId>mariadb-java-client</artifactId>
- <version>1.1.7</version>
- </dependency>
- <dependency>
- <groupId>org.onap.music.mdbc</groupId>
- <artifactId>mdbc-server</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.onap.music</groupId>
- <artifactId>dev-MUSIC-cassandra</artifactId>
- <version>3.2.1</version>
- <exclusions>
- <exclusion>
- <groupId>io.netty</groupId>
- <artifactId>*</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>com.datastax.cassandra</groupId>
- <artifactId>cassandra-driver-core</artifactId>
- <version>3.3.0</version>
- </dependency>
- </dependencies>
-
- <properties>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <jmh.version>1.9.3</jmh.version>
- <javac.target>1.6</javac.target>
- <uberjar.name>benchmarks</uberjar.name>
- </properties>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>3.1</version>
- <configuration>
- <compilerVersion>${javac.target}</compilerVersion>
- <source>7</source>
- <target>7</target>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-shade-plugin</artifactId>
- <version>2.2</version>
- <executions>
- <execution>
- <phase>package</phase>
- <goals>
- <goal>shade</goal>
- </goals>
- <configuration>
- <finalName>${uberjar.name}</finalName>
- <transformers>
- <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
- <mainClass>org.openjdk.jmh.Main</mainClass>
- </transformer>
- </transformers>
- <filters>
- <filter>
- <!--
- Shading signed JARs will fail without this.
- http://stackoverflow.com/questions/999489/invalid-signature-file-when-attempting-to-run-a-jar
- -->
- <artifact>*:*</artifact>
- <excludes>
- <exclude>META-INF/*.SF</exclude>
- <exclude>META-INF/*.DSA</exclude>
- <exclude>META-INF/*.RSA</exclude>
- </excludes>
- </filter>
- </filters>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- <pluginManagement>
- <plugins>
- <plugin>
- <artifactId>maven-clean-plugin</artifactId>
- <version>2.5</version>
- </plugin>
- <plugin>
- <artifactId>maven-deploy-plugin</artifactId>
- <version>2.8.1</version>
- </plugin>
- <plugin>
- <artifactId>maven-install-plugin</artifactId>
- <version>2.5.1</version>
- </plugin>
- <plugin>
- <artifactId>maven-jar-plugin</artifactId>
- <version>2.4</version>
- </plugin>
- <plugin>
- <artifactId>maven-javadoc-plugin</artifactId>
- <version>2.9.1</version>
- </plugin>
- <plugin>
- <artifactId>maven-resources-plugin</artifactId>
- <version>2.6</version>
- </plugin>
- <plugin>
- <artifactId>maven-site-plugin</artifactId>
- <version>3.3</version>
- </plugin>
- <plugin>
- <artifactId>maven-source-plugin</artifactId>
- <version>2.2.1</version>
- </plugin>
- <plugin>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>2.17</version>
- </plugin>
- </plugins>
- </pluginManagement>
- </build>
-
-</project>
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<Range> 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<MusicTxDigestId>(), "",
- 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<MusicRangeInformationRow> 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<transitions;mriRow++) {
- final String finalId = UUID.randomUUID().toString();
- connection = stateManager.getConnection(finalId);
- for(int depth=0;depth<updates;depth++){
- changeRows(connection);
- }
- connection.close();
- stateManager.closeConnection(finalId);
- }
- }
-
- public static MdbcServerLogic setupServer(String user, String password){
- MdbcServerLogic meta;
- NodeConfiguration config = new NodeConfiguration("","",null,OwnUtils.DATABASE,
- OwnUtils.MDBC_SERVER_NAME);
- //\TODO Add configuration file with Server Info
- Properties connectionProps = new Properties();
- connectionProps.setProperty("user", user);
- connectionProps.setProperty("password", password);
- connectionProps.setProperty(MusicMixin.KEY_MUSIC_RFACTOR,Integer.toString(OwnUtils.REPLICATION_FACTOR));
- connectionProps.setProperty(MusicMixin.KEY_MUSIC_NAMESPACE,OwnUtils.KEYSPACE);
- try {
- meta = new MdbcServerLogic(OwnUtils.SQL_URL,connectionProps,config);
- } catch (SQLException e) {
- e.printStackTrace();
- meta=null;
- System.exit(1);
- } catch (MDBCServiceException e) {
- e.printStackTrace();
- meta=null;
- System.exit(1);
- }
- return meta;
- }
-
- public static void dropAll(String ip){
- Session session=OwnUtils.getSession(ip);
- session.execute("DROP KEYSPACE IF EXISTS "+OwnUtils.KEYSPACE+";");
- try {
- Connection connection = OwnUtils.getConnection();
- OwnUtils.dropTable(connection);
- connection.close();
- } catch (SQLException|ClassNotFoundException e) {
- e.printStackTrace();
- System.exit(1);
- }
- }
-
- public static void initMri(MusicMixin musicMixin,Range range,MdbcServerLogic meta, int rows, int updates, int transitions){
- try {
- OwnUtils.initMriTable(musicMixin,range);
- } catch (MusicLockingException|SQLException|MDBCServiceException e) {
- e.printStackTrace();
- System.exit(1);
- }
- try {
- OwnUtils.createHistory(meta, rows, updates, transitions);
- } catch (SQLException e) {
- e.printStackTrace();
- System.exit(1);
- }
- }
-
- public static void hardcodedAddtransaction(int size){
- final UUID uuid = MDBCUtils.generateTimebasedUniqueKey();
- ByteBuffer serializedTransactionDigest = ByteBuffer.allocate(size);
- for(int i=0;i<size;i++){
- serializedTransactionDigest.put((byte)i);
- }
- PreparedQueryObject query = new PreparedQueryObject();
- String cql = String.format("INSERT INTO %s.%s (txid,transactiondigest,compressed ) VALUES (?,?,?);",KEYSPACE,
- MTD_TABLE_NAME);
- query.appendQueryString(cql);
- query.addValue(uuid);
- query.addValue(serializedTransactionDigest);
- query.addValue(false);
- //\TODO check if I am not shooting on my own foot
- try {
- MusicCore.nonKeyRelatedPut(query,"critical");
- } catch (MusicServiceException e) {
- e.printStackTrace();
- System.exit(1);
- }
- }
-
- public static void hardcodedAppendToRedo(UUID mriId, String lockId){
- final UUID uuid = MDBCUtils.generateTimebasedUniqueKey();
- PreparedQueryObject query = new PreparedQueryObject();
- StringBuilder appendBuilder = new StringBuilder();
- appendBuilder.append("UPDATE ")
- .append(KEYSPACE)
- .append(".")
- .append(MRI_TABLE_NAME)
- .append(" SET txredolog = txredolog +[('")
- .append(MTD_TABLE_NAME)
- .append("',")
- .append(uuid)
- .append(")] WHERE rangeid = ")
- .append(mriId)
- .append(";");
- query.appendQueryString(appendBuilder.toString());
- ReturnType returnType = MusicCore.criticalPut(KEYSPACE, MRI_TABLE_NAME, mriId.toString(),
- query, lockId, null);
- //returnType.getExecutionInfo()
- if (returnType.getResult().compareTo(ResultType.SUCCESS) != 0) {
- System.exit(1);
- }
- }
-
- public static void addTransactionDigest(StagingTable transactionDigest, MusicTxDigestId digestId, MusicMixin music){
- try {
- music.createAndAddTxDigest(transactionDigest, digestId.transactionId);
- } catch (MDBCServiceException e) {
- e.printStackTrace();
- System.exit(1);
- }
- }
-
- public static void appendToRedo(MusicMixin music, UUID MRIIndex, String lockId, MusicTxDigestId digestId){
- try {
- music.appendToRedoLog(KEYSPACE,MRIIndex,digestId.transactionId,lockId,OwnUtils.MTD_TABLE_NAME,
- OwnUtils.MRI_TABLE_NAME);
- } catch (MDBCServiceException e) {
- e.printStackTrace();
- System.exit(1);
- }
- }
-
- public static MusicTxDigestId setupCommit(DatabasePartition partition, StagingTable transactionDigest){
- UUID mriIndex = partition.getMRIIndex();
-
- if(transactionDigest == null || transactionDigest.isEmpty()) {
- System.err.println("Transaction digest is empty");
- System.exit(1);
- }
-
- MusicTxDigestId digestId = new MusicTxDigestId(MDBCUtils.generateUniqueKey(), -1);
- return digestId;
- }
-}
diff --git a/mdbc-internal-benchmark/src/main/resources/logback.xml b/mdbc-internal-benchmark/src/main/resources/logback.xml
deleted file mode 100755
index 4215681..0000000
--- a/mdbc-internal-benchmark/src/main/resources/logback.xml
+++ /dev/null
@@ -1,369 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- ============LICENSE_START==========================================
- mdbc
- ===================================================================
- Copyright © 2017 AT&T Intellectual Property. All rights reserved.
- ===================================================================
-
- Unless otherwise specified, all software contained herein is licensed
- under the Apache License, Version 2.0 (the “License”);
- you may not use this software 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.
-
- Unless otherwise specified, all documentation contained herein is licensed
- under the Creative Commons License, Attribution 4.0 Intl. (the “License”);
- you may not use this documentation except in compliance with the License.
- You may obtain a copy of the License at
-
- https://creativecommons.org/licenses/by/4.0/
-
- Unless required by applicable law or agreed to in writing, documentation
- 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============================================
-
-
- -->
-
-<configuration scan="false" scanPeriod="3 seconds" debug="true">
- <!--
- Logback files for the mdbc Driver "mdbc"
- are created in directory ${catalina.base}/logs/mdbc;
- e.g., apache-tomcat-8.0.35/logs/mdbc/application.log
- -->
- <!--<jmxConfigurator /> -->
-
- <!-- specify the component name -->
- <property name="catalina.home" value="/var/log/metric/"/>
- <property name="componentName" value="mdbc"></property>
-
- <!-- specify the base path of the log directory -->
- <property name="logDirPrefix" value="${catalina.base}/logs"></property>
-
- <!-- The directories where logs are written -->
- <property name="logDirectory" value="${logDirPrefix}/${componentName}"/>
- <!-- Can easily relocate debug logs by modifying this path. -->
- <property name="debugLogDirectory" value="${logDirPrefix}/${componentName}"/>
-
- <!-- log file names -->
- <property name="generalLogName" value="application"/>
- <property name="errorLogName" value="error"/>
- <property name="metricsLogName" value="metrics"/>
- <property name="auditLogName" value="audit"/>
- <property name="debugLogName" value="debug"/>
- <!--
- These loggers are not used in code (yet).
- <property name="securityLogName" value="security" />
- <property name="policyLogName" value="policy" />
- <property name="performanceLogName" value="performance" />
- <property name="serverLogName" value="server" />
- -->
-
- <!-- 1610 Logging Fields Format Revisions -->
- <property name="auditLoggerPattern"
- value="%X{AuditLogBeginTimestamp}|%X{AuditLogEndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{VirtualServerName}|%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{Timer}|%X{ServerFQDN}|%X{ClientIPAddress}|%X{ClassName}|%X{Unused}|%X{ProcessKey}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}| %msg%n"/>
-
- <property name="metricsLoggerPattern"
- value="%X{MetricsLogBeginTimestamp}|%X{MetricsLogEndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{VirtualServerName}|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{Timer}|%X{ServerFQDN}|%X{ClientIPAddress}|%X{ClassName}|%X{Unused}|%X{ProcessKey}|%X{TargetVisualEntity}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}| %msg%n"/>
-
- <property name="errorLoggerPattern"
- value="%date{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%X{RequestId}|%thread|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{ClassName}|%X{AlertSeverity}|%X{ErrorCode}|%X{ErrorDescription}| %msg%n"/>
-
- <property name="defaultLoggerPattern"
- value="%date{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%X{RequestId}|%thread|%X{ClassName}| %msg%n"/>
-
- <!-- use %class so library logging calls yield their class name -->
- <property name="applicationLoggerPattern"
- value="%date{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%X{RequestId}|%thread|%class{36}| %msg%n"/>
-
- <!-- Example evaluator filter applied against console appender -->
- <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
- <encoder>
- <pattern>${defaultLoggerPattern}</pattern>
- </encoder>
- </appender>
-
- <!-- ============================================================================ -->
- <!-- EELF Appenders -->
- <!-- ============================================================================ -->
-
- <!-- The EELFAppender is used to record events to the general application
- log -->
-
-
- <appender name="EELF"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${logDirectory}/${generalLogName}.log</file>
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <!-- daily rollover -->
- <fileNamePattern>${logDirectory}/${generalLogName}.%d{yyyy-MM-dd}.log.zip</fileNamePattern>
-
- <!-- keep 30 days' worth of history capped at 3GB total size -->
- <maxHistory>30</maxHistory>
- <totalSizeCap>3GB</totalSizeCap>
-
- </rollingPolicy>
- <encoder>
- <pattern>${applicationLoggerPattern}</pattern>
- </encoder>
- </appender>
-
- <appender name="asyncEELF" class="ch.qos.logback.classic.AsyncAppender">
- <queueSize>256</queueSize>
- <!-- Class name is part of caller data -->
- <includeCallerData>true</includeCallerData>
- <appender-ref ref="EELF"/>
- </appender>
-
- <!-- EELF Security Appender. This appender is used to record security events
- to the security log file. Security events are separate from other loggers
- in EELF so that security log records can be captured and managed in a secure
- way separate from the other logs. This appender is set to never discard any
- events. -->
- <!--
- <appender name="EELFSecurity"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${logDirectory}/${securityLogName}.log</file>
- <rollingPolicy
- class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
- <fileNamePattern>${logDirectory}/${securityLogName}.%i.log.zip
- </fileNamePattern>
- <minIndex>1</minIndex>
- <maxIndex>9</maxIndex>
- </rollingPolicy>
- <triggeringPolicy
- class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
- <maxFileSize>5MB</maxFileSize>
- </triggeringPolicy>
- <encoder>
- <pattern>${defaultPattern}</pattern>
- </encoder>
- </appender>
-
- <appender name="asyncEELFSecurity" class="ch.qos.logback.classic.AsyncAppender">
- <queueSize>256</queueSize>
- <discardingThreshold>0</discardingThreshold>
- <appender-ref ref="EELFSecurity" />
- </appender>
- -->
-
- <!-- EELF Performance Appender. This appender is used to record performance
- records. -->
- <!--
- <appender name="EELFPerformance"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${logDirectory}/${performanceLogName}.log</file>
- <rollingPolicy
- class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
- <fileNamePattern>${logDirectory}/${performanceLogName}.%i.log.zip
- </fileNamePattern>
- <minIndex>1</minIndex>
- <maxIndex>9</maxIndex>
- </rollingPolicy>
- <triggeringPolicy
- class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
- <maxFileSize>5MB</maxFileSize>
- </triggeringPolicy>
- <encoder>
- <outputPatternAsHeader>true</outputPatternAsHeader>
- <pattern>${defaultPattern}</pattern>
- </encoder>
- </appender>
- <appender name="asyncEELFPerformance" class="ch.qos.logback.classic.AsyncAppender">
- <queueSize>256</queueSize>
- <appender-ref ref="EELFPerformance" />
- </appender>
- -->
-
- <!-- EELF Server Appender. This appender is used to record Server related
- logging events. The Server logger and appender are specializations of the
- EELF application root logger and appender. This can be used to segregate Server
- events from other components, or it can be eliminated to record these events
- as part of the application root log. -->
- <!--
- <appender name="EELFServer"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${logDirectory}/${serverLogName}.log</file>
- <rollingPolicy
- class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
- <fileNamePattern>${logDirectory}/${serverLogName}.%i.log.zip
- </fileNamePattern>
- <minIndex>1</minIndex>
- <maxIndex>9</maxIndex>
- </rollingPolicy>
- <triggeringPolicy
- class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
- <maxFileSize>5MB</maxFileSize>
- </triggeringPolicy>
- <encoder>
- <pattern>${defaultPattern}</pattern>
- </encoder>
- </appender>
- <appender name="asyncEELFServer" class="ch.qos.logback.classic.AsyncAppender">
- <queueSize>256</queueSize>
- <appender-ref ref="EELFServer" />
- </appender>
- -->
-
- <!-- EELF Policy Appender. This appender is used to record Policy engine
- related logging events. The Policy logger and appender are specializations
- of the EELF application root logger and appender. This can be used to segregate
- Policy engine events from other components, or it can be eliminated to record
- these events as part of the application root log. -->
- <!--
- <appender name="EELFPolicy"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${logDirectory}/${policyLogName}.log</file>
- <rollingPolicy
- class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
- <fileNamePattern>${logDirectory}/${policyLogName}.%i.log.zip
- </fileNamePattern>
- <minIndex>1</minIndex>
- <maxIndex>9</maxIndex>
- </rollingPolicy>
- <triggeringPolicy
- class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
- <maxFileSize>5MB</maxFileSize>
- </triggeringPolicy>
- <encoder>
- <pattern>${defaultPattern}</pattern>
- </encoder>
- </appender>
- <appender name="asyncEELFPolicy" class="ch.qos.logback.classic.AsyncAppender">
- <queueSize>256</queueSize>
- <appender-ref ref="EELFPolicy" />
- </appender>
- -->
-
- <!-- EELF Audit Appender. This appender is used to record audit engine
- related logging events. The audit logger and appender are specializations
- of the EELF application root logger and appender. This can be used to segregate
- Policy engine events from other components, or it can be eliminated to record
- these events as part of the application root log. -->
-
- <appender name="EELFAudit"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${logDirectory}/${auditLogName}.log</file>
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <!-- daily rollover -->
- <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.log.zip</fileNamePattern>
-
- <!-- keep 30 days' worth of history capped at 3GB total size -->
- <maxHistory>30</maxHistory>
- <totalSizeCap>3GB</totalSizeCap>
-
- </rollingPolicy>
- <encoder>
- <pattern>${auditLoggerPattern}</pattern>
- </encoder>
- </appender>
- <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">
- <queueSize>256</queueSize>
- <appender-ref ref="EELFAudit"/>
- </appender>
-
- <appender name="EELFMetrics"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${logDirectory}/${metricsLogName}.log</file>
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <!-- daily rollover -->
- <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.log.zip</fileNamePattern>
-
- <!-- keep 30 days' worth of history capped at 3GB total size -->
- <maxHistory>30</maxHistory>
- <totalSizeCap>3GB</totalSizeCap>
-
- </rollingPolicy>
- <encoder>
- <pattern>${metricsLoggerPattern}</pattern>
- </encoder>
- </appender>
-
-
- <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">
- <queueSize>256</queueSize>
- <appender-ref ref="EELFMetrics"/>
- </appender>
-
- <appender name="EELFError"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${logDirectory}/${errorLogName}.log</file>
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <!-- daily rollover -->
- <fileNamePattern>${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.log.zip</fileNamePattern>
-
- <!-- keep 30 days' worth of history capped at 3GB total size -->
- <maxHistory>30</maxHistory>
- <totalSizeCap>3GB</totalSizeCap>
-
- </rollingPolicy>
- <encoder>
- <pattern>${errorLoggerPattern}</pattern>
- </encoder>
- </appender>
-
- <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">
- <queueSize>256</queueSize>
- <appender-ref ref="EELFError"/>
- </appender>
-
- <appender name="EELFDebug"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${debugLogDirectory}/${debugLogName}.log</file>
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <!-- daily rollover -->
- <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.log.zip</fileNamePattern>
-
- <!-- keep 30 days' worth of history capped at 3GB total size -->
- <maxHistory>30</maxHistory>
- <totalSizeCap>3GB</totalSizeCap>
-
- </rollingPolicy>
- <encoder>
- <pattern>${defaultLoggerPattern}</pattern>
- </encoder>
- </appender>
-
- <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">
- <queueSize>256</queueSize>
- <appender-ref ref="EELFDebug"/>
- </appender>
-
-
- <logger name="com.att.eelf" level="error" additivity="false">
- <appender-ref ref="asyncEELF"/>
- </logger>
-
- <logger name="com.att.eelf" level="error" additivity="false">
- <appender-ref ref="asyncEELFAudit"/>
- </logger>
-
- <logger name="com.att.eelf" level="error" additivity="false">
- <appender-ref ref="asyncEELFDebug"/>
- </logger>
-
- <logger name="com.att.eelf.error" level="error" additivity="false">
- <appender-ref ref="asyncEELFError"/>
- </logger>
-
- <logger name="com.att.eelf.metrics" level="error" additivity="false">
- <appender-ref ref="asyncEELFMetrics"/>
- </logger>
-
- <root level="ERROR">
- <appender-ref ref="asyncEELF"/>
- </root>
-
-</configuration>
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 @@
<modules>
<module>mdbc-server</module>
<module>mdbc-packages</module>
- <module>mdbc-benchmark</module>
- <module>mdbc-internal-benchmark</module>
</modules>
<dependencies>