Troubleshooting2 Kafka - consume 실패 시 리트라이 저는 개인적으로 채팅 서비스를 토이 프로젝트로 개발하고 있습니다. 웹소켓, Kafka를 이용해서 메시지 저장 기능을 개발했었는데요. 이미지처럼 메시지를 한번 송신했는데 10번이 저장되는 이슈가 발생했습니다. 어떻게 된 일일까요? 콘솔 메시지를 확인해보니 KafkaException과 그 밑에는 코드 실수로 인한 NPE 예외가 콘솔에 찍혀있었습니다. 메시지를 저장하고, 그 이후의 데이터를 처리하는 과정에서 NPE가 발생했고, consume 메서드 내에서 예외가 발생해서 리트라이가 발생한 이슈였습니다. 그렇다면 10번 메시지가 저장됐던 이유는 무엇일까요? 위 코드에서 DEFAULT_BACK_OFF의 maxAttempt가 9로 설정돼있으므로 9번의 재시도 이후 열번째의 시도에서 메시지를 저장하고, 실패하면서 .. 2024. 4. 6. + ""는 의미가 있을까요? 직장에서 코드를 수정해서 카나리 서버에 배포했는데 갑자기 모니터링 알람이 마구마구 울렸습니다. 배포한 내용에서 NPE가 발생한다는 내용이었어요. "왜지? 분명 로컬에선 잘 돌아갔는데?" 라는 생각을 했었는데요. 예외가 발생한 이유가 무엇이었을까요? 수정 전 코드 String str = ""; ... while(true){ ... var comment = str + ""; if(comment.equals(preComment)){ ... } ... } 기존에 위와 같은 형태로 코드가 개발돼있었습니다. 그리고 저 코드가 속한 메서드와 관계없는 코드를 수정하고 commit을 했는데요. Intellij에 Cleanup 을 포함한 여러가지 commit 설정들을 사용하고 있었고, 그 중에 Cleanup 옵션에서 자동.. 2024. 2. 19. 이전 1 다음