분류 전체보기 141

[Elasticsearch] org.apache.http.ConnectionClosedException: Connection closed

# 오류 elasticsearch 6.8 설치버전에 연동하기 위해 elasticsearch-rest-high-level-client 라이브러리 6.8.0 버전을 사용했다. 클라이언트 생성하고 client.search(SearchRequest) 메소드 호출하는 과정에서 connection closed 에러가 발생한다. org.apache.http.ConnectionClosedException: Connection closed at org.apache.http.nio.protocol.HttpAsyncRequestExecutor.endOfInput(HttpAsyncRequestExecutor.java:341) at org.apache.http.impl.nio.DefaultNHttpClientConnection..

[Elasticsearch] Exception in thread "main" java.lang.NoSuchMethodError: org.elasticsearch.action.support.IndicesOptions.ignoreThrottled()Z

# 오류 java 프로젝트에서 엘라스틱서치에 연동하기 위해 elasticsearch-rest-high-level-client 라이브러리를 사용했다. 기존에 transport:6.0.0 버전을 사용했고 엘라스틱서치 설치 버전을 올리면서 클라이언트도 버전을 올리게 되었다. 연동하려는 elasticsearch의 노드가 총 7개이고 설치된 버전이 6.8 또는 7.9 이다. 연동 가이드 문서를 따라서 구현을 했는데 소스코드를 실행하면 클라이언트 객체 초기화하는 부분에서 다음과 같은 에러가 난다. Exception in thread "main" java.lang.NoSuchMethodError: org.elasticsearch.action.support.IndicesOptions.ignoreThrottled()Z ..

[Elasticsearch] java api client 버전 6.0에서 6.8로 업그레이드

현재 기준으로 공식 엘라스틱서치 최신 안정화 버전은 7.9 버전이다. 현재 운영중인 서비스는 엘라스틱서치 6.0 버전을 설치하였으며, 스프링부트를 기반으로 개발된 서비스에서 자바 클라이언트를 사용하여 설치된 엘라스틱서치에 연결한다. 자바 클라이언트 버전은 6.0.0 이다. 설치된 엘라스틱서치의 노드들을 6.8 -> 7.9 버전으로 업그레이드(진행 중) 하면서 6.0.0 버전의 자바 클라이언트를 사용할 수 없게 되었다. 자바 클라이언트 버전을 6.0.0 -> 7.9로 일괄 업그레이드 하면 좋겠지만 모든 노드들을 전환하는데 시간이 걸리기 때문에 6.8 버전과 7.9 버전을 호환할 수 있는 6.8 버전으로 클라이언트를 변경하기로 했다. 또한 기존의 6.0 버전 자바 클라이언트는 Java API 였다면 이번에는..

[Linux] /bin/sh^M: bad interpreter: No such file or directory

# 오류 /bin/sh^M: bad interpreter: No such file or directory xcode에서 ios 앱 빌드하면서 발생한 오류지만 사실상 Linux 실행오류이다. 아래쪽에 빨간색 영역에 있는 메세지 중에서 /Users/user/...../Pods-MobileConnect-frameworks.sh 파일이 문제이다. # 원인 이는 십중 팔구 윈도우에서 작성한 스크립트 파일을 Linux (필자는 Mac)에서 실행했기 때문에 나타나는 오류이다. 파일 내용 중 라인 끝에 있는 개행문자가 달라서 발생하는 문제인데 /bin/sh^M 이라는 오류 문구에 나와있듯이 ^M 문자 때문에 발생하는 오류이다. 문제가 발생하는 스크립트 파일에서 ^M 이라는 문자를 모두 지워야 한다. # 해결 1) 바이..

[ios] 배포환경 별 빌드설정 달리 하기

1) Project Configuration 생성 Target은 프로젝트에서 무료앱, 유료앱과 같은 상품별 분기가 발생할때 사용하는 것이고 개발, 운영, 스테이징 등의 배포환경을 분리할 때는 Build Configuration 을 활용한다. PROJECT > Info 탭에 들어가면 Configurations 항목이 있고 로컬 빌드 및 실행에 사용되는 Debug와 배포할 때 사용되는 Release 두 개가 기본으로 존재한다. Debug, Release 외에 다른 빌드환경이 필요하다면 + 를 눌러서 기존 설정을 복사(Duplicate)하는 형태로 생성한다. 예를 들면, Duplicate "Release" Configuration 하여 "Stage"라는 설정을 생성할 수 있다. 배포환경을 분리하는 이유는 대부..

[Mysql] Illegal mix of collations (utf8mb4_unicode_ci,IMPLICIT) and (utf8mb4_general_ci,IMPLICIT) for operation '='

# 오류 단순한 JOIN이 포함된 조회쿼리를 실행했는데 아래와 같은 오류가 난다. [ERROR] Illegal mix of collations (utf8mb4_unicode_ci,IMPLICIT) and (utf8mb4_general_ci,IMPLICIT) for operation '=' 0.0043 sec select * from site_msg s join footer f on (s.`uuid` = f.`html`) where s.target_field = 'html' LIMIT 0, 1000Error Code: 1267. # 원인 JOIN 조건에 있는 각 테이블의 컬럼의 문자셋이 상이해서 발생하는 오류라고 한다. # 해결 데이터베이스와 테이블의 문자셋을 변경했다. -- 데이터베이스 문자셋 변경 al..

[ios] Main.storyboard: warning: Unsupported Configuration: Medium Style before iOS 13.0

Loading Bar로 작명된 Application Indicator에서 다음과 같은 경고가 났다. Unsupported Configuration: Medium Style before iOS 13.0 경고 메세지를 없애는 방법은 1) 타겟 ios를 ios 13.0 이상으로 올리거나 2) 아래처럼 viewDidLoad() 메소드에 코드를 작성한다. // To solve this, Set your project's iOS Deployment Target to iOS 13.0 (or later). // If you cannot do that, choose one of the deprecated styles on the storyboad and // set Large style programmatically: ..