diff --git a/Makefile b/Makefile index 902d050035..8ade67b6d4 100644 --- a/Makefile +++ b/Makefile @@ -43,6 +43,9 @@ else TOPDIR:="/tmp/$(shell id -u -n)/rpmbuild" endif +JENKINS_BUILDNO?=0 +REL_CANDIDATE?=FALSE + # # IMPORTANT NOTES FOR BUILD # @@ -74,7 +77,7 @@ HSE_JAR:="/usr/share/hse/jni/hsejni.jar" HSEVERSION:=$(shell rpm -q hse --qf "%{VERSION}") RELTYPE:=$(shell rpm -q hse --qf "%{RELEASE}" | grep -o '^[[:alpha:]]*') # HSERELEASE:=$(shell rpm -q hse --qf "%{RELEASE}") -HSESHA:=.$(word 3,$(subst ., ,$(shell rpm -q hse --qf "%{RELEASE}"))) +HSESHA:=.$(word 6,$(subst ., ,$(shell hse version))) YCSBSHA:=.$(shell git rev-parse --short=7 HEAD) TSTAMP:=.$(shell date +"%Y%m%d.%H%M%S") @@ -115,6 +118,8 @@ rpm: dist srcs --define="hsesha $(HSESHA)" \ --define="ycsbsha $(YCSBSHA)" \ --define="_topdir $(TOPDIR)" \ + --define="rel_candidate $(REL_CANDIDATE)" \ + --define="buildno $(JENKINS_BUILDNO)" \ $(RPMSRCDIR)/hse-ycsb.spec srcs: cleansrcs diff --git a/hse-ycsb.spec b/hse-ycsb.spec index 70d285dabd..83e6770074 100644 --- a/hse-ycsb.spec +++ b/hse-ycsb.spec @@ -6,15 +6,17 @@ Summary: Yahoo! Cloud Serving Benchmark Name: hse-ycsb -Version: 2020.03.20 -Release: 1%{hsesha}%{ycsbsha} -License: Apache-2.0 +Version: 0.17.0.1 +%if %{rel_candidate} == "FALSE" +Release: %{hseversion}.%{buildno}%{hsesha}%{ycsbsha}%{?dist} +%else +Release: %{hseversion}.%{buildno}%{?dist} +%endif +License: ASL 2.0 Group: Unspecified -URL: https://www.micron.com +Url: https://github.com/hse-project/hse-ycsb -Packager: NFSQA@micron.com -Vendor: Micron Technology, Inc. -Requires: java-headless javapackages-tools python2 +Requires: java-headless javapackages-tools python2 hse Source0: ycsb-0.17.0.tar.gz @@ -30,7 +32,7 @@ AutoProv: no %define __os_install_post %{nil} %define __mypkg %{name}-%{version}-%{release} -%define __ycsb /opt/micron/ycsb +%define __ycsb /opt/%{name} %if 0%{?fedora} >= 25 || 0%{?rhel} >= 8 # don't try to generate debuginfo RPM @@ -41,7 +43,7 @@ AutoProv: no %endif %description -YCSB with custom bindings for Heterogeneous-memory Storage Engine +YCSB with bindings for Heterogeneous-memory Storage Engine (HSE) %prep %setup -c -T @@ -88,3 +90,5 @@ mv -v ycsb-0.17.0/NOTICE.txt %{buildroot}%{__ycsb} %{__ycsb}/bin/ycsb.sh %changelog +* Apr 08 2020 Jacob M Jacob - 0.17.0.1 +- Spec file updates diff --git a/hse/README.md b/hse/README.md index c67a41e4c6..7d4969bcdf 100644 --- a/hse/README.md +++ b/hse/README.md @@ -10,7 +10,12 @@ This code is derived from the ycsb project. This section describes how to run YCSB on HSE. -### 1. Set Up YCSB +### 1. Install the HSE runtime package + +Make sure you install the HSE runtime package. +e.g., hse*.rpm on RHEL. + +### 2. Set Up YCSB **NOTE:** If you are using a tarball or package distribution, go ahead and skip to the next step. @@ -21,23 +26,22 @@ Clone the YCSB git repository and compile: cd YCSB mvn clean package -### 2. Run YCSB +### 3. Run YCSB Now you are ready to run! First, load the data: - ./bin/ycsb load hse -s -P workloads/workloada -p hse.kvs_path=mp1/kvs1 + ./bin/ycsb load hse -s -P workloads/workloada -p hse.mpool_name=mp1 Then, run the workload: - ./bin/ycsb run hse -s -P workloads/workloada -p hse.kvs_path=mp1/kvs1 + ./bin/ycsb run hse -s -P workloads/workloada -p hse.mpool_name=mp1 -See the next section for the list of configuration parameters for HSE KVS. +See the next section for the list of configuration parameters for HSE. ## HSE Configuration Parameters -Only hse.kvs_path is mandatory. +Only hse.mpool_name is mandatory. -1. `hse.kvs_path`: The full path of the KVS storing the YCSB data, e.g. `mp1/kvs1` +1. `hse.mpool_name`: Name of the mpool to use storing the YCSB data.` 2. `hse.params`: HSE params in `key=value` format, separated by commas (,). -3. `hse.pfxlen`: Prefix length to be used in cursor scans. -4. `hse.config_path`: Path to an HSE config. +3. `hse.config_path`: Path to an HSE config.