LOB操作例外

LOBの読取りと挿入に使用するメソッドは、原子的ではありません。この原子性の要件を解除することにより、ストア全体にLOBチャンクを分散できます。そのため、LOBに対する同時操作はアプリケーションで調整します。LOB実装では、LOBの同時変更を最大限に検出するようにし、競合を検知するとConcurrentModificationExceptionをスローしますが、このような競合がAPIによってすべて検知されることを保証していません。この例外が発生した場合の安全な措置は、例外を引き起こしたアプリケーション・レベルの調整の問題を修正してから、LOBを削除して新しい値で置き換えることです。

LOB変更操作で障害が発生すると、不全LOBが作成されます。不全LOBのLOB値は中間状態であり、アプリケーションによる読取りはできません。不全LOBでのgetLOB()の試行は、PartialLOBExceptionとなります。不完全なputLOB()操作の結果である不全LOBは、操作の再試行によって修復できます。または、削除して、その場所に新しいキー/値を作成できます。不完全な削除操作の結果である不全LOBの場合、削除の再試行を行う必要があります。各LOBメソッドに関連するドキュメントでは、不全LOBにおいて呼び出された場合のそれらの動作について、さらに詳細に説明されています。