Seems after we added CQLMultiQueryDropBenchmark benchmark test in this commit the test which runs after it (currently CQLMultiQueryMultiSlicesBenchmark) is failing.
It seems the problem is that the data of CQLMultiQueryDropBenchmark is not removed, but the data of other tests are removed with JanusGraphFactory.drop(graph); after each test execution.
For confirmed bugs, please report:
Version: master
Storage Backend: cql
Mixed Index Backend: none
Expected Behavior: benchmark test passes
Current Behavior: benchmark test fails due to an error
Steps to Reproduce: Execute benchmark tests for CQLMultiQueryDropBenchmark
Stack Trace (if you have one)
Result "org.janusgraph.CQLMultiQueryDropBenchmark.dropVertices":
1422.933 ±(99.9%) 101.241 ms/op [Average]
(min, avg, max) = (1401.601, 1422.933, 1463.275), stdev = 26.292
CI (99.9%): [1321.692, 1524.173] (assumes normal distribution)
# JMH version: 1.37
# VM version: JDK 1.8.0_412, OpenJDK 64-Bit Server VM, 25.412-b08
# VM invoker: /opt/hostedtoolcache/Java_Zulu_jdk/8.0.412-8/x64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.CQLMultiQueryMultiSlicesBenchmark.getValuesAllPropertiesWithAllMultiQuerySlicesUnderMaxRequestsPerConnection
# Parameters: (propertyCardinalitySingle = true, verticesAmount = 5000)
# Run progress: 48.15% complete, ETA 00:29:25
# Fork: 1 of 1
# Warmup Iteration 1: <failure>
org.janusgraph.core.SchemaViolationException: Adding this property for key [~T$SchemaName] and value [rtname] violates a uniqueness constraint [SystemIndex#~T$SchemaName]
at org.janusgraph.graphdb.transaction.StandardJanusGraphTx.addProperty(StandardJanusGraphTx.java:976)
at org.janusgraph.graphdb.transaction.StandardJanusGraphTx.addProperty(StandardJanusGraphTx.java:897)
at org.janusgraph.graphdb.transaction.StandardJanusGraphTx.addProperty(StandardJanusGraphTx.java:893)
at org.janusgraph.graphdb.transaction.StandardJanusGraphTx.makeSchemaVertex(StandardJanusGraphTx.java:1030)
at org.janusgraph.graphdb.transaction.StandardJanusGraphTx.makePropertyKey(StandardJanusGraphTx.java:1049)
at org.janusgraph.graphdb.types.StandardPropertyKeyMaker.make(StandardPropertyKeyMaker.java:114)
at org.janusgraph.CQLMultiQueryMultiSlicesBenchmark.setUp(CQLMultiQueryMultiSlicesBenchmark.java:75)
at org.janusgraph.jmh_generated.CQLMultiQueryMultiSlicesBenchmark_getValuesAllPropertiesWithAllMultiQuerySlicesUnderMaxRequestsPerConnection_jmhTest._jmh_tryInit_f_cqlmultiquerymultislicesbenchmark0_G(CQLMultiQueryMultiSlicesBenchmark_getValuesAllPropertiesWithAllMultiQuerySlicesUnderMaxRequestsPerConnection_jmhTest.java:451)
at org.janusgraph.jmh_generated.CQLMultiQueryMultiSlicesBenchmark_getValuesAllPropertiesWithAllMultiQuerySlicesUnderMaxRequestsPerConnection_jmhTest.getValuesAllPropertiesWithAllMultiQuerySlicesUnderMaxRequestsPerConnection_AverageTime(CQLMultiQueryMultiSlicesBenchmark_getValuesAllPropertiesWithAllMultiQuerySlicesUnderMaxRequestsPerConnection_jmhTest.java:164)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.openjdk.jmh.runner.BenchmarkHandler$BenchmarkTask.call(BenchmarkHandler.java:527)
at org.openjdk.jmh.runner.BenchmarkHandler$BenchmarkTask.call(BenchmarkHandler.java:504)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:750)
<JMH had finished, but forked VM did not exit, are there stray running threads? Waiting 24 seconds more...>
Seems after we added
CQLMultiQueryDropBenchmark
benchmark test in this commit the test which runs after it (currentlyCQLMultiQueryMultiSlicesBenchmark
) is failing.It seems the problem is that the data of
CQLMultiQueryDropBenchmark
is not removed, but the data of other tests are removed withJanusGraphFactory.drop(graph);
after each test execution.For confirmed bugs, please report:
CQLMultiQueryDropBenchmark
Stack Trace (if you have one)