[Rumble-jp-dev] [ rumble-jp-Bugs-2037 ] シャットダウン時はロボットデータを送信しちゃだめ

Zurück zum Archiv-Index

Sourceforge Tracker Monitor norep****@sourc*****
2003年 5月 19日 (月) 04:28:40 JST


Bugs item #2037, was opened at 2003-05-07 09:37
You can respond by visiting: 
https://sourceforge.jp/tracker/?func=detail&atid=1698&aid=2037&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:
Ctrl+Cなどで分散サーバを終了させたときは、ロボットデー
タを送信しちゃうと中途半端なデータを送信してしまう。

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

>Comment By: Naoki Kurosawa (kurosawa)
Date: 2003-05-19 04:28

Message:
Logged In: YES 
user_id=3710

ほとんど修正終わってますが、
いまさらながら自分にタスク割り当て。

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

Comment By: Naoki Kurosawa (kurosawa)
Date: 2003-05-07 11:47

Message:
Logged In: YES 
user_id=3710

かといってまったく送信しないと、ちゃんと完了したバトルでの
データも送信されないことになる。

現状の大まかな流れは以下の通り
1.中央サーバから対戦情報を取得
  →division内のロボットのデータ一覧も一緒に取得
2.ローカルのデータ保存領域と比較して、中央サーバからダウン
ロードし、.robotcacheディレクトリにコピー
3.division内の全対戦を実行
4.ローカルのデータ保存領域と.robotcacheを比較して、アップ
ロードするファイルを決定
5.対戦結果と変更データを送信

Shutdownタイミングによるデータ送信内容は
■1から3の前まで
・対戦結果は空のデータを送信するので問題なし
・ロボットデータは現状の(つまり古い)情報を送信してしまう。

■3の最中
・対戦結果は、完了済みのもののみが送信されるので問題なし
・ロボットデータは、完了済みのものに加えて、対戦実行中のもの
まで送信されてしまう。

■4の前
・対戦結果、ロボットデータともに正しいデータが送信される。

■4の最中および5の最中
ここはsynchronizedセクションで囲まれているので、Shutdownフッ
クに割り込まれない


どうすべきか

1.中央サーバから対戦情報を取得
  →division内のロボットのデータ一覧も一緒に取得
    synchronizedセクションで保護して割り込まれないようにする。

2.ローカルのデータ保存領域と比較して、中央サーバからダウン
ロードし、【データ保存領域に保持】

3.division内の全対戦を実行
  →対戦実行前に.robotcacheにコピーし、対戦が完了したらデータ
保存領域に戻す、という作業を1戦ごとにやる
    この作業はsynchronizedセクションで保護し、割り込まれない
ようにする。結果情報をresultsリストに登録するのも
synchronizedセクション内でやる

4.データ保存領域と【最初に取得したファイル一覧】を比較して、
アップロードするファイルを決定
5.対戦結果と変更データを送信

4と5は同じsynchronizedセクションで保護する。


データ保存領域にあるデータをメインとして、
1戦完了するごとにデータ保存領域を更新(対戦が完了していない間
は更新しない)し、いつでもデータ保存領域情報を送信すればよい
ようにする。


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

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



Rumble-jp-dev メーリングリストの案内
Zurück zum Archiv-Index