I have a multi-node Cassandra cluster version 4.1.3 with 3 nodes. I have changed the following properties in their cassandra.yaml file.
cluster_name: 'cassandra_cluster'
listen_address: <node_IP>
rpc_address: <node_IP>
endpoint_snitch: GossipingPropertyFileSnitch
Also, I have configured one of the Cassandra nodes as seed node by changing the following configuration.
seed_provider:
- class_name: org.apache.cassandra.locator.SimpleSeedProvider
parameters:
- seeds: "<seedNode_IP>"
I tried running JanusGraph version 1.0.0 with the following configurations.
storage.backend=cql
storage.hostname=<node1_IP>,<node2_IP>,<node3_IP>
cache.db-cache=true
cache.db-cache-size=0.5
ids.block-size=30000000
storage.batch-loading=true
storage.port=9042
storage.cql.local-datacenter=dc1
storage.cql.replication-strategy-class=NetworkTopologyStrategy
storage.cql.replication-strategy-options=dc1,3
When instantiating connection to Cassandra through JanusGraph, I receive the following exception.
Exception in thread "main" com.datastax.oss.driver.api.core.servererrors.InvalidQueryException: table system_properties does not exist
at com.datastax.oss.driver.api.core.servererrors.InvalidQueryException.copy(InvalidQueryException.java:48)
at com.datastax.oss.driver.internal.core.util.concurrent.CompletableFutures.getUninterruptibly(CompletableFutures.java:149)
at com.datastax.oss.driver.internal.core.cql.CqlPrepareSyncProcessor.process(CqlPrepareSyncProcessor.java:59)
at com.datastax.oss.driver.internal.core.cql.CqlPrepareSyncProcessor.process(CqlPrepareSyncProcessor.java:31)
at com.datastax.oss.driver.internal.core.session.DefaultSession.execute(DefaultSession.java:230)
at com.datastax.oss.driver.api.core.cql.SyncCqlSession.prepare(SyncCqlSession.java:206)
at org.janusgraph.diskstorage.cql.CQLKeyColumnValueStore.<init>(CQLKeyColumnValueStore.java:217)
at org.janusgraph.diskstorage.cql.CQLStoreManager.lambda$openDatabase$7(CQLStoreManager.java:308)
at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1705)
at org.janusgraph.diskstorage.cql.CQLStoreManager.openDatabase(CQLStoreManager.java:308)
at org.janusgraph.diskstorage.keycolumnvalue.KeyColumnValueStoreManager.openDatabase(KeyColumnValueStoreManager.java:43)
at org.janusgraph.diskstorage.configuration.backend.builder.KCVSConfigurationBuilder.buildStandaloneGlobalConfiguration(KCVSConfigurationBuilder.java:51)
at org.janusgraph.diskstorage.configuration.builder.ReadConfigurationBuilder.buildGlobalConfiguration(ReadConfigurationBuilder.java:71)
at org.janusgraph.graphdb.configuration.builder.GraphDatabaseConfigurationBuilder.build(GraphDatabaseConfigurationBuilder.java:67)
at org.janusgraph.core.JanusGraphFactory.open(JanusGraphFactory.java:176)
at org.janusgraph.core.JanusGraphFactory.open(JanusGraphFactory.java:147)
at org.janusgraph.core.JanusGraphFactory.open(JanusGraphFactory.java:137)
at org.janusgraph.core.JanusGraphFactory$Builder.open(JanusGraphFactory.java:277)
at causalai.knowledgegraph.JanusGraphClient.main(JanusGraphClient.java:57)
I tried running Cassandra as a single-node cluster. Also, exluded storage.cql.replication-strategy-class,storage.cql.replication-strategy-options from JanusGraph. With this setup, JanusGraph works as expected.