피드로 돌아가기
Node.js 0.10.17 (Stable)
Node.js BlogNode.js Blog
Backend

Node.js 0.10.17이 HTTP 파서, TLS, 스트림, dgram, readline 모듈의 5개 버그를 수정해 안정성 강화

Node.js 0.10.17 (Stable)

2013년 8월 21일3intermediate

Context

Node.js 0.10 시리즈는 프로덕션 환경에서 널리 사용되던 LTS 버전으로, HTTP 요청 파싱, TLS 암호화 연결 종료, 스트림 에러 처리, UDP 송신, 터미널 모드 전환 등 다양한 모듈에서 예외 상황 처리 문제가 발생하고 있었다.

Technical Solution

  • http_parser: PUN/GEM 메서드를 PUT/GET으로 잘못 인식하는 파싱 오류 수정 (Chris Dickinson)
  • tls: SSL 소켓 read 단계에서 destroy 호출 시 발생하는 assertion 에러 제거 (Fedor Indutny)
  • stream: 에러 이벤트 리스너가 모두 제거된 상태에서 에러 발생 시 명시적으로 던지도록 변경 (isaacs)
  • dgram: send() 메서드에 잘못된 인자 전달 시 발생하는 assertion 수정 (Ben Noordhuis)
  • readline: 터미널 raw 모드 해제 전에 stdin을 먼저 일시 중지하도록 변경 (Daniel Chatfield)
  • uv 의존성: libuv를 v0.10.14로 업그레이드

Key Takeaway

프로덕션 LTS 버전은 주요 모듈의 엣지 케이스 처리(메서드 파싱 오류, 연결 종료 시점의 동시성 문제, 에러 핸들링 누락 등)를 체계적으로 검수해야 하며, 작은 단위의 안정성 개선이 누적되어 플랫폼 신뢰성을 결정한다.


Node.js 기반 서비스 운영팀에서

0.

1

0.17 이상으로 업그레이드하면 HTTP 프록시/로드밸런서에서 비표준 HTTP 메서드 처리 오류, TLS 연결 비정상 종료 시 크래시, UDP 기반 서비스의 잘못된 인자로 인한 예상치 못한 장애를 사전에 차단할 수 있다.

원문 읽기