brianfrankcooper / YCSB

Yahoo! Cloud Serving Benchmark
Apache License 2.0
4.92k stars 2.23k forks source link

Release version 0.12.0 #873

Closed risdenk closed 7 years ago

risdenk commented 7 years ago

This release is a bit overdue. There hasn't been much activity in the past few weeks as far as things being merged. I plan to cut the staging branch on Wednesday afternoon ~36hrs from now.

I'll also publish the change list going into this release and put out a request for volunteers to test it.

With next week being Thanksgiving in the US, that gives the Thursday/Friday this week and a few days next week for testing. If testing goes well we can release around 12/1.

risdenk commented 7 years ago

Here is the list of components/bindings that have changed in this release:

risdenk commented 7 years ago

Bindings that should be tested:

risdenk commented 7 years ago

Tentative release plan:

risdenk commented 7 years ago

RC1 is out: https://github.com/brianfrankcooper/YCSB/releases/tag/0.12.0-RC1

shivam-maharshi commented 7 years ago

@risdenk While running this command: {fullpath}/bin/ycsb.bat run rest -s -P workloads/workload_rest, I received the error below:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/htrace/core/HTraceConfiguration
        at com.yahoo.ycsb.Client.main(Client.java:947)
Caused by: java.lang.ClassNotFoundException: org.apache.htrace.core.HTraceConfiguration
        at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        ... 1 more

Any suggestions?

risdenk commented 7 years ago

@shivam-maharshi hmmm I see the same with

./bin/ycsb.sh run rest -s -P ./rest/src/test/resources/workload_rest

I don't get an error when I try with:

./bin/ycsb run rest -s -P ./rest/src/test/resources/workload_rest

Looks like there might be an issue with ycsb.sh and ycsb.bat resolving the classpath.

risdenk commented 7 years ago

@shivam-maharshi the issue is that the core module dependencies aren't included in a source checkout when using ycsb.sh or ycsb.bat. There isn't a lib or dependency directory for the core module after packaging. It should work if you build YCSB and extract a distribution.

yuyantingzero commented 7 years ago

googledatastore looks good, thanks!

risdenk commented 7 years ago

Thanks @yuyantingzero for testing googledatastore!

risdenk commented 7 years ago

@shivam-maharshi - Any update on testing the rest binding? @xiangcong - Can you check the azuretablestorage binding? @laa - Can you check the orientdb binding?

risdenk commented 7 years ago

Since the testing hasn't been completed yet, going to push out testing deadline to 12/5. Then release next week if possible.

joshelser commented 7 years ago

@risdenk JDBC looks fine to me. Poked around with MySQL and Apache Phoenix. Thanks for putting the RC together!

xiangcong commented 7 years ago

@risdenk I successfully ran "mvn -pl com.yahoo.ycsb:azuretablestorage-binding -am clean package" and then when I ran "./bin/ycsb load azuretablestorage ......"

It reported errors as follow:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/htrace/core/HTraceConfiguration
        at com.yahoo.ycsb.Client.main(Client.java:947)
Caused by: java.lang.ClassNotFoundException: org.apache.htrace.core.HTraceConfiguration
        at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        ... 1 more

According to your suggestion of building YCSB, I tried to ran "mvn package" , but it failed with the error

"[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.8:test (default-test) on project cassandra-binding: There are test failures."

any suggestion? Thanks~

risdenk commented 7 years ago

@xiangcong did you run with ./bin/ycsb or ./bin/ycsb.sh? I haven't had issues with ./bin/ycsb see #877 for source checkout ycsb.sh|cmd issue. Instead of just package you would need to build the distribution and extract I'm pretty sure.

risdenk commented 7 years ago

Thanks for testing the jdbc-binding @joshelser!

shivam-maharshi commented 7 years ago

@risdenk I tried building the zip with this command - mvn clean package but it fails at Cassandra binding every time. I have a windows machine.

xiangcong commented 7 years ago

@risdenk Thanks for your suggestion and test is done! It's ok for azuretablestorage binding.

risdenk commented 7 years ago

Thanks @xiangcong for checking the azuretablestorage binding!

risdenk commented 7 years ago

