【问题标题】:Issues with updating vertex property in Titan graph database在 Titan 图数据库中更新顶点属性的问题
【发布时间】:2017-03-20 10:26:26
【问题描述】:

在我的 Titan 图形数据库中,JobLockStatus 可以是 (F)ree(B)usy 基于某些条件。

N 个作业正在尝试同时更改 joblockstatus,RequestId=203。我正在使用以下查询来更新值:

GraphTraversal<Vertex, Vertex> ab =
traversalSource.V().has("RequestJob", "RequestId", 203).has("JobLockStatus","F").property("JobLockStatus", "B").iterate();  

JobLockStatus 的值从“F”更新为“B”应该只发生一次,由任何一个作业,在任何时候。但就我而言,许​​多工作正在改变价值。如何避免这样的并发问题?
请帮我解决问题。

【问题讨论】:

    标签: java cassandra titan gremlin tinkerpop3


    【解决方案1】:

    解决了这个并发问题..通过在jobLockStatus上使用consistencyModifier.Lock..所以在任何时候,只有一个作业可以锁定joblockstatus并更新它..当两个并行作业尝试锁定时,只有一个作业会锁定它并且其他作业会得到 permanantLockException..然后使用 java 中的 try catch 处理异常...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-27
      • 2016-05-26
      • 2017-09-26
      • 2013-06-28
      • 2015-04-08
      • 1970-01-01
      相关资源
      最近更新 更多