mysql (5.0.51a-3ubuntu5.4-log) に接続する ubuntu で ac プログラムを実行しています。
プログラムの主なタスクは、小さな (<5000 行) myisam テーブルからレコードを処理することです。行が正常に処理されると、その行は削除されます。そうでない場合は、後日再試行されます。何回か失敗すると削除されます。削除はテーブルの主キーを使用し、単純です。つまり、low_priority、quick、または無視を指定しません。プログラムは、読み取りと書き込みに別々の接続を使用します。
処理が必要な行の次のポーリングで、削除されたレコードが返されることがあります。これは、再試行制限に達したために削除された行でのみ発生するようです。さらに驚くべきことに、次のポーリングで何も返されず、その後のポーリングで削除された行が返されることがあります。
これは、読み取りと書き込みに異なる接続を使用することに関連していますか? myisam は削除にテーブル ロックを使用していると思っていたので、すべての接続で削除がすぐに尊重されることを期待していました。