応用情報技術者トランザクションとWeb境界の診断オリジナル・公式資料照合難易度
同時処理でDBがデッドロックを検知し、一方のトランザクションを中断した。再試行を実装する際の注意はどれか。
A
中断された処理の外部送信が必ず取り消されたと仮定する
DB外の副作用はDBのロールバックと同じ範囲ではない。
B
他の全トランザクションの成功結果を破棄する
中断対象以外が成功していることがあり、一律の破棄は不要で危険である。
C
デッドロックが起きてもコミット済みと記録する
中断したトランザクションは成功として確定していない。
D
中断された単位を再実行し、DB外の送信などが重複しないよう設計する★ 正解
DBトランザクションの取消しは外部メールや外部決済まで自動で取り消さないため、再試行時の副作用も考慮する。
解説
DBトランザクションの取消しは外部メールや外部決済まで自動で取り消さないため、再試行時の副作用も考慮する。
根拠資料・確認情報
対応範囲:2026年度 応用情報技術者試験/シラバスVer.7.2・科目A/B表記
資料確認日:2026-11-02
アプリ内の初回回答データ
回答データを読み込んでいます。
同じレッスンの問題
問題 1
PostgreSQL 16のSERIALIZABLEで、同時更新の結果、トランザクションがserialization failureになった。業務処理を維持する適切な基本対応はどれか。
問題 2
PostgreSQL 16で未処理注文だけの小さい索引を作りたい。status='open'の行だけを対象とする索引の種類はどれか。
問題 3
顧客cに対応する注文oが存在しない顧客を探す。注文.customer_idにはNULLが含まれる可能性がある。適切な条件はどれか。
問題 5
アプリはX-Forwarded-Forで接続元を記録する。インターネットから直接送られたヘッダも無条件に信用していた。改善として適切なものはどれか。