- 代码
data_node_id
2350operation_filters
- 符号
---
- 内核块
---
描述。 根据指定的操作过滤器或过滤器定义的类型和其他参数,转储给定数据节点或数据节点上的所有操作。
示例输出。 从 API 节点 5 转储数据节点 2 上的所有操作
ndb_mgm> 2 DUMP 2350 1 5
2011-11-01 13:16:49 [MgmSrvr] INFO -- Node 2: Starting dump of operations
2011-11-01 13:16:49 [MgmSrvr] INFO -- Node 2: OP[470]:
Tab: 4 frag: 0 TC: 3 API: 5(0x8035)transid: 0x31c 0x3500500 op: SCAN state: InQueue
2011-11-01 13:16:49 [MgmSrvr] INFO -- Node 2: End of operation dump
附加信息。 操作过滤器和操作状态值的信息如下。
操作过滤器值。 操作过滤器(或过滤器)可以采用以下值
在每种情况下,指定对象的 ID 都会跟随规范符。请参阅示例输出以了解示例。
操作状态。 此命令的输出中可能出现的“正常”状态列示如下
-
事务:
Prepared
: 事务协调器处于空闲状态,等待 API 继续Running
: 事务协调器当前正在准备操作Committing
,Prepare to commit
,Commit sent
: 事务协调器正在提交Completing
: 事务协调器正在完成提交(提交后,需要一些清理工作)Aborting
: 事务协调器正在中止事务Scanning
: 事务协调器正在扫描
-
扫描操作:
WaitNextScan
: 扫描处于空闲状态,等待 APIInQueue
: 扫描尚未开始,而是等待在队列中,等待其他扫描完成
-
主键操作:
In lock queue
: 操作正在等待锁Running
: 操作正在准备中Prepared
: 操作已准备就绪,持有适当的锁,并等待提交或回滚完成
与 NDB API 的关系。 可以将 DUMP 2350
的输出与特定线程或 Ndb
对象匹配。首先假设您使用表 4 转储数据节点 2 上的所有操作,来自 API 节点 5,如下所示
ndb_mgm> 2 DUMP 2350 1 5 0 4
2011-11-01 13:16:49 [MgmSrvr] INFO -- Node 2: Starting dump of operations
2011-11-01 13:16:49 [MgmSrvr] INFO -- Node 2: OP[470]:
Tab: 4 frag: 0 TC: 3 API: 5(0x8035)transid: 0x31c 0x3500500 op: SCAN state: InQueue
2011-11-01 13:16:49 [MgmSrvr] INFO -- Node 2: End of operation dump
假设您正在使用名为 MyNdb
的 Ndb
实例,此操作属于该实例。您可以通过调用 Ndb
对象的 getReference()
方法来查看情况,如下所示
printf("MyNdb.getReference(): 0x%x\n", MyNdb.getReference());
前面代码行的输出为
MyNdb.getReference(): 0x80350005
显示的值的高 16 位对应于 DUMP
命令输出的 OP
行中的括号内的数字(8035)。有关此方法的更多信息,请参阅 Ndb::getReference()。