[Rumble-jp-dev] [ rumble-jp-Bugs-2021 ] 分散サーバからの実行結果送信が一度に来るとシーズンが終了しない

Back to archive index

Sourceforge Tracker Monitor norep****@sourc*****
2003年 5月 5日 (月) 10:44:48 JST


Bugs item #2021, was opened at 2003-05-05 10:44
You can respond by visiting: 
https://sourceforge.jp/tracker/?func=detail&atid=1698&aid=2021&group_id=430

Category: バトル実行制御関連
Group: None
Status: Open
Resolution: None
Priority: 5
Submitted By: Naoki Kurosawa (kurosawa)
Assigned to: Naoki Kurosawa (kurosawa)
Summary: 分散サーバからの実行結果送信が一度に来るとシーズンが終了しない

Initial Comment:
バトルの実行結果送信時、seasonsのcompleted_battlesに+1
していき、
そのシーズンのバトル数とcompleted_battlesが等しくなっ
たらシーズン終了と判断している。

実行結果送信が一度に来た場合、
たとえば1シーズン内に5個バトルがあって、3個完了してお
り、残り2個を2台の分散サーバが同時に完了して送信した場
合、
それぞれ3+1でcompleted_battlesに4と書き込んでしまい、
バトルがすべて完了しているのにcompleted_battlesが4のま
まなのでシーズンが完了しない。

ということで、
3+1というロジックではなく、statusがCOMPLETEDになってい
るバトル数をクエリでカウントし、代入するようにした。
こうすれば、そもそもbattlesテーブルへの結果書き込み時
点でロックがかかっているので、2つの結果送信リクエスト
が同時に進行することがなくなり、この問題は解消されると
思われる。



----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.jp/tracker/?func=detail&atid=1698&aid=2021&group_id=430



Rumble-jp-dev メーリングリストの案内
Back to archive index