자바로 html을 파싱할 때 jsoup을 주로 사용합니다.
오늘까지 jsoup ( 1.11.3 ) 사용할 때 크게 문제가 없었는데요.
오늘 장애가 발생하면서 문제를 인식하게 되었습니다.
jsoup을 통해 여러가지 작업을 수행중인데요. 그중에 html에서 text를 추출하는 게 있습니다.
html 파일이 정상이 아닌 경우 text 추출할 때 HANG 이 걸립니다.
( 예외도 발생하지 않고 HANG 이 걸립니다... @.@)
rabbitmq 에서 ack 를 받아야 이후 큐 처리를 하는 경우 해당큐가 HANG이 걸립니다.
놀랍게도 어드민 화면에서 제어가 저같은 경우 불가능했습니다.
그래서 HANG이 걸린 듯 보이는 큐는 삭제하고 재생성했습니다.
이후 처리하지 못한 데이터는 재처리해서 겨우 복구했습니다.
1.12.1 버전 같은 경우 HANG 문제를 해결했다고 하나 HTML 파싱하다가 HANG이 걸린 상황은 여전해서 아직 모든 문제가 해결된 거 같지는 않습니다.
그래서 HTML 파일이 </HTML> 태그로 끝나지 않는 것은 처음부터 예외를 발생하게 해서 이후 큐 처리할 때 문제가 발생하지 않게 처리도 하였습니다.
장애처리는 어렵습니다..