Closed buck-ross closed 2 years ago
I have just confirmed that neither of the errors I mentioned occurs when the environment variable janusgraph.index.search.backend
is set to lucene
, which seems to confirm that this is an issue with connecting to SolrCloud.
Fast fix just remove this jar $JANUSGRAPH/lib/noggit-0.6.jar
@mad Thanks for the quick response! That seems to have worked, and JanusGraph now outputs that it is able to connect to Zookeeper without any issue, but I'm a little concerned that I have no idea what I just did to my deployment. If it's not too much trouble, would you mind explaining to me what noggit-0.8.jar
was doing, and why removing it has fixed this error? I just want to make sure this doesn't cause any other problems later on down the road.
https://github.com/JanusGraph/janusgraph/search?q=noggit As you see, noggit is supposed to be excluded from janusgraph-solr, but it comes in again through janus-graph-driver. So, there should be no impact as long as you do not use the client and server from the same lib/ folder.
Thanks so much to both of you for the help in figuring this issue out! Since there doesn't seem to be much immediate drive to fix this in the official docker image, I've gone ahead and created my own repository at buckross/janusgraph-sin-noggit, which excludes the noggit library.
I'm going to go ahead and close this issue for now. If anyone out there feels strongly that this needs to be further addressed, just @ me, and I'll re-open.
/close
Description
When running JanuceGraph using Apache Cassandra & Apache Solr, JanusGraph spits out the following error:
The stack trace doesn't seem to yield too much useful information (at least from my perspective), but the line
java.lang.IllegalArgumentException: Could not instantiate implementation: org.janusgraph.diskstorage.solr.SolrIndex
seems like a strong indicator that this id due to a failed connection to the Apache SolrCloud instance.Reproducing with Containers
Below is a script to reproduce the above error (I'm using
podman
's "pod" feature to make all of the containers share a common networking namespace. With docker, this can be accomplished with--link
):NOTE: You will need to wait for Cassandra & Solr to become operational before deploying JanusGraph, otherwise it will fail to start.
Once the JanusGraph instance has finished starting up, checking it's logs with
podman logs janusgraph
will yield the above error message, along with a following message about being unable tocreate GremlinScriptEngine for gremlin-groovy
, which I believe is directly caused by the failure to connect to Solr.You can then cleanup all services / data from this reproduction with:
Thank you for your time!