文章目錄
一、問題描述
在使用web-api的時候將對象鎖死,如下圖
二、解決方案
1、查找被lock的session:
psql_client cpm postgres -c "SELECT objid, name, dlesession, cpmitable, subquery1.lockingsessionid, subquery1.operation FROM dleobjectderef_data, (SELECT lockedobjid, lockingsessionid, operation FROM locknonos) subquery1 WHERE subquery1.lockedobjid = objid and not deleted and dlesession >=0;"
-[ RECORD 1 ]----+--------------------------------------------
objid | f814aa30-bbf1-4b9f-b33d-b1d4e2d144fd
name | SZone1
dlesession | 0
cpmitable | network_objects
lockingsessionid | 07a5fc58-a1e3-43ba-8ea2-ea020e1a75d3
operation | CP_LOCK_ALL_OPERATIONS
-[ RECORD 2 ]----+--------------------------------------------
objid | 8e84d59f-adaa-4f84-8a3e-1bfde9c96f10
name |
dlesession | 0
cpmitable |
lockingsessionid | 3053495c-df2a-43bf-874e-ab424f8d3894
operation | CP_LOCK_OPERATION_RULEBASE_STRUCTURE_CHANGE
-[ RECORD 3 ]----+--------------------------------------------
objid | c24edbe8-f7ea-4daa-a489-9ff59dbee1a6
name | API_testing
dlesession | 0
cpmitable |
lockingsessionid | 3053495c-df2a-43bf-874e-ab424f8d3894
operation | CP_LOCK_ALL_OPERATIONS
2、記錄lockingsessionid:
此時需要discard 上面顯示中name爲API_testing
的會話
3053495c-df2a-43bf-874e-ab424f8d3894
3、discard lockingsessionid
[Expert@Hostname]# mgmt_cli login -r true > id.txt
[Expert@Hostname]# mgmt_cli discard uid 3053495c-df2a-43bf-874e-ab424f8d3894 -s id.txt
[Expert@Hostname]# mgmt_cli publish -s id.txt
[Expert@Hostname]# mgmt_cli logout -s id.txt