-
2020.05.07 오늘의 일지Dev/개발일지 2020. 6. 1. 02:08
Kafka 연결 수정
이전에 작성해뒀던 것을 블로그로 옮김
오류 1)
1234565월 07, 2020 2:35:38 오후 org.apache.catalina.core.StandardWrapperValve invoke심각: Servlet.service() for servlet [jsp] in context with path [] threw exception [java.lang.IllegalStateException: This consumer has already been closed.] with root causejava.lang.IllegalStateException: This consumer has already been closed.at org.apache.kafka.clients.consumer.KafkaConsumer.acquireAndEnsureOpen(KafkaConsumer.java:2188)at org.apache.kafka.clients.consumer.KafkaConsumer.subscribe(KafkaConsumer.java:912)at org.apache.kafka.clients.consumer.KafkaConsumer.subscribe(KafkaConsumer.java:959)cs
발단 : 외부에서 Kafka 객체를 만들어뒀을 때 문제점
-> 두개의 method를 돌릴 때 먼저 체크하는 method에서 close를 하는 방법이었기에 에러가 날 수 밖에 없었음
첫번째 Method에서 연결이 되는 지 확인한 후, Record Test를 하는 부분에서 Subscribe가 되지 않음(이미 Consumer가 종료되었다는 표시가 뜨면서)
변경 방법
-> Kafka에서 연결 테스트를 하는 경우 연결 테스트를 수행하는 Method 내부에서 KafkaConsumer 생성 및 동작 후 close를 수행토록 했음
결론
-> 그냥 애초에 Spring Boot를 써서 개발할 껄 하는 후회가 엄청나게 몰려옴오류 2)
1235월 07, 2020 3:39:32 오후 org.apache.catalina.core.StandardWrapperValve invoke심각: Servlet.service() for servlet [jsp] in context with path [] threw exception [org.apache.kafka.common.errors.InvalidSessionTimeoutException: The session timeout is not within the range allowed by the broker (as configured by group.min.session.timeout.ms and group.max.session.timeout.ms).] with root causeorg.apache.kafka.common.errors.InvalidSessionTimeoutException: The session timeout is not within the range allowed by the broker (as configured by group.min.session.timeout.ms and group.max.session.timeout.ms).cs 발단 : session.timeout.ms의 범위 문제
변경설정 값 변경
session.timeout.ms x를 group.min.session.timeout.ms의 기본값(6초) <= x <= group.max.session.timeout.ms의 기본값(30초)로 설정했음
123456789configs.put("default.api.timeout.ms", "500");configs.put("heartbeat.interval.ms", "500");configs.put("session.timeout.ms", "1000");configs.put("request.timeout.ms", "5000");/*데이터를 체크하기 위한 경우*/configs.put("session.timeout.ms", "6000");configs.put("request.timeout.ms", "10000");/*혹시나 하는 마음에 아무 작동도 아닌데 켜졌을 경우 이렇게 설정함 */configs.put("connections.max.idle.ms", 10000);cs 'Dev > 개발일지' 카테고리의 다른 글
2020.06.02 오늘의 일지 (0) 2020.06.02 2020.05.08 오늘의 일지 (0) 2020.06.01 2020.05.28 오늘의 일지 (1) 2020.05.28 2020.05.27 오늘의 일지 (0) 2020.05.28 2020.05.25 오늘의 일지 (0) 2020.05.25