[MCOL-4879] Error code miscommunication between Columnstore and server Created: 2021-09-27  Updated: 2021-10-20

Status: Open
Project: MariaDB ColumnStore
Component/s: None
Affects Version/s: None
Fix Version/s: Icebox

Type: Bug Priority: Trivial
Reporter: Elena Stepanova Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None

Issue Links:
Relates
relates to MDEV-26699 Row counter does not work consistentl... Open

 Description   

10.7 8dd4794c4

MariaDB [db]> create table t (a tinyint) engine=Columnstore;
Query OK, 0 rows affected (1.355 sec)
 
MariaDB [db]> insert into t values (1),(100);
Query OK, 2 rows affected (0.650 sec)
Records: 2  Duplicates: 0  Warnings: 0
 
MariaDB [db]> update t set a = a*2;
ERROR 1264 (22003): CAL0002: IDB-2025: Data truncated for column 'a' 
MariaDB [db]> show warnings;
+-------+------+---------------------------------------------------------------------+
| Level | Code | Message                                                             |
+-------+------+---------------------------------------------------------------------+
| Error | 1264 | CAL0002: IDB-2025: Data truncated for column 'a'                    |
| Error | 1030 | Got error 1815 "Unknown error 1815" from storage engine ColumnStore |
+-------+------+---------------------------------------------------------------------+
2 rows in set (0.000 sec)

So, it appears that the initial error happens inside the Colunstore, but then it passed over as error 1815 ER_INTERNAL_ERROR and reported as "Unknown error". I have only found a couple of "Unknown error 1815" by a Google search, and they both belong to Columnstore, so maybe there is some room for improvement.

Repeating the same exercise several times makes Columnstore/server to switch from reporting ER_WARN_DATA_OUT_OF_RANGE + ER_GET_ERRNO to direct ER_INTERNAL_ERROR. It seems to be happening non-deterministically, but frequently enough.

drop table if exists t;
create table t (a tinyint) engine=Columnstore;
insert into t values (1),(100);
insert into t select a*2 from t;
insert into t values (1),(100);
insert into t select a*2 from t;

Result

MariaDB [db]> create table t (a tinyint) engine=Columnstore;
Query OK, 0 rows affected (1.542 sec)
 
MariaDB [db]> insert into t values (1),(100);
Query OK, 2 rows affected (0.625 sec)
Records: 2  Duplicates: 0  Warnings: 0
 
MariaDB [db]> insert into t select a*2 from t;
ERROR 1264 (22003): Out of range value for column 'a' at row 1
MariaDB [db]> insert into t values (1),(100);
Query OK, 2 rows affected (0.600 sec)
Records: 2  Duplicates: 0  Warnings: 0
 
MariaDB [db]> insert into t select a*2 from t;
ERROR 1815 (HY000): Internal error: Unknown error
MariaDB [db]> 


Generated at Thu Feb 08 02:53:42 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.