EQi3dAuUEAA_WWc


BungieはDestiny2の既知の問題を解決するパッチ2.7.1.1を配信したが、1月29日に配信されたパッチ2.7.1と同様に素材が消失する不具合が発生した。以前と同じように緊急メンテナンスとなりロールバックすることで問題が解決された。



神谷も記事で触れているが連続して同じ不具合が起きているため不安を覚えるユーザーも少なくないだろう。このためBungieはこの問題に対する今後の対策となぜ同じ過ちを繰り返したのか弁明の記事を公開した。


Bungieによると1月29日のパッチ2.7.1後の不具合と今回のパッチ2.7.1.1後の不具合は同じ問題であり、両問題が短い期間で発生しているため説明するために記事を投稿したと言う。

これらはサーバー構成に問題があり、クエストは通貨や素材など他のインベントリアイテムと同様に取り扱われ、これらには最初に取得した日時を記録するタイムスタンプがあり、アイテムのソートに使われるようだ。プレイヤーがログインするたびにインベントリはクリーンアップされ、アイテムごとの所持数などコンテンツへの変更と一貫性が保たれるようになっている。

数ヶ月前、クエストログのソートが機能していなかった不具合が報告され、チームはクリーンアップの過程でクエストのタイムスタンプがリセットされることを発見した。これによってクエストのタイムスタンププリセットの動作を無効化することで修正したが、この影響によってクリーンアッププロセスの多くが無効化された。この結果として間違ったアイテム上限が適用され、その上限を超えるアイテムがロストすると言う事態となった。

コードレビューをしたが不具合が発見されず、数日後、社内テストチームがこの問題を発見した。発見された不具合は実際のものではなくテスト用のデバッグワークフローのツール障害が原因だと誤って導き出した。誤りに気がつかぬままパッチ2.7.1は公開され不具合が発見された。

全てのメジャーリリース(影の砦など)の前に包括的なストレステストを行う。10月に影の砦ローンチでCPUとプレイヤーの負荷を処理するため追加のサーバー(ワールドサーバー)をスピンアップした。これには小さな影響があり、プレイヤー側からは見えない問題だが、多数のサーバーを起動することでごく一部(1%未満)のサーバーが起動時にクラッシュする問題があった。この解決策として、クラッシュしたサーバーを手動で再起動することで影響なく不具合に対処できていると思われていた。

しかし、2週間前のパッチ2.7.1でキャラクターデータの破損が引き起こされ、Destiny史上初のロールバックを引き起こした不具合が起こった。この問題に対処するためサーバーにパッチを適用した。これにはサーバーの設定を変更してキャラクターデータの処理に使用されるゲームコードをオーバーライドし、ワールドサーバーを再起動し変更を反映されることが含まれていた。

2月12日の真紅の日々に合わせたパッチ2.7.1.1を公開したが大量のサーバーが同時に起動するため、一部のワールドサーバーが再びクラッシュし、手動で再起動し問題は解決されたと考えていたが誤りであった。この時点では気づいていなかったがクラッシュした結果として、ワールドサーバーは以前のキャラクターデータの破損を修復しなかった。テストチームはテスト用アカウントでテストを行うが、実環境では数百台のサーバーがあり、手動テストでは良いサーバーに当たり、不具合のあるサーバーを見逃していた。

パッチ2.7.1.1配信後、不具合が報告され、古いサーバーにアクセスしたユーザーはキャラクター破損の問題に遭遇した。これは1月29日に発生した問題と同じでありロールバックを行った。これらの予防措置としていくつか安全対策を実施する。
  • 予期しないバージョンで起動されないようにサーバーのhot-patchingプロセスにさらに安全対策を追加した。この変更は本日のスピンアップ時に実施した。
  • 起動時にごく一部のワールドサーバーがクラッシュする問題を修正した。この修正はシーズン10で実施される。
  • キャラクター破損の永続的な修正として、次期アップデートに組み込まれる。(パッチ2.7.1.1では適用できなかった)
  • ロールバックと復旧のメカニズムを高速化する方法を調査中。
  • 今後のリリースでサーバー構成データのロードをスキップする可能性がある問題に対処する。
  • ログインアカウントのクリーンアップコードにプロテクトを追加し、今後起こるバグがこの重要な領域に影響しないようにする。
  • 開発方法論をアップデートし、リリースパイプラインの初期段階でこのような問題を発見する。
本日のロールバックにより全てのキャラクターは午前1時30分頃の状態に戻る。また、チームは2月14日リリース予定のパッチ2.7.1.2の準備に取り組んでいる。このパッチにはドーンブレードの無限スーパースキルの不具合に対処する修正が含まれている。


記事:稲森
情報:bungie