@shivam-maharshi hmmmm can you share more of the Cassandra test output? Open a new ticket and link to here. In the meantime you should be able to build with mvn clean package -DskipTests.

risdenk commented 7 years ago

Tested solr and solr6 bindings. Details on the commands run are below for reference.

solr binding

docker run --rm -p 8983:8983 solr:5-alpine solr-create -c ycsb
curl -X POST -H 'Content-type:application/json' --data-binary '{"add-field":{"name":"field0","type":"text_general","indexed":"true","stored":"true"},"add-field":{"name":"field1","type":"text_general","indexed":"true","stored":"true"},"add-field":{"name":"field2","type":"text_general","indexed":"true","stored":"true"},"add-field":{"name":"field3","type":"text_general","indexed":"true","stored":"true"},"add-field":{"name":"field4","type":"text_general","indexed":"true","stored":"true"},"add-field":{"name":"field5","type":"text_general","indexed":"true","stored":"true"},"add-field":{"name":"field6","type":"text_general","indexed":"true","stored":"true"},"add-field":{"name":"field7","type":"text_general","indexed":"true","stored":"true"},"add-field":{"name":"field8","type":"text_general","indexed":"true","stored":"true"},"add-field":{"name":"field9","type":"text_general","indexed":"true","stored":"true"}}' http://localhost:8983/solr/ycsb/schema
./bin/ycsb load solr -s -P workloads/workloada -p table=ycsb -p recordcount=100 -p operationcount=100
./bin/ycsb run solr -s -P workloads/workloada -p table=ycsb -p recordcount=100 -p operationcount=100

solr6 binding

docker run --rm -p 8983:8983 solr:6-alpine solr-create -c ycsb
curl -X POST -H 'Content-type:application/json' --data-binary '{"add-field":{"name":"field0","type":"text_general","indexed":"true","stored":"true"},"add-field":{"name":"field1","type":"text_general","indexed":"true","stored":"true"},"add-field":{"name":"field2","type":"text_general","indexed":"true","stored":"true"},"add-field":{"name":"field3","type":"text_general","indexed":"true","stored":"true"},"add-field":{"name":"field4","type":"text_general","indexed":"true","stored":"true"},"add-field":{"name":"field5","type":"text_general","indexed":"true","stored":"true"},"add-field":{"name":"field6","type":"text_general","indexed":"true","stored":"true"},"add-field":{"name":"field7","type":"text_general","indexed":"true","stored":"true"},"add-field":{"name":"field8","type":"text_general","indexed":"true","stored":"true"},"add-field":{"name":"field9","type":"text_general","indexed":"true","stored":"true"}}' http://localhost:8983/solr/ycsb/schema
./bin/ycsb load solr6 -s -P workloads/workloada -p table=ycsb -p recordcount=100 -p operationcount=100
./bin/ycsb run solr6 -s -P workloads/workloada -p table=ycsb -p recordcount=100 -p operationcount=100
shivam-maharshi commented 7 years ago

@risdenk

Issue created: https://github.com/brianfrankcooper/YCSB/issues/880

After skipping test the build was a success but while running rest-module I still received the same error as before. Please find the details below.

Build status

