OTSで取得できるトレース情報を次の表に示します。なお,次の表の中で,一つの項目に複数の情報が個条書きで記載してある場合は,そのどれかが出力されることを意味します。
表8-106 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 | | - > prepare
prepareを発行します。
- > commit(second phase)
2相目のcommitを発行します。
- > commit(one phase)
1相目のcommitを発行します。
- > rollback
rollbackを発行します。
- > forget
forgetを発行します。
- > recover
recoverを発行します。
| |
5 | 0x9405 | B | | 正常リターンの場合
- < 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 | | > get xaresource | |
14 | 0x9411 | B | | 正常リターンの場合 異常リターンの場合(想定外の値がリターンされた場合,または例外が発生した場合)
| - なし
- <結果>※7
- <グローバルトランザクションID>
- <グローバルトランザクションID>:<結果>※7
|
10 | 0x9412 | B | - <ステータスファイル名>
- <ステータスファイル名>:<エントリ番号>※8
| - > write(<書き込む内容>※9)
- > read(<読み込む内容>※10)
| |
11 | 0x9413 | B | - <ステータスファイル名>
- <ステータスファイル名>:<エントリ番号>※8
| 正常リターンの場合 異常リターンの場合(想定外の値がリターンされた場合,または例外が発生した場合)
| - なし
- <結果>※11
- <グローバルトランザクションID>
- <グローバルトランザクションID>:<結果>※11
|
(凡例)A:標準 B:詳細
注※1 図8-61~図8-66中の番号と対応しています。
注※2 遷移した理由として,次のどれかが出力されます。
- operation:インプロセスOTS外部から指示されました。
- server call:別ノードにあるサーバへの呼び出しに失敗しました。
- superior:別ノードからトランザクション処理への参加指示を受けましたが,すでにそのトランザクションがMarkedRollback状態でした。
- sync before:決着処理中のJTAへのコールバック処理に失敗しました。
注※3 遷移した理由として,次のどれかが出力されます。
- operation:インプロセスOTS外部から指示されました。
- timeout:グローバルトランザクションタイムアウトが発生しました。
- superior:スペリアトランザクション,またはcjrollbacktrnコマンドから指示されました。
- 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の場合,結果として次のどちらかが出力されます。
prepare以外の場合,結果として例外のtoString()が出力されます。
注※6 prepareの場合,結果として次のどちらかが出力されます。
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()