오픈소스(RLlib) 문제 발견부터 컨트리뷰션까지
두줄요약
RLlib Unity3D Wrapper의 사용자 지정 포트 중복 문제를 분석하고 worker_id 증가 방식으로 해결했습니다.\n재발 방지 유닛 테스트와 CI·requirements 수정을 거쳐 PR을 머지했습니다.
문제 상황
- RLlib Unity3D Wrapper에서 사용자 지정 포트 사용 시 분산 환경 전체에 동일 포트 할당
- 첫 환경만 실행되고 나머지 환경은 포트 사용 가능 상태까지 대기
원인 분석
- 사용자 지정 포트를
base_port에 고정하면서 환경별 식별자인worker_id를 모두 0으로 설정 - ML-Agents의 실제 연결 포트인
base_port + worker_id중복
해결 방법
- Unity3D 에디터와 컴파일된 앱의 기본 포트를 구분하고, 컴파일된 앱 환경마다
worker_id증가 - 사용자 지정 포트에서도 환경별 최종 연결 포트가 달라지는 유닛 테스트 추가
- CI 스크립트와 라이브러리 requirements 갱신 후 PR 머지
적용해볼 점
- 오픈소스 버그 수정 시 재발 방지 테스트와 유지관리자 피드백 반영 필요
- 사용 중인 라이브러리의 문제 해결을 커뮤니티 기여로 확장하는 경험


