Cosminexus システム運用ガイド

[目次][用語][索引][前へ][次へ]

付録A.12 OTSのトレース取得ポイント

ここでは,OTSのトレース取得ポイントと,取得できるトレース情報について説明します。

トレース取得ポイントPRFトレース取得レベル

イベントID,トレース取得ポイント,およびPRFトレース取得レベルについて,次の表に示します。

表A-58 OTSでのトレース取得ポイントの詳細

イベントID 図中の番号 トレース取得ポイント レベル
0x9400 1 トランザクション生成直後 A
0x9401 2 トランザクションの状態がMarkedRollbackへ遷移した直後 A
0x9402 3 トランザクションの状態がRollingBackへ遷移した直後 A
0x9403 12 トランザクション決着直後 A
0x9404 4 javax.transaction.xa.XAResourceへの決着処理直前 B
0x9405 5 javax.transaction.xa.XAResourceへの決着処理直後 B
0x9406 6 サブオーディネートトランザクションへの決着処理直前 B
0x9407 9 サブオーディネートトランザクションへの決着処理直後 B
0x9408 7 スペリアトランザクションからの決着処理要求受信直後 B
0x9409 8 スペリアトランザクションからの決着処理要求返信直前 B
0x9410 13 javax.transaction.xa.XAResourceオブジェクト取得処理直前 B
0x9411 14 javax.transaction.xa.XAResourceオブジェクト取得処理直後 B
0x9412 10 ステータスファイルへの書き込み・読み込み直前 B
0x9413 11 ステータスファイルへの書き込み・読み込み直後 B

(凡例)  A:標準  B:詳細

注※
図A-36〜A-40中の番号と対応しています。

OTSでのトレース取得ポイントを次の図に示します。

図A-36 トランザクション生成から決着までのトレース取得ポイント

[図データ]

図A-37 インプロセスOTS初期化時のステータスファイルへの読み込み・書き込みに関連するトレース取得ポイント

[図データ]

図A-38 javax.transaction.xa.Xidの回復処理でのトレース取得ポイント

[図データ]

図A-39 典型的な1フェーズコミットモデルでのトレース取得ポイント

[図データ]

図A-40 典型的な2フェーズコミットモデルでのトレース取得ポイント

[図データ]

取得できるトレース情報

OTSで取得できるトレース情報を次の表に示します。なお,次の表の中で,一つの項目に複数の情報が個条書きで記載してある場合は,そのどれかが出力されることを意味します。

表A-59 OTSで取得できるトレース情報

図中の番号※1 イベントID レベル 取得できる情報
インタフェース名 オペレーション名 オプション
1 0x9400 A global transaction
  • | created
    トランザクション開始指示を受け,生成されました。
  • | recreated
    別ノードからトランザクション処理への参加指示を受け,生成されました。
  • | recovered
    ステータスファイルから回復されました。
  • | recovered(orphan)
    javax.transaction.xa.XAResourceからXidが回復されましたが,これに対応するトランザクションが存在しないため,トランザクションが新たに生成されました。
<グローバルトランザクションID>
2 0x9401 A global transaction | marked rollback(<遷移した理由>※2) <グローバルトランザクションID>
3 0x9402 A global transaction | rolling back(<遷移した理由>※3) <グローバルトランザクションID>
12 0x9403 A global transaction
  • | committed
    コミットしました。
  • | rolled back
    ロールバックしました。
  • | heuristic commit
    強制コミットしました。
  • | heuristic rollback
    強制ロールバックしました。
  • | heuristic mixed
    部分的にコミットおよびロールバックされました。
  • | heuristic hazard
    コミットしたかロールバックしたか不明です。
  • | unknown
    コミットしたかロールバックしたか不明です。
  • | invalid status
    上記以外の状態で決着しました。
<グローバルトランザクションID>
4 0x9404 B
  • <XAResource識別子>
  • なし

  • > prepare
    prepareを発行します。
  • > commit(second phase)
    2相目のcommitを発行します。
  • > commit(one phase)
    1相目のcommitを発行します。
  • > rollback
    rollbackを発行します。
  • > forget
    forgetを発行します。
  • > recover
    recoverを発行します。

  • <グローバルトランザクションID>
  • なし
5 0x9405 B
  • <XAResource識別子>
  • なし

正常リターンの場合
  • < prepare
  • < commit(second phase)
  • < commit(one phase)
  • < rollback
  • < forget
  • < recover

異常リターンの場合(想定外の値がリターンされた場合,または例外が発生した場合)
  • <!prepare
  • <!commit(second phase)
  • <!commit(one phase)
  • <!rollback
  • <!forget
  • <!recover

  • <グローバルトランザクションID>:<結果>※4
  • なし
6 0x9406 B resource
  • > prepare
    prepareを発行します。
  • > commit(second phase)
    2相目のcommitを発行します。
  • > commit(one phase)
    1相目のcommitを発行します。
  • > rollback
    rollbackを発行します。
  • > forget
    forgetを発行します。
<グローバルトランザクションID>
9 0x9407 B resource

正常リターンの場合
  • < prepare
  • < commit(second phase)
  • < commit(one phase)
  • < rollback
  • < forget

