요약
- 래블업 주식회사 인턴십 온보딩 과정
- Backend.AI에 익숙해지기 위한 과제
- Backend.AI에서 어려운 부분을 중심으로 코드를 본 후, 세미나를 발표
역할
성과
- 지금껏 발견되지 않았던 Session 상태 버그를 발견
시기
세미나 발표 자료
- Backend.AI에서 Session creation API를 요청했을 때의 Response가 어떻게 만들어지는지에 대해서 발표했습니다. API를 요청했을 때부터 Response까지 Manager 로그의 순서를 차례대로 분석하며 AgentRegistry와 SchedulerDispatcher 인스턴스가 Session과 Kernel의 상태를 어떤 식으로 변경하는 지를 중점으로 분석했습니다.
Manager process log
Session creation API의 Request와 Response
시퀀스 다이어그램
어려움 및 해결책
- 방대한 코드 베이스에 압도되어 어느 코드부터 봐야 할지 막막했습니다. 제품의 API 문서에 세션 생성이 있는 것을 보고 분석할 코드를 알았습니다. API 요청과 응답 사이의 코드를 분석했지만, 비동기 서버 코드라 로그를 순서대로 분석하는 게 어려웠습니다.
- Call graph와 시퀀스 다이어그램을 그리면서 분석하는 것이 도움 되었습니다. 코드와 로그를 분석하며 Session 상태가 Preparing에서 다시 Pulling으로 돌아가는 버그를 발견했습니다. 로그를 하나하나 분석해 본 사람이 없어서 발견되지 않은 버그였습니다. 로그 분석법은 기능 개발에도 도움이 되었습니다.