【发布时间】:2020-06-10 06:08:41
【问题描述】:
我是 Janusgraph 的新手,使用 Cassandra 作为后端数据库。我有一个查询,它使用查找节点的所有传入边。为此,我需要在 Janusgraph 配置中将读取一致性设置为 ONE。我尝试了以下配置,但无法获得正确的读取一致性:
public static JanusGraph create() {
JanusGraphFactory.Builder config = JanusGraphFactory.build();
config.set("storage.backend", "cassandrathrift");
config.set("storage.cassandra.keyspace", "cs_graph");
config.set("storage.cassandra.read-consistency-level","ONE");
config.set("storage.cassandra.write-consistency-level","ONE");
config.set("storage.cassandra.frame-size-mb", "128");
config.set("storage.cassandra.thrift.cpool.max-wait", 360000);
config.set("storage.hostname", "10.XXX.1.XXX");
config.set("connectionPool.keepAliveInterval","360000");
config.set("storage.cql.only-use-local-consistency-for-system-operations","true");
graph = config.open();
System.out.println("Graph = "+graph);
traversalSource = graph.traversal();
System.out.println("traversalSource = "+traversalSource);
getAllEdges();
return graph;
}
但是,客户端仍以 QUORUM 级别的一致性显示 CassandraTransaction。
这里是日志:
16:40:54.799 [main] 调试 o.j.d.cassandra.CassandraTransaction - 创建 CassandraTransaction@25e2a451[read=QUORUM,write=QUORUM] 16:40:54.800 [主] 调试 o.j.d.cassandra.CassandraTransaction - 创建 CassandraTransaction@1698ee84[read=QUORUM,write=QUORUM] 全部 边缘 = 100000 16:40:55.754 [主] 调试 o.j.g.database.StandardJanusGraph - 关闭图 standardjanusgraph[cassandrathrift:[10.70.1.167]] 使用关机钩子 线程[Thread-5,5,main] 16:40:55.755 [main] 调试 o.j.d.cassandra.CassandraTransaction - 创建 CassandraTransaction@3e5499cc[读=QUORUM,写=QUORUM] 16:40:55.755 [主要] 调试 o.j.d.cassandra.CassandraTransaction - 创建 CassandraTransaction@67ab1c47[读=QUORUM,写=QUORUM] 16:40:56.113 [主要] 调试 o.j.d.cassandra.CassandraTransaction - 创建 CassandraTransaction@6821ea29[读=QUORUM,写=QUORUM] 16:40:56.542 [主要] 调试 o.j.d.cassandra.CassandraTransaction - 创建 CassandraTransaction@338494fa[读=QUORUM,写=QUORUM] 16:40:56.909 [主要] 信息 o.j.d.c.t.CassandraThriftStoreManager - 关闭 Thrift 连接池。
关于如何将其更改为 ONE 或 LOCAL 一致性级别的任何建议?
【问题讨论】:
标签: graph cassandra janusgraph consistency quorum