我在 cassandra 上运行 REXSTER/TITAN 0.4 并使用 gremlin 进行遍历。
我在 Rexster Doghouse Gremlin 控制台中运行了下面的 gremlin 查询。
顶点 92 之前已被删除,因为它是具有相同键的重复顶点(“eddy.com”)
但是当我查询时,有时会得到该顶点,有时则不会。
这是在本地开发机器中运行,意味着中间没有其他线程或并行任务正在运行/更新此顶点。
我在这里缺少任何配置/设置吗?这是一个错误吗?请帮忙!
gremlin> g.V('domain','eddy.com')
==>v[88]
gremlin> g.V('domain','eddy.com')
==>v[88]
==>v[92]
gremlin> g.V('domain','eddy.com')
==>v[88]
gremlin> g.V('domain','eddy.com')
==>v[88]
gremlin> g.V('domain','eddy.com')
==>v[88]
==>v[92]
您没有说明删除是如何发生的,但这个问题几乎总是归结为未提交或过时的事务。换句话说,它是:
- 删除事务未提交
- 事务已提交,但查询端未启动新事务,因此正在获取缓存数据。
所以一定要打电话g.commit()
完成之后你会绘制突变图。然后,当您进行查询时(在不同的上下文中,例如 Rexster Console、Dog House 等),请务必g.rollback()
在您查询之前确保您没有阅读过时的内容。
如果您想知道为什么在某些情况下会看到删除的数据,而在其他情况下则看不到,这是因为向 Rexster 发出请求可能会在具有新事务状态(或没有)的线程中进行处理,从而给您带来不同的结果。
如果这两种情况都不是,并且可能是一个错误,我只能建议您更新到 Titan 0.5.4。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)