このトピックでは、エラーコードODPS-0121096の考えられる原因について説明します。MetaStoreトランザクションの競合とソリューションを提供します。
エラーメッセージ1: OTSSorageTxnLockKeyFailのために最大再試行時間に達しました (内部の例外: 排他ロックを取得できません。)
サンプル
ODPS-0121096:MetaStoreトランザクションの競合-OTSSorageTxnLockKeyFailのために最大再試行時間に達しました (内部例外: 排他ロックを取得できないためトランザクションタイムアウト) 。
説明
MaxComputeでは、複数のジョブで1つのテーブルに同時にデータを書き込むことができます。 複数のジョブが同時にメタデータをコミットする場合、各ジョブは1つのテーブルでメタデータをロック、書き込み、ロック解除する必要があります。 複数のジョブが同時にテーブルにデータを書き込む場合、テーブルのメタデータはロック状態のままです。 この場合、ジョブの一部は、ロックの試行がタイムアウトするまでロックを保持できない場合があります。 その結果、前述のエラーメッセージが返されます。 ジョブのロック試行のタイムアウト時間は約30秒です。 ロックの試みがタイムアウト期間を超えると、エラーメッセージが返されます。 ロック操作はテーブルに対して有効です。 過剰な数のジョブが同時にテーブルにメタデータを書き込む場合、または大量のメタデータがテーブルの複数のパーティションに書き込まれる場合、ジョブがテーブルにメタデータを書き込もうとすると、ロックタイムアウトのため、エラーメッセージが返されます。
解決策
テーブルまたはテーブルのパーティションに対して複数の読み取りおよび書き込み操作が同時に実行されているかどうかを確認します。 テーブルまたはテーブルのパーティションに対して複数の読み取りおよび書き込み操作を同時に実行しないことをお勧めします。