본문 바로가기

Issue5

[Issue] XContentParseException: failed to parse filed, JsonParseException : Duplicate field 'positionLength' 해결 에러 분석 SpringBoot (Java Code) 현재 엘라스틱서치 클라이언트로 RestHighLevelClient를 사용하고 있다 해당 라이브러리에서 형태소 분석을 위해 한 API가 analyze()을 사용하고 있다 AnalyzeRequest request = AnalyzeRequest.withIndexAnalyzer(indexName, analyzerName, message); request.explain(true); AnalyzeResponse response = restHighLevelClient.indices().analyze(request, RequestOptions.DEFAULT); 그런데 특정 단어에서 IOException이 발생하였다 (분석기는 nori를 사용했다) java.io.IOE.. 2021. 12. 17.
[Issue] Error Parsing HTTP request header ~ / The valid characters are defined in RFC 7230 and RFC 3986 해결 The valid characters are defined in RFC 7230 and RFC 3986 Error parsing HTTP request header Note: further occurrences of HTTP request parsing errors will be logged at DEBUG level. The valid characters are defined in RFC 7230 and RFC 3986 로그에서 위와 같은 에러가 발견되었다 서버에러가 아니라 APM에서는 발견되지 않았다 확인해보니 클라이언트쪽에서 GET 방식으로 호출할 때, 특수문자로 인해 발생한 이슈였다 SpringBoot는 내장 톰캣을 사용하는데, 톰캣 7 특정버전 이상부터 파라미터 값에 특수문자를 받을 수 없도록 .. 2021. 12. 17.
[Issue - Spring] DataBufferLimitException: Exceeded limit on max bytes to buffer : 262144 해결 Webclient를 쓰다가 아래와 같은 Exception이 발생 org.springframework.core.io.buffer.DataBufferLimitException: Exceeded limit on max bytes to buffer : 262144 몇몇 특정 검색어에서만 APM에서 발견되었다 원인은 in-memory buffer 256KB를 초과해서 익셉션이 발생한 것이다 Buffer Size 최근 스프링 부트버전에서 Webclient에 설정되는 default codec buffer size가 256KB로 변경되었다고 한다 Spring WebFlux 어플리케이션 메모리 문제를 피하기 위해 codec 처리를 위해 in-memory buffer 256KB가 default라고 한다 (1KB → 1,0.. 2021. 12. 8.
[Issue] UriComponentsBuilder Encoding [특수문자, + 예약어, 이중인코딩 방지] 안녕하세요~ 잭코딩입니다! RestTemplate, WebClient GET 방식 호출 시, 발생했던 인코딩 이슈를 정리해보려고 합니다 Front에서 받은 데이터를 한번 가공해서 GET 방식으로 외부 API를 호출할 때, 인코딩 이슈가 발생했습니다 글쓴이는 WebClient GET 방식을 사용했습니다 @Override public Mono get(URI uri) { return WebClient.builder().build() .get() .uri(uri) .accept(MediaType.APPLICATION_JSON) .retrieve() .bodyToMono(Map.class) .retry(2); } 참고로 RestTemplate, WebClient는 URI 타입으로 받으면 인코딩을 진행하지 않고, .. 2021. 11. 2.
[IntelliJ] unmappable character for encoding ms949 안녕하세요~ 잭코딩입니다! 갑자기 컴퓨터 부팅이 안되서 포맷을 하고 인텔리제이를 새로 설치하였습니다 그리고 코드를 돌렸더니 unmappable character for encoding ms949 인코딩 문제가 발생했습니다 분명 이전에도 같은 문제로 해결했었는데 바로 기억이 나지 않았습니다 그래서 이번에 해결하면서 같이 정리해두려고 합니다 unmappable character for encoding ms949 해결 먼저 File - Settings를 들어갑니다 그리고 File Encodings를 검색하고 모두 UTF-8로 변경해줍니다 그 다음으로 Help - Edit Custom VM Options로 들어갑니다 그리고 2줄을 추가해줍니다 -Dfile.encoding=UTF=8 -Dconsole.encodi.. 2021. 2. 6.