rngcntr
JJanusGraph
•Created by rngcntr on 11/10/2023 in #questions
Usage of _lock_ tables with ConfiguredGraphFactory vs. JanusGraphFactory
Hi everybody,
we are noticing weird behavior of JanusGraph regarding the tables
edgestore_lock_
and graphindex_lock_
. We are operating two JanusGraph clusters which use the same schema, both running on ScyllaDB. While one instance is managed by JanusGraphFactory
, we have configured multiple graphs in the other instance using ConfiguredGraphFactory
. Recently, we noticed an unexpected storage usage caused by the table edgestore_lock_
, so we started comparing the utilization of these tables for both scenarios:
As you can see, in the JanusGraphFactory
case, both _lock_
tables are hardly used. That is exactly what we expect, since we are not using any uniqueness constraints and only use MULTI
edges. As of our understanding, that should cause JanusGraph to not require locks.
In the ConfiguredGraphFactory
case, however, the edgestore_lock_
table seems to be heavily utilized, while graphindex_lock_
does not contain a single byte of data. As stated above, that feels weird, because both cases are using the same schema.
Does anybody have a deeper understanding of JanusGraph's usage of _lock_
tables? Sadly, there's little to no documentation on that topic. Is there a way to disable lock usage for ConfiguredGraphFactory
?15 replies