SPT 임대 보상 오류 모니터링

in #sct10 months ago

안녕하세요 @realmankwon입니다.

어제 SPT 임대 보상봇을 모니터링한 이전과 동일한 내용으로 오류가 발생하였고 보상도 나가지 않았습니다.
현재 관련해서 원인을 파악하여 소스를 수정하였습니다.

SPT 임대 보상 오류 포스팅에서도 Lock 이 걸린 오류는 찾지 못했었습니다.
에러를 보면 동일 Key로 정보가 2건이 입력이 되면서 문제가 발생한 것으로 보이는데 하루에 한번 UTC 00시에 실행되는 것이 2번이 입력이 될 수 없는 구조이기에 더 이해가 가지 않았습니다.

이번에도 로그를 찾아 보았습니다.
저번과 동일한 Lock 으로 인한 대기시간 초과로 rollback 된 것을 알 수 있습니다.

그래서 더 위의 로그를 찾아보았습니다.
그 중에 눈에 띄는 로그를 보게 되었습니다.

바로 @sct.krwp에 10% 수수료를 스테이킹하는 정보가 2번 입력이 되고 있었습니다.
그 말은 단 한가지 경우 밖에 없습니다.
한 소스에서 2번을 호출한 것이지요.

즉시 소스를 켜고 해당 부분을 보았더니 저의 실수가 바로 보였습니다.
UTC 00시마다 SPT 임대 보상을 실행시키는 스케줄러를 2개로 작성했던 것입니다.
12월 14일에 스케줄러를 추가하면서 기존 소스를 복사하여 썼었는데 그때 중복으로 복사가 되었던 것 같습니다.
그렇다보니 12월 15일부터 보상이 나가지 않았습니다.

DB lock 의 원인을 찾아서 다행이긴 하지만 또 실수를 한 것이 참...ㅜㅜ
더더더더 조심하여 수정을 하도록 하겠습니다.
관련 보상은 금일 정상적으로 처리된 것을 확인하였습니다.

앞으로도 @sct.krwp 에 많은 임대 부탁드립니다.