データベーステーブルで規則性の競合が発生しているため、この問題を解決するためのさまざまなオプションを評価したいと思います。
そのためには、テストケースで、再現性のある信頼性を備えたテーブル(任意のテーブル)での競合を再現する必要があります。
私が検討しているアプローチは、ロックのセマンティクス(eg java.util.concurrent.locks.ReentrantLock
)を逆にし、テーブルへの書き込みが開始されたときにロックを解放して、書き込みが開始されたときにすべての読み取りが行われるようにすることです。
したがって、1つのライタースレッドがテーブルへの挿入を実行する直前までロックを保持し、次にロックを解放すると、複数のリーダースレッドが同じテーブルに対してselectステートメントを実行しようとします。
そのようなアプローチについて何か考えがあるのか、それとも100%の信頼性でdbテーブルの競合を再現できるより単純なアプローチがあるのか疑問に思いました。
ありがとう