안녕하세요 이번에 큐브리드를 8.2에서 8.4로 업그레이드를 했습니다.
마이그레이션과 다른 부분은 다 잘 작동을 하는데.
쿼리를 cci로 실행을 할때.
cci_execute에러가.
query(update table_a set column_b = 0 where column_c = 'test' and column_d <> 0), Error(-72), ErrorMsg(Your transaction (index 8, test@myskysy|29822) has been unilaterally aborted by the system.
라고 발생합니다.
8.2에서는 같은 코드로 발생을 하지 않았는데 8.4에서 발생을 했고.
cubrid.conf 파일의 설정 내용은 똑같이 맞췄습니다.
코드상에서.
int iRes = cci_execute(iRequestHandle, 0, 0, &error);
if(iRes < 0)
return false;
의 코드를 아래와 같이 수정해서 cci_execute를 다시 한번 실행해볼경우는 정상적으로 처리가 됩니다.
int iRes = cci_execute(iRequestHandle, 0, 0, &error);
if(iRes < 0)
{
iRes = cci_execute(iRequestHandle, 0, 0, &error);
if(iRes < 0)
return false;
}
unilaterally관련 에러가 deadlock관련이 있다고 글이 찾아지는데 혹시 cci로 쿼리를 할때 lock이 걸린경우.
일정시간기다려본 다음에 fail을 내거나 하는 옵션이 있는지 궁금합니다.