[英]Issues with updating vertex property in Titan graph database
在我的Titan圖db中, JobLockStatus
可以是(F)ree或(B)usy基於某些條件。
對於RequestId = 203,N個作業正在嘗試同時更改joblockstatus
。 我使用下面的查詢來更新值:
GraphTraversal<Vertex, Vertex> ab =
traversalSource.V().has("RequestJob", "RequestId", 203).has("JobLockStatus","F").property("JobLockStatus", "B").iterate();
將JobLockStatus
的值從“F”更新為“B”只能在任何一個任務中隨時發生一次。 但就我而言,許多工作正在改變價值。 我怎樣才能避免這種並發問題?
請幫我解決問題。
解決了這個並發問題..通過在jobLockStatus..so上隨時使用consistencyModifier.Lock,只有一個作業可以鎖定joblockstatus並更新它..當兩個並行作業試圖鎖定時,只有一個作業會鎖定它,其他作業將獲取permanantLockException ...然后使用java中的try catch處理異常...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.