【オセロ,将棋】ボードゲーム Part3【囲碁,War】 (636レス)
上下前次1-新
528: 310 2021/05/14(金)00:24 ID:UCKlrk0/(1) AAS
 sqlite3でエラーになる原因がほぼ特定できて、エラー処理を全面見直しました。 
  
 ・棋譜追加処理のトランザクションのCOMMITの際にBUSY状態の継続を検出した時は、 
 ロールバックして再度更新をやり直すという形に変更。棋譜とBOOKの整合性を保つため 
 にも、速度面でもトランザクションは必須。 
  
 ・SQL文の事前コンパイルであるprepareでもBUSYが発生する事がわかったので、エラー 
 処理を行ってBUSY検出して成功するまで繰り返す事で、prepareの完了を保証する 
  
 これらにより2プロセスまでのデッドロックは何度も検出してロールバックしてやり直しが 
 完遂するのが確認できています。 
  
 が、3つ以上の棋譜作成プロセスを同時に動かした時に、たまたま棋譜追加のタイミングが 
 3つ揃うと三すくみ的なデッドロック的状況になってしまうようで、ロールバックしてリトライが
省3
上下前次1-新書関写板覧索設栞歴
あと 108 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.020s