안녕하세요.
답변이 늦어 죄송합니다.
해당 에러 관련해서 답변드리도록 하겠습니다.
전체적으로 비동기 함수 동시 호출 시에 발생하는 오류가 많이 발생하는것으로 확인이 됩니다.(로그가 순차적으로 0.1초 차이로 발생). 1초마다 발생하는 큐 처리가 정상적으로 1초에 다른 비동기 요청과 겹치지 않고 발생하는지 확인해 주시기 바랍니다.
400:HttpRequestException:An error occurred while sending the request (2)\nThe operation has timed out.
원인 : 클라이언트의 네트워크 접속 불량으로 인해 서버로 데이터를 보내지 못했을 경우
해결 : 와이파이, LTE간 연결 변경시나 순간적인 네트워크 끊어짐으로 에러가 발생할 가능성이 높으므로, 바로 동일한 함수 1번 더 호출.
408, 500, 502 TimeOut Error
원인 : 서버의 일시적인 과부하 상태로 인해 해당 요청이 처리되지 않을 경우 발생합니다.
해결 : 30초 혹은 1분뒤에 동일한 함수 호출 2~3회 반복.
400 : An error occurred while sending the request (2) Error: ConnectFailure (mono-io-layer-error (103))
원인 : 해당 에러의 로그를 파악해본 결과, 0.1초 차이로 여러개의 요청이 보내졌으며 각각의 요청이 20~60초 정도의 응답시간이 발생하였습니다. 한번에 비동기 함수 호출을 많이 호출하여 발생한 것으로 추측됩니다.
** 400:TransactionConflictException\nmessage : Transaction is ongoing for the item\n**
원인 : 한 데이터에 대한 동시 변경이 발생하였을 경우
Backend.URank.User.UpdateUserScore 함수와 Backend.GameData.UpdateV2을 동시에 요청하게 될 경우, 변경중에 변경시도를 하게되며 해당 에러가 발생할 수 있습니다.
해결 : 순차적으로 함수 발생이 이루어지도록 개선
400:ClientException:Key already in the list\nParameter name:
해당 에러는 확인중이오나 아직 확실한 해답은 나오지 않은 상태입니다.
개발자님 말씀대로 모든 함수에서 간혈적으로 발생하며,
응답 메세지를 파싱하는 중 발생하는 에러로 확인이 되오며, 위 에러들과 같이 비동기 함수의 응답들과 겹쳐 발생하고 있는 것으로 추측이 됩니다.
위 비동기 함수 호출 부분을 어느정도 완화시키면 잇따라 완화될것으로 예측되오니 해당 부분 수정 후 다시 확인해주시면 감사하겠습니다.
관련해서 해당 에러가 재현될 수 있도록 여러 테스트를 진행해보겠습니다.
현재로서는 명쾌한 답변 드릴 수 없는 점 죄송합니다.