異常リターンの場合(想定外の値がリターンされた場合,または例外が発生した場合)
  • <!prepare
  • <!commit(second phase)
  • <!commit(one phase)
  • <!rollback
  • <!forget

  • <グローバルトランザクションID>
  • <グローバルトランザクションID>:<結果>※5
7 0x9408 B subordinate transaction
  • > prepare
    prepare指示が入ってきました。
  • > commit(second phase)
    2相目のcommit指示が入ってきました。
  • > commit(one phase)
    1相目のcommit指示が入ってきました。
  • > rollback
    rollback指示が入ってきました。
  • > forget
    forget指示が入ってきました。
<グローバルトランザクションID>
8 0x9409 B subordinate transaction

正常リターンの場合
  • < prepare
  • < commit(second phase)
  • < commit(one phase)
  • < rollback
  • < forget

異常リターンの場合(想定外の値がリターンされた場合,または例外が発生した場合)
  • <!prepare
  • <!commit(second phase)
  • <!commit(one phase)
  • <!rollback
  • <!forget

  • <グローバルトランザクションID>
  • <グローバルトランザクションID>:<結果>※6
13 0x9410 B
  • なし
  • <XAResource識別子>
> get xaresource
  • なし
  • <グローバルトランザクションID>
14 0x9411 B
  • なし
  • <XAResource識別子>

正常リターンの場合
  • < get xaresource

異常リターン場合(想定外の値がリターンされた場合,または例外が発生した場合)
  • <!get xaresource

  • なし
  • <結果>※7
  • <グローバルトランザクションID>
  • <グローバルトランザクションID>:<結果>※7
10 0x9412 B
  • <ステータスファイル名>
  • <ステータスファイル名>:<エントリ番号>※8

  • > write(<書き込む内容>※9)
  • > read(<読み込む内容>※10)

  • なし
  • <グローバルトランザクションID>
11 0x9413 B
  • <ステータスファイル名>
  • <ステータスファイル名>:<エントリ番号>※8

正常リターンの場合
  • < write
  • < read

異常リターン(想定外の値がリターンされた場合,または例外が発生した場合)
  • <!write
  • <!read

  • なし
  • <結果>※11
  • <グローバルトランザクションID>
  • <グローバルトランザクションID>:<結果>※11

(凡例)  A:標準 B:詳細


注※1
図A-36〜A-40中の番号と対応しています。

注※2
遷移した理由として,次のどれかが出力されます。
  • operation
    インプロセスOTS外部から指示されました。
  • server call
    別ノードにあるサーバへの呼び出しに失敗しました。
  • superior
    別ノードからトランザクション処理への参加指示を受けましたが,すでにそのトランザクションがMarkedRollback状態でした。
  • sync before
    決着処理中のJTAへのコールバック処理に失敗しました。

注※3
遷移した理由として,次のどれかが出力されます。
  • operation
    インプロセスOTS外部から指示されました。
  • timeout
    グローバルトランザクションタイムアウトが発生しました。
  • superior
    スペリアトランザクションから指示されました。
  • forgotten
    サブオーディネートトランザクション,またはjavax.transaction.xa.XAResourceに対して決着指示を出すトランザクションが存在しないと判断しました。
  • end
    javax.transaction.xa.XAResourceに対するendに失敗しました。
  • prepare
    javax.transaction.xa.XAResourceに対するprepareに失敗しました。
  • write prepared
    ステータスファイルへのprepared書き込みに失敗しました。
  • write committing
    ステータスファイルへのcommitting書き込みに失敗しました。

注※4
prepare,commit,rollbackまたはforgetの場合,結果として次のどれかが出力されます。
  • リターン値
  • XAExceptionのエラーコード
  • 例外(=XAException以外の例外)のtoString()
recoverの場合,結果として次のどれかが出力されます。
  • 回復されたXidの個数
  • null(Xid配列自体がnullの場合)
  • XAExceptionのエラーコード
  • 例外(=XAException以外の例外)のtoString()

注※5
prepareの場合,結果として次のどちらかが出力されます。
  • リターンされた値
  • 例外のtoString()
prepare以外の場合,結果として例外のtoString()が出力されます。

注※6
prepareの場合,結果として次のどちらかが出力されます。
  • リターンする値
  • 例外のtoString()
prepare以外の場合,結果として例外のtoString()が出力されます。

注※7
結果として次のどちらかが出力されます。
  • 例外のtoString()
  • null(リターン値がnullの場合)

注※8
内部情報です。

注※9
書き込み内容として,次のどれかが出力されます。
  • management info
    ステータスファイル管理情報
  • status file body
    ステータスファイル本体
  • prepared
    プリペア完了状態
  • committing
    コミット決定状態
  • heuristic commit
    強制コミットされた状態
  • heuristic rollback
    強制ロールバックされた状態
  • heuristic mixed
    部分的にコミットおよびロールバックされた状態
  • heuristic hazard
    コミットしたかロールバックしたか不明な状態
  • forgotten
    トランザクション決着完了状態

注※10
読み込む内容として,次のどちらかが出力されます。
  • management info
    ステータスファイル管理情報
  • status file body
    ステータスファイル本体

注※11
結果として,次のどれかが出力されます。
  • 書き込みサイズ(単位:バイト)
  • 読み込みサイズ(単位:バイト)
  • 例外のtoString()