Documentation Home

2.46 转储 2350

代码

data_node_id2350 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 表格编号
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对象。首先假设您从 API 节点 5 转储数据节点 2 上的所有操作,仅使用表 4,如下所示:

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

假设您正在使用一个 Ndb名为 的实例 MyNdb,此操作属于该实例。Ndb你可以通过调用对象的 方法看到这种情况 getReference(),就像这样:

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

前一行代码的输出是:

MyNdb.getReference(): 0x80350005

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