LOL 게임 기록 (+임무) 장애에 대한 이야기

Posted by 엘키의 주절 주절 on July 1, 2018

자주 언급하진 않았지만, 나는 취미로 LOL을 플레이한다.

이번 주말 (토요일 오후) 통계가 쌓이지 않는 오류가 발생했다.

처음에는 op.gg와 같은 통계 사이트에 제공되는 API 서버 오류인걸로 추정했으나, 토요일경에는 하루 이전 데이터만 보였고, 현재는 모든 경기 기록 데이터를 조회할 수 없다.

오류

이에 대해 라이엇 게임즈 측에서는 공지를 올렸는데 내용은 다음과 같다.

임무 오류 관련 공지

내용은 임무 달성 관련 오류였는데, 나는 장애 시간을 잘 피해서 플레이 했는지 임무는 잘 진행됐다.

임무 관련 오류의 시작 시간부터, 현재까지 대전 기록은 표시되지 않는다.

추정해보면, 몇가지 가정을 할 수 있다.

  1. 대전 기록 처리는 두 종류로 나뉘어져 있는 것 같다.
    1. 승/패/MMR 변동/LP 변동
    2. 상세한 통계 기록. (KDA를 포함한 디테일한 결과 데이터)
  2. 1-1번에는 문제가 없었다. 그래서 라이엇이 장애 발생시 랭크 게임을 닫아버리는 대처는 하지 않았다.
  3. 1-2번에 문제가 생겼고, 이로 인해 대전 기록이 남지 않았다.
  4. 1-2번 대전 기록을 남기는 시점에서 임무 해결 처리도 같이 트랜잭션을 묶어 처리했다.
    • 이를 분리함으로써 임무 장애는 해결됐다. (추정)

이렇게 추정되는데, 세부적인 구현과 예외 처리는 어떻게 되어있는지 알 수 없으나, 종종 있어왔던 라이엇의 통계 시스템 오류로 돌이켜보았을 때, 결합도를 분리하는 선택으로 장애 리스크를 감소한걸로 보인다.

통계 데이터 오류가 종종 발생하는걸로 보아서, 통계 시스템이 큰 하나의 벌크로 운영되고 있는건 아닐까 싶은데, 이에 대한 결론은 통계 시스템 복구 이후로 미뤄야 할 것 같다.

raw 데이터는 잘 쌓고 있고, 그 데이터를 pipeline으로 보내서 처리되는 과정에서의 오류라면 현재 장애 발생중이 플레이 데이터도 통계에 반영이 될 것이고, 그렇지 않다면 raw데이터가 사라져 해당 기간중 플레이데이터가 유실됐을 것이기 때문이다.

라이엇이라면, raw데이터는 살아있어 곧 복구되게끔 잘 갖춰놓았을 것이라고 기대해본다. 기나긴 한국 서버 장애를 겪고나서는 같은 문제를 겪지 않는 잘 성장하는 라이엇 엔지니어링 문화를 믿어본다.


2018-07-02 오후 1시경 추가

오후 1시경에 확인해본 결과 장애 기간의 전적 정보가 되살아났다.

raw데이터는 살아있었던 상태였고, 이를 다시 stream에 밀어넣음으로써 전적 정보가 제대로 반영되었음을 (격리와 fail-over에 대해서 제대로 만들었음을) 확인 할 수 있었다.

라이엇이 운영 환경 장애를 겪으면서, 엔지니어링 적으로 발전했음을 확인 할 수 있는 단면 아닌가 생각이 든다.