当前事务快照

标识

SDB_SNAP_TRANSACTIONS_CURRENT

描述

当前事务快照列出当前会话正在进行的事务信息。当前会话在每一个数据节点上正在进行的事务为一条记录(一般每个会话在每个数据节点上只有一个事务记录)。

字段信息

字段名类型描述
NodeName字符串节点名(主机名:服务名)
SessionID长整型会话 ID
TransactionID字符串事务 ID
IsRollback布尔型事务是否处于回滚中
CurrentTransLSN长整型事务当前的日志 LSN
WaitLockBSON对象正在等待的锁
TransactionLocksNum整型事务已经获得的锁
RelatedID字符串内部标示
GotLocksBSON数组事务已经获得的锁列表

Note:
WaitLock 没有锁对象时,表示事务没有在等待锁。

WaitLock 和 GetLocks 数组的字段:

字段名类型描述
CSID整型锁对象所在集合空间的 ID
CLID整型锁对象所在集合的 ID
ExtentID整型锁对象所在记录的 ID
Offset整型锁对象所在记录的偏移量
Mode字符串锁的类型:
IS:意向共享锁
IX:意向排他锁
S:共享锁
U:升级锁
X:排他锁
Count整型锁计数器(只在 GetLocks 中存在)
Duration整型锁的持有或等待时间(单位:毫秒)

不同类型的锁对象,ID 取值不一样:

没有锁

字段名
CSID-1
CLID65535
ExtentID-1
Offset-1

集合空间锁

字段名
CSID>= 0
CLID65535
ExtentID-1
Offset-1

集合锁

字段名
CSID>= 0
CLID>= 0
ExtentID-1
Offset-1

记录锁

字段名
CSID>= 0
CLID>= 0
ExtentID>= 0
Offset>= 0

示例

  1. > db.snapshot( SDB_SNAP_TRANSACTIONS_CURRENT )
  2. {
  3. "NodeName": "sdbserver1:11830",
  4. "SessionID": 89,
  5. "TransactionID": "03e80000000001",
  6. "IsRollback": false,
  7. "CurrentTransLSN": -1,
  8. "WaitLock": {},
  9. "TransactionLocksNum": 3,
  10. "RelatedID": "c0a81457c35000006b75",
  11. "GotLocks": [
  12. {
  13. "CSID": 1,
  14. "CLID": 0,
  15. "ExtentID": 9,
  16. "Offset": 36,
  17. "Mode": "U",
  18. "Count": 1,
  19. "Duration": 1137053
  20. },
  21. {
  22. "CSID": 1,
  23. "CLID": 0,
  24. "ExtentID": -1,
  25. "Offset": -1,
  26. "Mode": "IS",
  27. "Count": 1,
  28. "Duration": 1137053
  29. },
  30. {
  31. "CSID": 1,
  32. "CLID": 65535,
  33. "ExtentID": -1,
  34. "Offset": -1,
  35. "Mode": "IS",
  36. "Count": 1,
  37. "Duration": 1137053
  38. }
  39. ]
  40. }