기술 정보
home
채널 소개
home

Internal Error: 'tf->used_unitcnt > 0' 조건에서 오류 발생

문서 유형
장애 해결
분야
패치/업그레이드
키워드
temp table
적용 제품 버전
6FS07
1 more property

현상

통계정보 수집 시, temp table drop 과정에서 Internal Error가 발생하고, 이후 DB가 종료되는 문제가 발생하였습니다.

원인

통계정보 수집 수행 중, 임시 세그먼트(temp segment)를 반환하는 과정에서 유효하지 않은 세그먼트를 다시 반환하려는 시도가 발생하면서 타이밍 이슈가 발생합니다.
이로 인해 정합성 유지를 위해 DB가 종료되는 현상이 발생하게 됩니다.
callstack 일부
Thread 2 (Thread 0x7fe6d67c7700 (LWP 61418)): #0 0x00007fe7e038885d in nanosleep () from /lib64/libc.so.6 #1 0x00007fe7e03886f4 in sleep () from /lib64/libc.so.6 #2 0x0000000000dbc016 in tb_system (cmdstring=0xdda4c60 <cmd> "/usr/bin/pstack 61153 >> /home/tibero/tibero6/instance/FANFANINFO2/tbsvr.callstack.61153 2>&1", ds=0x40e43c0 <debug_dstream>, kill_child=<optimized out>, timeout_in_sec=296) at /home/chef/workspace/Build_centos_7-3/tibero6/src/tbsvr/frame/callstack.c:297 #3 callstack_dump_internal (ds=ds@entry=0x40e43c0 <debug_dstream>, tid=tid@entry=309, os_thr_id=os_thr_id@entry=61418, pid=pid@entry=61153, dump_dest_dir=dump_dest_dir@entry=0x0) at /home/chef/workspace/Build_centos_7-3/tibero6/src/tbsvr/frame/callstack.c:440 #4 0x0000000000dbc55e in callstack_dump_ex (ds=0x40e43c0 <debug_dstream>, tid=309, tid@entry=-1, dump_dest_dir=dump_dest_dir@entry=0x0) at /home/chef/workspace/Build_centos_7-3/tibero6/src/tbsvr/frame/callstack.c:472 #5 0x0000000000dba9c4 in tb_tracedump (tracedump_cause=tracedump_cause@entry=TRACEDUMP_ASSERT) at /home/chef/workspace/Build_centos_7-3/tibero6/src/tbsvr/frame/tbsvr_tracedump.c:91 #6 0x000000000106cade in tb_assert_msg_detail (cond=cond@entry=0x2bf36c0 "tf->used_unitcnt > 0", argc=argc@entry=1, filename=filename@entry=0x2bee1bb "tx_temp_ts.c", line=line@entry=1829, func=func@entry=0x2be36b0 <__func__.63713> "temp_ts_free_ext") at /home/chef/workspace/Build_centos_7-3/tibero6/src/tbsvr/minimal/tb_assert.c:115 #7 0x0000000001c92e5f in temp_ts_free_ext (temp_ts_id=temp_ts_id@entry=2, unitdba=2233, unitcnt=16, type=type@entry=TEMP_TYPE_GTEMP_TBL) at /home/chef/workspace/Build_centos_7-3/tibero6/src/tbsvr/tx/tx_temp_ts.c:1829 #8 0x0000000001c826af in ts_free_ext (cvlist=cvlist@entry=0x7fe6d67c6040, tsid=<optimized out>, extdba=2233, extsize=128, no_wait=no_wait@entry=0 '\000') at /home/chef/workspace/Build_centos_7-3/tibero6/src/tbsvr/tx/tx_ts.c:1865 #9 0x0000000001c2e368 in tx_sgmt_remove_ext (embuf=embuf@entry=0x7fe7bea26760, emblk=emblk@entry=0x7fe798ff4000, ts_id=ts_id@entry=2) at /home/chef/workspace/Build_centos_7-3/tibero6/src/tbsvr/tx/tx_sgmt.c:2512 #10 0x0000000001c2ee41 in tx_sgmt_drop (ts_id=<optimized out>, shdrdba=2099, sgmt_id=17318, invalidate_l1c=invalidate_l1c@entry=0 '\000', no_assert=no_assert@entry=0 '\000') at /home/chef/workspace/Build_centos_7-3/tibero6/src/tbsvr/tx/tx_sgmt.c:2755 #11 0x0000000001b955f8 in td_tsgmt_clear (tsgmt_dd=tsgmt_dd@entry=0x7fe7dfd2b8e8) at /home/chef/workspace/Build_centos_7-3/tibero6/src/tbsvr/td/td_tsgmt.c:189 #12 0x0000000001b958e8 in td_tsgmt_clear_all (sess_close=sess_close@entry=1 '\001') at /home/chef/workspace/Build_centos_7-3/tibero6/src/tbsvr/td/td_tsgmt.c:213 #13 0x00000000018f6945 in so_sess_close (so=0x7fe7dc1dc218, sessid=309, flag=<optimized out>) at /home/chef/workspace/Build_centos_7-3/tibero6/src/tbsvr/sess/sess.c:646 #14 0x0000000000d828c1 in so_gc (id=309, so_list=0x7fe6e683bb18, marker=0x7fe7daac9130, scope=SO_SESS) at /home/chef/workspace/Build_centos_7-3/tibero6/src/tbsvr/frame/so_cleanup.c:376 #15 0x00000000006069b1 in svr_wthr_main_internal (my_tid=309) at /home/chef/workspace/Build_centos_7-3/tibero6/src/tbsvr/body/tbsvr_wthr.c:1044 #16 0x0000000000d8b4dd in wthr_init (args=0x7fe6dfec8d08) at /home/chef/workspace/Build_centos_7-3/tibero6/src/tbsvr/frame/tbsvr_cthr.c:3327 #17 0x00007fe7e39e5ea5 in start_thread () from /lib64/libpthread.so.0 #18 0x00007fe7e03c18dd in clone () from /lib64/libc.so.6
SQL
복사

해결

통계정보 수집 시, temp table drop 과정에서 타이밍 이슈로 인해 Internal Error가 발생하는 문제를 수정한 패치 적용이 필요합니다.
참고
아래는 temp 관련 에러 방지 패치 목록입니다.
279034: temp table drop 중에 Internal Error 발생하는 오류 해결
258195: temp tablespace 통합 안정화 패치
285232: hint dba 를 정리하지 않아 잘못된 공간에 insert 하는 현상 해소 패치
주의
티맥스티베로에서 제공하는 기술지원을 통해 패치를 적용합니다.