Commit 28dabac6 authored by Steve Blackburn's avatar Steve Blackburn Committed by GitHub

Merge pull request #156 from john5f35/new-bench-cassandra

WIP: New Benchmark: Cassandra + YCSB
parents 5631f71c 47f9a734
Pipeline #2958 failed with stage
in 25 minutes and 46 seconds
......@@ -28,6 +28,13 @@ batik:
after_script:
- git clean -df -e "downloads"
batik:
script:
- ant -Dbuild.target-jar=dacapo.jar cassandra
- java -jar dacapo.jar cassandra -s test
after_script:
- git clean -df -e "downloads"
eclipse:
script:
- ant -Dbuild.target-jar=dacapo.jar eclipse
......
<!--
* Copyright (c) 2009 The Australian National University.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Apache License v2.0.
* You may obtain the license at
*
* http://www.opensource.org/licenses/apache2.0.php
-->
<project name="cassandra" default="all" basedir="../..">
<description>DaCapo Cassandra Benchmark</description>
<property file="dacapo.properties"/>
<property name="bm-name" value="cassandra"/>
<property name="bm-version" value="3.11.3"/>
<property name="bm-src" value="${bm-name}-${bm-version}.tar.gz"/>
<property name="bm-git-url" value="http://git-wip-us.apache.org/repos/asf/cassandra.git"/>
<property name="bm-git-commit" value="cassandra-${bm-version}"/>
<import file="../common.xml"/>
<property name="mvn-home" location="${toolsdir}/apache-maven-${mvn.version}/bin"/>
<property name="mvn-exe" value="${mvn-home}/mvn"/>
<condition property="mvn-exe" value="${mvn-home}/mvn.bat">
<os family="windows"/>
</condition>
<property name="ycsb-version" value="0.15.0"/>
<property name="ycsb-git-url" value="https://github.com/brianfrankcooper/YCSB.git"/>
<property name="ycsb-git-commit" value="${ycsb-version}"/>
<property name="ycsb-tgz" value="ycsb-${ycsb-version}.tar.gz"/>
<property name="datastax-driver-version" value="3.6.0"/>
<property name="datastax-driver-url" value="https://repo1.maven.org/maven2/com/datastax/cassandra/cassandra-driver-core/${datastax-driver-version}"/>
<property name="datastax-driver-jar" value="cassandra-driver-core-${datastax-driver-version}.jar"/>
<target name="source">
<antcall target="check-source">
<param name="target-dir" value="${bm-downloads}"/>
<param name="target-url" value="${datastax-driver-url}"/>
<param name="target-file" value="${datastax-driver-jar}"/>
</antcall>
<antcall target="check-git-source">
<param name="target-dir" value="${bm-downloads}"/>
<param name="git-url" value="${ycsb-git-url}"/>
<param name="git-commit" value="${ycsb-git-commit}"/>
<param name="target-file" value="${ycsb-tgz}"/>
<param name="fail-on-error" value="true"/>
</antcall>
</target>
<property name="cassandra-build-top" value="${bm-build-dir}/cassandra-${bm-version}"/>
<target name="cassandra-build">
<mkdir dir="${cassandra-build-top}"/>
<untar src="${bm-downloads}/${bm-src}" dest="${cassandra-build-top}" compression="gzip"/>
<exec executable="ant" dir="${cassandra-build-top}"/>
</target>
<target name="ycsb-build" depends="get-slf4j-simple-jar">
<property name="ycsb-dir" value="${bm-build-dir}/ycsb-${ycsb-version}"/>
<mkdir dir="${ycsb-dir}"/>
<untar src="${bm-downloads}/${ycsb-tgz}" dest="${ycsb-dir}" compression="gzip"/>
<patch patchfile="${bm-files}/ycsb.patch" dir="${ycsb-dir}" strip="0" ignorewhitespace="yes"/>
<exec executable="${mvn-exe}" dir="${ycsb-dir}">
<arg line="-pl com.yahoo.ycsb:cassandra-binding dependency:copy-dependencies -am package -DskipTests"/>
</exec>
</target>
<target name="bm-build" depends="cassandra-build, ycsb-build">
<property name="bm-harness-classpath" value="${cassandra-build-top}/build/classes/main:${bm-downloads}/${datastax-driver-jar}"/>
</target>
<property name="slf4j-version" value="1.7.25"/>
<property name="slf4j-url" value="https://www.slf4j.org/dist"/>
<property name="slf4j-tgz" value="slf4j-${slf4j-version}.tar.gz"/>
<target name="get-slf4j-simple-jar">
<antcall target="check-source">
<param name="target-dir" value="${bm-downloads}"/>
<param name="target-url" value="${slf4j-url}"/>
<param name="target-file" value="${slf4j-tgz}"/>
</antcall>
<untar src="${bm-downloads}/${slf4j-tgz}" dest="${bm-build-dir}" compression="gzip"/>
<property name="slf4j-dir" value="${bm-build-dir}/slf4j-${slf4j-version}"/>
<property name="slf4j-simple-jar" value="${slf4j-dir}/slf4j-simple-${slf4j-version}.jar"/>
</target>
<target name="libs">
<copy todir="${bm-jars}">
<resources>
<!-- cassandra libs -->
<fileset dir="${cassandra-build-top}/lib" includes="*.jar"/>
<!-- datastax cassandra driver -->
<file file="${bm-downloads}/${datastax-driver-jar}"/>
<!-- ycsb libs -->
<file file="${slf4j-simple-jar}"/>
<file file="${ycsb-dir}/cassandra/target/cassandra-binding-${ycsb-version}.jar"/>
<fileset dir="${ycsb-dir}/cassandra/target/dependency" includes="*.jar"/>
<file file="${ycsb-dir}/core/target/core-${ycsb-version}.jar"/>
<fileset dir="${ycsb-dir}/core/target/dependency">
<filename name="HdrHistogram-2.1.4.jar"/>
<filename name="htrace-core4-4.1.0-incubating.jar"/>
<filename name="jackson-core-asl-1.9.4.jar"/>
<filename name="jackson-mapper-asl-1.9.4.jar"/>
</fileset>
</resources>
</copy>
<!-- cassandra libsigar dependency -->
<zip destfile="${bm-dat}/libsigar.zip" basedir="${cassandra-build-top}/lib/sigar-bin"/>
<!-- cassandra config (XXX: maybe put it in another target/directory) -->
<zip destfile="${bm-dat}/cassandra-conf.zip" basedir="${cassandra-build-top}/conf"/>
<!-- ycsb workloads -->
<zip destfile="${bm-dat}/ycsb-workloads.zip" basedir="${ycsb-dir}/workloads"/>
</target>
<target name="jar" depends="libs">
<copy file="${cassandra-build-top}/build/apache-cassandra-${bm-version}-SNAPSHOT.jar"
tofile="${bm-jars}/cassandra-${bm-version}.jar"/>
<copy file="${cassandra-build-top}/build/apache-cassandra-thrift-${bm-version}-SNAPSHOT.jar"
tofile="${bm-jars}/cassandra-thrift-${bm-version}.jar"/>
</target>
</project>
\ No newline at end of file
benchmark cassandra
class org.dacapo.harness.CassandraBench
thread-model per_cpu
jars "cassandra-3.11.3.jar", "cassandra-thrift-3.11.3.jar", "cassandra-driver-core-3.6.0.jar", "ST4-4.0.8.jar", "airline-0.6.jar", "antlr-runtime-3.5.2.jar", "asm-5.0.4.jar", "caffeine-2.2.6.jar", "cassandra-driver-core-3.0.1-shaded.jar", "commons-cli-1.1.jar", "commons-codec-1.9.jar", "commons-lang3-3.1.jar", "commons-math3-3.2.jar", "compress-lzf-0.8.4.jar", "concurrent-trees-2.4.0.jar", "concurrentlinkedhashmap-lru-1.4.jar", "disruptor-3.0.1.jar", "ecj-4.4.2.jar", "guava-18.0.jar", "high-scale-lib-1.0.6.jar", "hppc-0.5.4.jar", "jackson-core-asl-1.9.13.jar", "jackson-mapper-asl-1.9.13.jar", "jamm-0.3.0.jar", "javax.inject.jar", "jbcrypt-0.3m.jar", "jcl-over-slf4j-1.7.7.jar", "jctools-core-1.2.1.jar", "jflex-1.6.0.jar", "jna-4.2.2.jar", "joda-time-2.4.jar", "json-simple-1.1.jar", "jstackjunit-0.0.1.jar", "libthrift-0.9.2.jar", "log4j-over-slf4j-1.7.7.jar", "logback-classic-1.1.3.jar", "logback-core-1.1.3.jar", "lz4-1.3.0.jar", "metrics-core-3.1.5.jar", "metrics-jvm-3.1.5.jar", "metrics-logback-3.1.5.jar", "netty-all-4.0.44.Final.jar", "ohc-core-0.4.4.jar", "ohc-core-j8-0.4.4.jar", "reporter-config-base-3.0.3.jar", "reporter-config3-3.0.3.jar", "sigar-1.6.4.jar", "slf4j-api-1.7.7.jar", "snakeyaml-1.11.jar", "snappy-java-1.1.1.7.jar", "snowball-stemmer-1.3.0.581.1.jar", "stream-2.5.2.jar", "thrift-server-0.3.7.jar", "cassandra-binding-0.15.0.jar", "cassandra-driver-core-3.0.0.jar", "core-0.15.0.jar", "guava-16.0.1.jar", "metrics-core-3.1.2.jar", "netty-buffer-4.0.33.Final.jar", "netty-codec-4.0.33.Final.jar", "netty-common-4.0.33.Final.jar", "netty-handler-4.0.33.Final.jar", "netty-transport-4.0.33.Final.jar", "slf4j-api-1.7.25.jar", "slf4j-simple-1.7.25.jar", "HdrHistogram-2.1.4.jar", "htrace-core4-4.1.0-incubating.jar", "jackson-core-asl-1.9.4.jar", "jackson-mapper-asl-1.9.4.jar";
size test args "workloada";
\ No newline at end of file
CREATE KEYSPACE ycsb WITH REPLICATION = {'class': 'SimpleStrategy', 'replication_factor': 1};
USE ycsb;
CREATE TABLE usertable (
y_id varchar primary key,
field0 varchar,
field1 varchar,
field2 varchar,
field3 varchar,
field4 varchar,
field5 varchar,
field6 varchar,
field7 varchar,
field8 varchar,
field9 varchar);
\ No newline at end of file
<HTML>
<HEAD>
<TITLE>DaCapo Benchmarks: Cassandra</TITLE>
<META HTTP-EQUIV="Description" NAME="DaCapo Benchmark: Cassandra"
CONTENT="The DaCapo Benchmark: Cassandra.">
<META HTTP-EQUIV="Keywords" NAME="Keywords"
CONTENT="dacapo benchmarks performance java pmd">
<LINK REL="stylesheet" TYPE="text/css" HREF="../dacapo.css"/>
</HEAD>
<BODY>
<CENTER><H3>Cassandra</H3></CENTER>
<H4>Description:</H4>
<H4>Characteristics:</H4>
<H4>References:</H4>
<H4>Harness:</H4>
<A HREF="index.html" TARGET="_top">Javadoc for Cassandra harness.</A>
</BODY>
</HTML>
bdd86aa9ddbd018ba4d72f7e50af87d4
\ No newline at end of file
c2404e811972f30f42a6479db3dd59cb
\ No newline at end of file
diff --git orig/core/src/main/java/com/yahoo/ycsb/Client.java core/src/main/java/com/yahoo/ycsb/Client.java
index 00b1e378..9b55a30f 100644
--- orig/core/src/main/java/com/yahoo/ycsb/Client.java
+++ core/src/main/java/com/yahoo/ycsb/Client.java
@@ -715,9 +715,10 @@ public final class Client {
Measurements.getMeasurements().exportMeasurements(exporter);
} finally {
- if (exporter != null) {
- exporter.close();
- }
+ // DaCapo XXX: closing the exporter will also close the DaCapo TeePrintStream
+ // if (exporter != null) {
+ // exporter.close();
+ // }
}
}
@@ -844,8 +845,8 @@ public final class Client {
e.printStackTrace();
System.exit(-1);
}
-
- System.exit(0);
+ // DaCapo: don't bomb the system/process when finish
+ // System.exit(0);
}
private static List<ClientThread> initDb(String dbname, Properties props, int threadcount,
......@@ -397,6 +397,9 @@ See ${log.build.report} for a summary of benchmark build status.
<target name="batik" depends="init,harness">
<build.bm benchmark="batik"/>
</target>
<target name="cassandra" depends="init,harness">
<build.bm benchmark="cassandra"/>
</target>
<target name="h2" depends="init,harness">
<build.bm benchmark="h2"/>
</target>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment