Document Type | Troubleshooting
Category | Administration
Applicable Product Versions | 6FS06, 6FS07, 6FS07PS, 7FS01, 7FS02, 7FS02PS
Document Number | TADTS010
Issue
When updating a table, an Internal Error with condition 'bin->distinct_cnt == 1' occurred.
ReferenceThis phenomenon occurred in the following environment.
Product: Tibero
Version: Tibero6 FS06_CS_1902
Perform Table Update
The table update should be performed without error.
SQL> UPDATE GEN_ADM.GSLYT016 SET CAMPS_SE_CODE='1' WHERE YETA_YY='2024' AND EMPNO=XXXX AND WORK_BEGIN_DE='20240501';
Check sys Log
An Internal Error with condition 'outlen == enc_coldata_len - salt_size - hash_size' occurs, and session disconnection is confirmed.
[07-16T16:03:57.804641] [COM-789] [I] Internal Error with condition 'outlen == enc_coldata_len - salt_size - hash_size' (secu_tde.c:760) (pid=19878, sessid=789, tid=789, os_thr_id=4) [07-16T16:04:00.823545] [FRM-789] [I] THROW. ec=ERROR_SESS_KILLED(-12001) [ Session has been closed. ] (csr_id:3) [tbsvr_tracedump.c:294:tb_thr_assert_cmd] [07-16T16:17:15.853960] [FRM-57] [I] SEND STMT_CANCEL SIGNAL to 678 [07-16T16:17:15.854298] [FRM-678] [I] GET STMT_CANCEL SIGNAL (sessid=678 sess_status=4 tid=678 thr_status=5)
Cause
Error Occurs When Updating a Table with Encrypted Columns, Indexes, and Triggers Present Simultaneously
- An UPDATE statement is executed on a table where encrypted columns, indexes, and triggers all exist.
- The UPDATE statement changes the value of the target column, and during this process, the index key value is also updated.
- At this time, even if the column is not the target of the UPDATE, the internal logic performs an operation to update the hash value of the encrypted column.
- During the hash value update process, an attempt is made to modify a duplicate hash value, causing a conflict.
- Due to this conflict, the transaction processing (UPDATE and trigger execution) fails in the subsequently executed trigger.
- The UPDATE statement is rolled back, an internal error occurs, and the session is abnormally terminated.
Solutions
Apply patch 328713.
CautionApply the patch through technical support provided by Tmax Tibero.
ReferenceBy adding a dummy condition that assigns the encrypted column in the SET clause with the same value, this error can be bypassed.SQL> UPDATE GEN_ADM.GSLYT016 SET CAMPS_SE_CODE='1', YETA_RRNO=YETA_RRNO WHERE YETA_YY='2024' AND EMPNO=XXXX AND WORK_BEGIN_DE='20240501';