当前事务快照
标识
SDB_SNAP_TRANSACTIONS_CURRENT
描述
当前事务快照列出当前会话正在进行的事务信息。当前会话在每一个数据节点上正在进行的事务为一条记录(一般每个会话在每个数据节点上只有一个事务记录)。
字段信息
字段名 | 类型 | 描述 |
---|---|---|
NodeName | 字符串 | 节点名(主机名:服务名) |
SessionID | 长整型 | 会话 ID |
TransactionID | 字符串 | 事务 ID |
IsRollback | 布尔型 | 事务是否处于回滚中 |
CurrentTransLSN | 长整型 | 事务当前的日志 LSN |
WaitLock | BSON对象 | 正在等待的锁 |
TransactionLocksNum | 整型 | 事务已经获得的锁 |
RelatedID | 字符串 | 内部标示 |
GotLocks | BSON数组 | 事务已经获得的锁列表 |
Note:
当 WaitLock 没有锁对象时,表示事务没有在等待锁。
WaitLock 和 GetLocks 数组的字段:
字段名 | 类型 | 描述 |
---|---|---|
CSID | 整型 | 锁对象所在集合空间的 ID |
CLID | 整型 | 锁对象所在集合的 ID |
ExtentID | 整型 | 锁对象所在记录的 ID |
Offset | 整型 | 锁对象所在记录的偏移量 |
Mode | 字符串 | 锁的类型: IS:意向共享锁 IX:意向排他锁 S:共享锁 U:升级锁 X:排他锁 |
Count | 整型 | 锁计数器(只在 GetLocks 中存在) |
Duration | 整型 | 锁的持有或等待时间(单位:毫秒) |
不同类型的锁对象,ID 取值不一样:
没有锁
字段名 | 值 |
---|---|
CSID | -1 |
CLID | 65535 |
ExtentID | -1 |
Offset | -1 |
集合空间锁
字段名 | 值 |
---|---|
CSID | >= 0 |
CLID | 65535 |
ExtentID | -1 |
Offset | -1 |
集合锁
字段名 | 值 |
---|---|
CSID | >= 0 |
CLID | >= 0 |
ExtentID | -1 |
Offset | -1 |
记录锁
字段名 | 值 |
---|---|
CSID | >= 0 |
CLID | >= 0 |
ExtentID | >= 0 |
Offset | >= 0 |
示例
> db.snapshot( SDB_SNAP_TRANSACTIONS_CURRENT )
{
"NodeName": "sdbserver1:11830",
"SessionID": 89,
"TransactionID": "03e80000000001",
"IsRollback": false,
"CurrentTransLSN": -1,
"WaitLock": {},
"TransactionLocksNum": 3,
"RelatedID": "c0a81457c35000006b75",
"GotLocks": [
{
"CSID": 1,
"CLID": 0,
"ExtentID": 9,
"Offset": 36,
"Mode": "U",
"Count": 1,
"Duration": 1137053
},
{
"CSID": 1,
"CLID": 0,
"ExtentID": -1,
"Offset": -1,
"Mode": "IS",
"Count": 1,
"Duration": 1137053
},
{
"CSID": 1,
"CLID": 65535,
"ExtentID": -1,
"Offset": -1,
"Mode": "IS",
"Count": 1,
"Duration": 1137053
}
]
}