JanusGraph / janusgraph

JanusGraph: an open-source, distributed graph database
https://janusgraph.org
Other
5.28k stars 1.17k forks source link

Benchmark tests are failing #4434

Closed porunov closed 5 months ago

porunov commented 5 months ago

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:

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...>