본문 바로가기

Dev24

Kafka topic 삭제 - already marked for deletion 해결 토픽을 삭제하기 위해서는 우선 $KAFKA_HOME/config/server.properties에 delete.topic.enable 설정을 추가한 후 카프카를 재기동해야한다. delete.topic.enable = true 만약 이 설정을 추가하지 않은 상태에서 일반적으로 알려진 토픽 삭제 방법인 kafka-topics.sh을 이용해서 토픽을 삭제하면 아래와 같이 already marked for deletion이라는 메시지만 나타나고 정상적으로 삭제가 안 된다. 이 경우 다시 토픽을 생성할 수도 없으며 해당 토픽으로 들어온 메시지도 처리가 안 된다. $ ./kafka-topics.sh --delete --zookeeper $ZOOKEEPER --topic morpheme.t Topic morpheme.. 2020. 6. 11.
Swagger를 통한 REST 요청에 jwt 인증키 포함시키기 @Configuration class WebSecurityConfig : WebMvcConfigurer { override fun addInterceptors(registry: InterceptorRegistry) { registry.addInterceptor(JwtInterceptor()) .addPathPatterns("/v1/api/*") .excludePathPatterns("/v1/api/signin") } } Spring Boot 프로젝트에 위와같이 jwt 인증을 추가한 후 Swagger를 통해 api들을 테스트하려는데, 아래와 같이 jwt 인증에러가 발생한다. 2020-01-21 10:24:03,184 [https-jsse-nio-19932-exec-7] ERROR org.apache.cat.. 2020. 1. 22.
Spring Boot Request Logging - CommonsRequestLoggingFilter Spring Boot로 api를 개발할 때 쉽게 Request를 Logging 할 수 있게 Spring에서는 CommonsRequestLoggingFilter를 Servlet Filter 형태로 제공한다. 아래 bean 정의를 소스코드에 추가하고, logger 설정에서 org.springframework.web.filter의 logger level을 debug로 바꾼다. CommonsRequestLoggingFilter Bean @Configuration class FilterConfig { @Bean fun commonsRequestLoggingFilter(): CommonsRequestLoggingFilter { val filter = CommonsRequestLoggingFilter() filter.. 2020. 1. 3.
Kafka 2.1 이상에서 Kafka Offset Monitor 사용하기 - Unknown offset schema version 3 해결 2019-12-19 14:52:58 ERROR KafkaOffsetGetter$:103 - The message was malformed and does not conform to a type of (BaseKey, OffsetAndMetadata. Ignoring this message. kafka.common.KafkaException: Unknown offset schema version 3 at kafka.coordinator.GroupMetadataManager$.schemaForOffset(GroupMetadataManager.scala:739) at kafka.coordinator.GroupMetadataManager$.readOffsetMessageValue(GroupMetadataMana.. 2019. 12. 26.