2015-11-10 33 views
1

一切運行良好,直到我的應用服務器關閉後,我無法連接到TitanDB。 我的連接代碼:無法連接到TitanDB - 具有相同實例ID []的Titan圖表已經打開。可能需要強制關機

try { 
     titanGraph = TitanFactory.build() 
        .set("storage.backend", "cassandra") 
        .set("storage.hostname", titanHostname) 
        .set("graph.unique-instance-id-suffix", 99) 
        .open(); 
      if(titanGraph.isOpen()) { 
       LOGGER.info("Success to open Titan DB"); 
      } 
     } catch (Exception e) { 
      initError(e, "Error opening Titan DB: "); 
     } 

我總是得到這樣的例外:

Caused by: com.thinkaurelius.titan.core.TitanException: A Titan graph with the same instance id [c0a838012r] is already open. Might required forced shutdown. 
    at com.thinkaurelius.titan.graphdb.database.StandardTitanGraph.<init>(StandardTitanGraph.java:133) 
    at com.thinkaurelius.titan.core.TitanFactory.open(TitanFactory.java:93) 
    at com.thinkaurelius.titan.core.TitanFactory$Builder.open(TitanFactory.java:134) 
    at com.ngsoft.security.auth.TitanLoginModule.connectTitanDB(TitanLoginModule.java:119) 
    ... 33 more 

主要問題是:

泰坦神圖使用相同的實例ID [...]已經打開。可能需要強制關機。

重新啓動我的電腦&卡桑德拉集羣沒有工作

+1

此外,當應用程序服務器出現故障時,應確保關閉TitanGraph。 –

回答

2

舉例如何從數據庫中刪除會話ID c0a838012r

我們需要通過小鬼訪問管理系統,刪除實例並提交。

  \,,,/ 
     (o o) 
-----oOOo-(_)-oOOo----- 
gremlin> g = TitanFactory.open('../conf/titan-db.properties') 
==>titangraph[cassandra:[10.20.30.11, 10.20.30.12]] 
gremlin> mgmt = g.getManagementSystem() 
==>com.t[email protected]c1fca2a 
gremlin> mgmt.getOpenInstances() 
==>c0a838019904-Yossi_c-pc1 
==>c0a838012r 
==>c0a838016736-Yossi_c-pc1 
gremlin> mgmt.forceCloseInstance('c0a838012r') 
==>null 
gremlin> mgmt.commit() 
==>null 
+0

也適用於JanusGraph,謝謝 –

相關問題