Cubrid shard 설정

by Vtol posted Mar 10, 2015

* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
OS
Centos  64bit 
CUBRID Ver.
9.3
CUBRID TOOL Ver.
[도움말]-[버전정보] 확인
응용 환경(API)
java,

* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.
에러 내용 및 재현 방법 재현 가능한 Source와 SQL
관련 테이블(인덱스, 키정보 포함) 정보 CUBRID 홈 디렉토리 아래 log 디렉토리 압축


-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------

안녕하세요


Cubrid를 이용해서 shard기능을 사용하고 있습니다

Cubrid id 로 구현을 해서 0-1을 사용하고 있습니다만

잘못해서 id정보가 0,1이아닌 이외의 수가 들어올경우 proxy log가 엄청 나게 아래와 같이 발생하고 있습니다. 

문제는 클라이언트의 커넥션을 전부 사용하기 때문에 한번 잘못 지정하면 클라이언트의 어플리케이션을 재기동을 해야 하는 상황입니다. 


pse_master_proxy_log/pse_master_1.log:15-03-09 20:40:39.716 [ERR] ../../src/broker/shard_proxy_io.c(3823): Invalid shard/CAS id is requested. (shard_id:10, cas_id:-1).

pse_master_proxy_log/pse_master_1.log:15-03-09 20:40:39.716 [ERR] ../../src/broker/shard_proxy_function.c(1281): Failed to allocate CAS. context(cid:225, uid:8930, is_busy:Y, is_in_tran:N, is_prepare_for_execute:N, free_on_end_tran:N, free_on_client_io_write:N, free_context:N, is_client_in_tran:Y, is_cas_in_tran:N, waiting_event:((nil), -), func_code:-1, stmt_h_id:-1, stmt_hint_type:-1, wait_timeout:30, client_id:225, shard_id:10, cas_id:-1, error_ind:0, error_code:0, error_msg:[-] ).

pse_master_proxy_log/pse_master_1.log:15-03-09 20:40:39.746 [ERR] ../../src/broker/shard_proxy_io.c(3823): Invalid shard/CAS id is requested. (shard_id:10, cas_id:-1).

pse_master_proxy_log/pse_master_1.log:15-03-09 20:40:39.746 [ERR] ../../src/broker/shard_proxy_function.c(1281): Failed to allocate CAS. context(cid:226, uid:8931, is_busy:Y, is_in_tran:N, is_prepare_for_execute:N, free_on_end_tran:N, free_on_client_io_write:N, free_context:N, is_client_in_tran:Y, is_cas_in_tran:N, waiting_event:((nil), -), func_code:-1, stmt_h_id:-1, stmt_hint_type:-1, wait_timeout:30, client_id:226, shard_id:10, cas_id:-1, error_ind:0, error_code:0, error_msg:[-] ).

pse_master_proxy_log/pse_master_1.log:15-03-09 20:40:39.777 [ERR] ../../src/broker/shard_proxy_io.c(3823): Invalid shard/CAS id is requested. (shard_id:10, cas_id:-1).

pse_master_proxy_log/pse_master_1.log:15-03-09 20:40:39.777 [ERR] ../../src/broker/shard_proxy_function.c(1281): Failed to allocate CAS. context(cid:227, uid:8932, is_busy:Y, is_in_tran:N, is_prepare_for_execute:N, free_on_end_tran:N, free_on_client_io_write:N, free_context:N, is_client_in_tran:Y, is_cas_in_tran:N, waiting_event:((nil), -), func_code:-1, stmt_h_id:-1, stmt_hint_type:-1, wait_timeout:30, client_id:227, shard_id:10, cas_id:-1, error_ind:0, error_code:0, error_msg:[-] ).


Cubrid id가 잘못 지정되었을경우 에러코드를 반환을 받았으면 합니다. 


두번째 질문입니다만

/usr/local/DBGW/CUBRID/jdbc

에  JDBC-XXXX-cubrid.jar  JDBC-XXXX-cubrid-mysql.jar  JDBC-XXXX-cubrid-oracle.jar

의 드라이버가 있는데 cubrid_jdbc.jar 로 심볼릭링크를 해서 현재는  JDBC-XXXX-cubrid.jar  로 되어 있습니다.

현재 Shard의 구성으로  mysql을 사용하고 있습니다만, 

이러할 경우 심볼릭 링크를  JDBC-XXXX-cubrid-mysql.jar로 전환을 해야 하는걸까요?



Articles