SNR#3652 UDP 시스로그 수집기 재시작 후에도 디스크 임시 저장 데이터가 남는 문제 해결
버전: 4.0.2609.0
UDP 시스로그 수집기를 재시작하거나 매우 높은 트래픽을 거친 뒤, 디스크에 임시로 저장된 패킷 일부가 처리되지 않고 계속 남아 있는 문제를 여러 원인에 걸쳐 함께 해결했습니다. SNR#3627, SNR#3628과 같은 증상(임시 저장 데이터 잔류)의 후속 원인들이며, 윈도우·리눅스 등 운영체제와 관계없이 발생할 수 있는 문제였습니다.
- 원인: 부하 테스트로 여러 개의 세부 원인을 확인했습니다. 수집기를 재시작할 때 이전 세션의 내부 상태 일부가 초기화되지 않고 남아 있으면 디스크에 저장된 패킷을 다시 읽어오는 과정이 멈추는 경우가 있었고, 디스크에 파일을 기록하는 도중의 짧은 시간 동안 파일 크기를 확인하면 실제보다 작게 판단되어 아직 읽지 않은 데이터가 남은 파일을 삭제하는 경우도 있었습니다. 그 밖에 두 가지 경로가 더 있었습니다. 파일이 일정 크기를 넘어서는 시점에 처리 중이던 데이터를 디스크에 쓰지 않고 버리는 경로, 그리고 파일을 새로 교체할 때만 읽기 스레드를 깨워 평소 추가 기록에서는 최대 10초까지 지연되는 경로입니다.
- 해결: 위 원인들을 각각 수정하고, 초당 6만 건 규모의 UDP 트래픽으로 부하 테스트하여 트래픽이 멈춘 뒤 디스크 임시 저장 데이터가 모두 정상적으로 소진되는 것을 확인했습니다.