피드로 돌아가기
Node.js 8.8.1 (Current)
Node.js BlogNode.js Blog
Backend

Node.js 8.8.0에서 발생한 net 모듈의 null handle timeout 회귀 버그를 8.8.1 패치로 해결

Node.js 8.8.1 (Current)

2017년 10월 26일2intermediate

Context

Node.js 8.8.0 릴리스에서 net 모듈의 timeout 처리 로직에 회귀 버그(regression)가 발생했다. 이 버그는 null handle 상태에서 timeout이 발동될 때 예상치 못한 동작을 초래했다.

Technical Solution

  • net 모듈의 timeout 핸들링 로직 수정: null handle 상태에 대한 검증 로직 추가
  • Issue #16489 기반 패치 적용: 8.8.0에서 도입된 코드 변경 사항 롤백 또는 수정
  • 여러 플랫폼 바이너리 제공: Windows(32/64비트), macOS, Linux(x86/x64/ARM/PPC/s390x), AIX, SmartOS 대응

Key Takeaway

회귀 버그는 마이너 버전 업그레이드에서도 발생할 수 있으므로, 프로덕션 배포 전 net 모듈 기반 서비스의 timeout 동작을 검증해야 한다.


Node.js를 사용하는 서비스에서

8.

8.0을 운영 중인 경우, 네트워크 연결의 timeout 처리가 정상 작동하는지 확인한 후

8.

8.1로 즉시 업그레이드하면 null handle 상태의 timeout 처리 오류를 방지할 수 있다.

원문 읽기