文件首頁
NDB叢集內部結構
相關文件 下載本手冊
PDF (US Ltr) - 1.2Mb
PDF (A4) - 1.2Mb


2.46 DUMP 2350

程式碼

資料節點ID 2350 運算篩選器

符號

---

核心區塊

---

說明。  根據指定的運算篩選器定義的類型和其他參數,轉儲給定資料節點或多個資料節點上的所有運算。

範例輸出。  轉儲資料節點 2 上來自 API 節點 5 的所有運算

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 都會接在指定詞之後。請參閱範例輸出以了解範例。

運算狀態。  此命令輸出中可能會出現的正常狀態在此列出

  • 交易:

    • 已準備:交易協調器閒置,等待 API 繼續

    • 執行中:交易協調器目前正在準備運算

    • 提交中準備提交已傳送提交:交易協調器正在提交

    • 完成中:交易協調器正在完成提交(提交後,需要進行一些清理)

    • 中止中:交易協調器正在中止交易

    • 掃描中:交易協調器正在掃描

  • 掃描運算:

    • WaitNextScan:掃描閒置,等待 API

    • InQueue:掃描尚未開始,而是在佇列中等待其他掃描完成

  • 主索引鍵運算:

    • 在鎖定佇列中:運算正在等待鎖定

    • 執行中:運算正在準備中

    • 已準備:運算已準備好,持有適當的鎖定,並等待提交或回復完成

與NDB API的關係。  可以將DUMP 2350的輸出與特定執行緒或Ndb物件進行比對。首先假設您僅使用資料表4,從API節點5轉儲資料節點2上的所有運算,如下所示

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()