文档主页
NDB 集群内部
相关文档 下载此手册
PDF (US Ltr) - 1.2Mb
PDF (A4) - 1.2Mb


2.46 DUMP 2350

代码

data_node_id 2350 operation_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

附加信息。 操作过滤器和操作状态值的信息如下。

操作过滤器值。 操作过滤器(或过滤器)可以采用以下值

表 2.7 过滤器值

过滤器
0 表 ID
1 API 节点 ID
2 2 个事务 ID,定义事务范围
3 事务协调器节点 ID

在每种情况下,指定对象的 ID 都会跟随规范符。请参阅示例输出以了解示例。

操作状态。 此命令的输出中可能出现的“正常”状态列示如下

  • 事务:

    • Prepared: 事务协调器处于空闲状态,等待 API 继续

    • Running: 事务协调器当前正在准备操作

    • Committing, Prepare to commit, Commit sent: 事务协调器正在提交

    • Completing: 事务协调器正在完成提交(提交后,需要一些清理工作)

    • Aborting: 事务协调器正在中止事务

    • Scanning: 事务协调器正在扫描

  • 扫描操作:

    • WaitNextScan: 扫描处于空闲状态,等待 API

    • InQueue: 扫描尚未开始,而是等待在队列中,等待其他扫描完成

  • 主键操作:

    • 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

假设您正在使用名为 MyNdbNdb 实例,此操作属于该实例。您可以通过调用 Ndb 对象的 getReference() 方法来查看情况,如下所示

  printf("MyNdb.getReference(): 0x%x\n", MyNdb.getReference());

前面代码行的输出为

MyNdb.getReference(): 0x80350005

显示的值的高 16 位对应于 DUMP 命令输出的 OP 行中的括号内的数字(8035)。有关此方法的更多信息,请参阅 Ndb::getReference()