[INFO] YCSB Root .......................................... SUCCESS [  1.838 s]
[INFO] Core YCSB .......................................... SUCCESS [ 29.808 s]
[INFO] Per Datastore Binding descriptor ................... SUCCESS [  0.588 s]
[INFO] YCSB Datastore Binding Parent ...................... SUCCESS [  0.829 s]
[INFO] Accumulo DB Binding ................................ SUCCESS [ 15.000 s]
[INFO] Aerospike DB Binding ............................... SUCCESS [  1.756 s]
[INFO] ArangoDB Binding ................................... SUCCESS [  2.463 s]
[INFO] AsyncHBase Client Binding for Apache HBase ......... SUCCESS [  9.211 s]
[INFO] Azure table storage Binding ........................ SUCCESS [  1.960 s]
[INFO] Cassandra 2.1+ DB Binding .......................... SUCCESS [  4.440 s]
[INFO] Couchbase Binding .................................. SUCCESS [  2.408 s]
[INFO] Couchbase Java SDK 2.x Binding ..................... SUCCESS [  2.902 s]
[INFO] DynamoDB DB Binding ................................ SUCCESS [ 52.244 s]
[INFO] Elasticsearch Binding .............................. SUCCESS [ 26.855 s]
[INFO] Geode DB Binding ................................... SUCCESS [ 31.933 s]
[INFO] Google Cloud Datastore Binding ..................... SUCCESS [  8.067 s]
[INFO] Google Cloud Bigtable Binding ...................... SUCCESS [ 10.781 s]
[INFO] HBase 0.98.x DB Binding ............................ SUCCESS [ 19.010 s]
[INFO] HBase 0.94.x DB Binding ............................ SUCCESS [ 38.895 s]
[INFO] HBase 1.0 DB Binding ............................... SUCCESS [  7.981 s]
[INFO] Hypertable DB Binding .............................. SUCCESS [  4.474 s]
[INFO] Infinispan DB Binding .............................. SUCCESS [ 10.567 s]
[INFO] JDBC DB Binding .................................... SUCCESS [  8.548 s]
[INFO] Kudu DB Binding .................................... SUCCESS [  7.706 s]
[INFO] memcached binding .................................. SUCCESS [  3.379 s]
[INFO] MongoDB Binding .................................... SUCCESS [  5.562 s]
[INFO] Oracle NoSQL Database Binding ...................... SUCCESS [  3.134 s]
[INFO] OrientDB Binding ................................... SUCCESS [  5.785 s]
[INFO] rados of Ceph FS binding ........................... SUCCESS [  3.093 s]
[INFO] Redis DB Binding ................................... SUCCESS [  2.438 s]
[INFO] Rest Client Binding ................................ SUCCESS [  5.033 s]
[INFO] Riak KV Binding .................................... SUCCESS [  5.327 s]
[INFO] S3 Storage Binding ................................. SUCCESS [  2.750 s]
[INFO] Solr Binding ....................................... SUCCESS [ 44.800 s]
[INFO] Solr 6 Binding ..................................... SUCCESS [ 42.324 s]
[INFO] Tarantool DB Binding ............................... SUCCESS [  1.507 s]
[INFO] YCSB Release Distribution Builder .................. SUCCESS [ 18.236 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 07:24 min
[INFO] Finished at: 2016-12-05T01:19:25-05:00
[INFO] Final Memory: 153M/779M
[INFO] ------------------------------------------------------------------------

The error while running rest module:

C:\Users\Sam\Downloads\YCSB-0.12.0-RC1>C:/Users/Sam/Downloads/YCSB-0.12.0-RC1/bin/ycsb.bat run rest -s -P workloads/workload_rest

C:\Users\Sam\Downloads\YCSB-0.12.0-RC1>"C:\Program Files\Java\jdk1.8.0_60\bin\java.exe"  -classpath "C:\Users\Sam\Downloads\YCSB-0.12.0-RC1\conf;C:\Users\Sam\Downloads\YCSB-0.12.0-RC1\core\target\core-0.12.0-RC1.jar;C:\Users\Sam\Downloads\YCSB-0.12.0-RC1\rest\target\rest-binding-0.12.0-RC1.jar;C:\Users\Sam\Downloads\YCSB-0.12.0-RC1\rest\target\dependency\aopalliance-repackaged-2.2.0.jar;C:\Users\Sam\Downloads\YCSB-0.12.0-RC1\rest\target\dependency\commons-codec-1.9.jar;C:\Users\Sam\Downloads\YCSB-0.12.0-RC1\rest\target\dependency\commons-logging-1.2.jar;C:\Users\Sam\Downloads\YCSB-0.12.0-RC1\rest\target\dependency\ecj-4.4.2.jar;C:\Users\Sam\Downloads\YCSB-0.12.0-RC1\rest\target\dependency\hk2-api-2.2.0.jar;C:\Users\Sam\Downloads\YCSB-0.12.0-RC1\rest\target\dependency\hk2-locator-2.2.0.jar;C:\Users\Sam\Downloads\YCSB-0.12.0-RC1\rest\target\dependency\hk2-utils-2.2.0.jar;C:\Users\Sam\Downloads\YCSB-0.12.0-RC1\rest\target\dependency\httpclient-4.5.1.jar;C:\Users\Sam\Downloads\YCSB-0.12.0-RC1\rest\target\dependency\httpcore-4.4.4.jar;C:\Users\Sam\Downloads\YCSB-0.12.0-RC1\rest\target\dependency\javassist-3.18.1-GA.jar;C:\Users\Sam\Downloads\YCSB-0.12.0-RC1\rest\target\dependency\javax.annotation-api-1.2.jar;C:\Users\Sam\Downloads\YCSB-0.12.0-RC1\rest\target\dependency\javax.inject-2.2.0.jar;C:\Users\Sam\Downloads\YCSB-0.12.0-RC1\rest\target\dependency\javax.ws.rs-api-2.0.jar;C:\Users\Sam\Downloads\YCSB-0.12.0-RC1\rest\target\dependency\jersey-client-2.6.jar;C:\Users\Sam\Downloads\YCSB-0.12.0-RC1\rest\target\dependency\jersey-common-2.6.jar;C:\Users\Sam\Downloads\YCSB-0.12.0-RC1\rest\target\dependency\jersey-container-servlet-core-2.6.jar;C:\Users\Sam\Downloads\YCSB-0.12.0-RC1\rest\target\dependency\jersey-guava-2.6.jar;C:\Users\Sam\Downloads\YCSB-0.12.0-RC1\rest\target\dependency\jersey-server-2.6.jar;C:\Users\Sam\Downloads\YCSB-0.12.0-RC1\rest\target\dependency\osgi-resource-locator-1.0.1.jar;C:\Users\Sam\Downloads\YCSB-0.12.0-RC1\rest\target\dependency\system-rules-1.16.0.jar;C:\Users\Sam\Downloads\YCSB-0.12.0-RC1\rest\target\dependency\tomcat-dbcp-8.0.28.jar;C:\Users\Sam\Downloads\YCSB-0.12.0-RC1\rest\target\dependency\tomcat-embed-core-8.0.28.jar;C:\Users\Sam\Downloads\YCSB-0.12.0-RC1\rest\target\dependency\tomcat-embed-el-8.0.28.jar;C:\Users\Sam\Downloads\YCSB-0.12.0-RC1\rest\target\dependency\tomcat-embed-jasper-8.0.28.jar;C:\Users\Sam\Downloads\YCSB-0.12.0-RC1\rest\target\dependency\tomcat-embed-logging-juli-8.0.28.jar;C:\Users\Sam\Downloads\YCSB-0.12.0-RC1\rest\target\dependency\tomcat-embed-logging-log4j-8.0.28.jar;C:\Users\Sam\Downloads\YCSB-0.12.0-RC1\rest\target\dependency\tomcat-embed-websocket-8.0.28.jar;C:\Users\Sam\Downloads\YCSB-0.12.0-RC1\rest\target\dependency\validation-api-1.1.0.Final.jar" com.yahoo.ycsb.Client -t -db com.yahoo.ycsb.webservice.rest.RestClient -s -P workloads/workload_rest
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/htrace/core/HTraceConfiguration
        at com.yahoo.ycsb.Client.main(Client.java:947)
Caused by: java.lang.ClassNotFoundException: org.apache.htrace.core.HTraceConfiguration
        at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        ... 1 more

Any suggestions what can I do to circumvent this?

risdenk commented 7 years ago

@shivam-maharshi if you really want to use bin/ycsb.bat instead of bin/ycsb you need to extract the tar.gz from the distribution/target folder after building and then use it.

shivam-maharshi commented 7 years ago

@risdenk that worked! I verified the rest-binding and it worked perfectly well. Thanks for creating the RC!

risdenk commented 7 years ago

Thanks @shivam-maharshi for testing the rest-binding!

risdenk commented 7 years ago

I checked OrientDB and didn't find any issues there either. I'll get to the release notes and finish out the release today.

risdenk commented 7 years ago

Here are the draft release notes: https://gist.github.com/risdenk/483fba8c7469f717239bf133ce98ebc8

Can someone please review? Thanks!

joshelser commented 7 years ago

:+1:

risdenk commented 7 years ago

Thanks @joshelser! I'll work through the remaining release steps.

shivam-maharshi commented 7 years ago

👍

risdenk commented 7 years ago

Release it out: https://github.com/brianfrankcooper/YCSB/releases/tag/0.12.0