Re: [VOTE] JanusGraph 0.6.0 release


Florian Hockmann
 

I just did a quick test of the two distribution archives which just consists of starting JanusGraph Server and connecting to it via the remote console to create a vertex. For the full distribution, I then also restarted the server to verify that the vertex was persisted in Cassandra. This unfortunately failed for 0.6.0. The graph was completely empty after executing ‘bin/janusgraph.sh stop’ and ‘start’.

I’m not sure what’s causing this, but I think that we should look into it. At a first glance, the problem seems to be related to Cassandra as that didn’t create a directory ‘db/Cassandra/data/janusgraph’ for the JanusGraph keyspace. I only see directories for the system keyspaces there, but for 0.5.3 where this still worked, there was also a janusgraph keyspace directory.

 

Other then that, I also noticed that the Changelog mentions the removal of Thrift and refers to this repository where the Thrift code should be moved to: https://github.com/JanusGraph/janusgraph-cassandra

Unfortunately, the PR that would actually add the code to master branch there is still open: https://github.com/JanusGraph/janusgraph-cassandra/pull/3

I don’t think that this should stop the release, but we should try to merge it at least soon after the release.

 

Von: janusgraph-dev@... <janusgraph-dev@...> Im Auftrag von Boxuan Li
Gesendet: Dienstag, 31. August 2021 09:32
An: janusgraph-dev@...
Betreff: Re: [janusgraph-dev] [VOTE] JanusGraph 0.6.0 release

 

I did the following tests:

  1. Connected to AWS keyspace, did some simple traversals
  2. Compatibility test: using 0.5.3 CQL + ES to create a graph with 10 million nodes (https://gist.github.com/li-boxuan/d8059d1c40652c3c5308670ce383e96a), able to load using 0.6.0
  3. Did some simple performance comparison (using the graph created in the previous test) and saw significant performance improvements (up to 2x) in some queries, compared to 0.5.3:

0.5.3 (query.batch=true):

gremlin>  clock(10) { graph.traversal().V().has("name", "inner0").toList() }

==>478.1922667999999

gremlin>  clock(10) { graph.traversal().V().has("age", 0).toList() }

==>17873.4094548

gremlin> clock(10) {graph.traversal().V().has("name", "outer").out().out().toList()}

==>14500.0969486

 

 

0.6.0 (query.batch = true, query.limit-batch-size=true)

gremlin>  clock(10) { graph.traversal().V().has("name", "inner0").toList() }

==>267.27335619999997

gremlin> clock(10) { graph.traversal().V().has("age", 0).toList() }

==>7432.816540099999

gremlin> clock(10) {graph.traversal().V().has("name", "outer").out().out().toList()}

==>11786.6717737

 

  1. Basic SparkGraphComputer traversal works in Spark-local, Spark standalone cluster, and Spark yarn cluster modes. I also wrote a blog to record all configurations needed: https://li-boxuan.medium.com/configure-janusgraph-0-6-0-for-spark-64bd7628fb77

 

My vote is +1.

Join janusgraph-dev@lists.lfaidata.foundation to automatically receive all group messages.