ようこそ TOKYO B Community へ ログイン | 登録 | ヘルプ

実績サーバーの現状

実績サーバーが不安定なため、いろいろ問題がでていますので、現状と
メンテナンス状況の報告。

既知の不具合
1.実績サーバーがネットワーク全体を巻き込んで落ちる。
2.頻繁に落ちる。
3.実績データロード失敗後にデータセーブが発生すると実績が消される。

暫定対応
1.Socket の処理に問題があり、接続ロックが多発する。
  接続がタイムアウトしないように Mut でダミーアクセスを行う。
  エラー軽減により最低限の稼動を確保。
2.自動再起動
3.初期ロードに失敗した場合は、セーブを行わないようにブロック。



全体的にかなり不具合があり、継ぎ接ぎ的な対応しかできないのですが、
実績サーバー自身から切断をさせないことで、ネットワークのデッド
ロックはある程度防止できました。

ただし、クラッシュは防ぐことはできませんので、このタイミングで
アクセスしたユーザーは実績のロードに失敗します。
実績のロードに失敗した場合、その後の保存で実績データが上書きされて
しまい、結果的にデータが初期化されてしまいます。
消えるのはデータ蓄積タイプのものです。

これはかなり問題で、私自身も何度か発生していることから、かなりの数の
ユーザーで起きているのではないかと思います。

取り急ぎ、ロード失敗した場合はセーブ処理をキャンセルするようにパッチ
を当ててみました。うまく機能すれば該当ゲームのデータが保存されないだ
けで被害が抑えられます。
ロードに失敗した場合は、一度再接続することで再読み込みすることも
できるでしょう。

前述のようにデータが初期化されたユーザーも多数いると思われるので
ある程度データを復元するためにメンテナンスを行いました。

完全に回復は難しいのですが、バックアップ履歴の中で最大となった時点の
データを回復させました。

ざっくりコードを見感じでは、スレッドセーフになっておらず、複数からの
非同期通信に問題があるのではないかと・・・考えています。

どうするかはまだ決めかねていますが、とりあえず暫定パッチで延命する
しかない状況です。

公開 2015年3月4日 0:31 投稿者 ZARTH
タグ : ,

コメント

コメントはありません
この投稿に対する新規コメントはできません