Details
-
Bug
-
Status: Open (View Workflow)
-
Major
-
Resolution: Unresolved
-
10.8.4, 10.9.2, 10.3(EOL), 10.4(EOL), 10.5, 10.6, 10.7(EOL), 10.8(EOL), 10.9(EOL)
-
None
Description
create a CONNECT BIN table with a unsigned field is not creating the .bop block_index file,
also fails on optimize table as well.:
create table tm ( |
time INT4 unsigned not null DEFAULT 0 field_format='X' DISTRIB=sorted, |
data INT4 unsigned not null DEFAULT 0 field_format='X' |
) engine=CONNECT table_type=BIN block_size=128 file_name='tm.dat'; |
then INSERT 1000 rows,
MariaDB [test]> select * from tm limit 10;
|
|
| time | data |
|
|
| 1651378127 | 7447060 |
|
| 1651378187 | 6197231 |
|
| 1651378288 | 9090561 |
|
| 1651378390 | 9525601 |
|
| 1651378451 | 4827450 |
|
| 1651378511 | 4905942 |
|
| 1651378579 | 5260349 |
|
no tm.bop file shows up:
-rw-rw---- 1 mysql mysql 8000 Aug 19 14:31 tm.dat
|
-rw-rw---- 1 mysql mysql 565 Aug 19 14:31 tm.frm
|
Optimize fails as well:
MariaDB [test]> optimize table tm;
|
|
| Table | Op | Msg_type | Msg_text |
|
|
| test.tm | optimize | Error | Non matching Value types |
|
| test.tm | optimize | error | Unknown - internal error 122 during operation |
|
|
2 rows in set (0.000 sec)
|
Recreate table with signed
drop table tm; |
create table tm ( |
time INT4 not null DEFAULT 0 field_format='X' DISTRIB=sorted, |
data INT4 unsigned not null DEFAULT 0 field_format='X' |
) engine=CONNECT table_type=BIN block_size=128 file_name='tm.dat'; |
update tm set time=time-1 limit 1;
|
update tm set time=time+1 limit 1
|
Now we have tm.bop file:
-rw-rw---- 1 mysql mysql 80 Aug 19 14:33 tm.bop
|
-rw-rw---- 1 mysql mysql 8000 Aug 19 14:33 tm.dat
|
-rw-rw---- 1 mysql mysql 565 Aug 19 14:33 tm.frm
|
And also optimize works
MariaDB [test]> optimize table tm;
|
|
| Table | Op | Msg_type | Msg_text |
|
|
| test.tm | optimize | status | OK |
|
|
1 row in set (0.000 sec)
|
So there seems to be an issue with unsigned types (I tried short as well) and this DISTRIB sorted
Attachments
Activity
Field | Original Value | New Value |
---|---|---|
Component/s | Storage Engine - Connect [ 10128 ] |
Description |
create a CONNECT BIN table with a unsigned field is not creating the .bop block_index file,
also fails on optimize table as well.: {quote}create table tm ( time INT4 unsigned not null DEFAULT 0 field_format='X' DISTRIB=sorted, data INT4 unsigned not null DEFAULT 0 field_format='X' ) engine=CONNECT table_type=BIN block_size=128 file_name='tm.dat'; {quote} INSERT 1000 rows, MariaDB [test]> select * from tm limit 10; +------------+---------+ | time | data | +------------+---------+ | 1651378127 | 7447060 | | 1651378187 | 6197231 | | 1651378288 | 9090561 | | 1651378390 | 9525601 | | 1651378451 | 4827450 | | 1651378511 | 4905942 | | 1651378579 | 5260349 | no tm.bop file shows up: -rw-rw---- 1 mysql mysql 8000 Aug 19 14:31 tm.dat -rw-rw---- 1 mysql mysql 565 Aug 19 14:31 tm.frm Optimize fails as well: MariaDB [test]> optimize table tm; +---------+----------+----------+-----------------------------------------------+ | Table | Op | Msg_type | Msg_text | +---------+----------+----------+-----------------------------------------------+ | test.tm | optimize | Error | Non matching Value types | | test.tm | optimize | error | Unknown - internal error 122 during operation | +---------+----------+----------+-----------------------------------------------+ 2 rows in set (0.000 sec) then recreate table with signed {quote}drop table tm; create table tm ( time INT4 not null DEFAULT 0 field_format='X' DISTRIB=sorted, data INT4 unsigned not null DEFAULT 0 field_format='X' ) engine=CONNECT table_type=BIN block_size=128 file_name='tm.dat'; update tm set time=time-1 limit 1; update tm set time=time+1 limit 1{quote} Now we have tm.bop file: -rw-rw---- 1 mysql mysql 80 Aug 19 14:33 tm.bop -rw-rw---- 1 mysql mysql 8000 Aug 19 14:33 tm.dat -rw-rw---- 1 mysql mysql 565 Aug 19 14:33 tm.frm And also optimize works MariaDB [test]> optimize table tm; +---------+----------+----------+----------+ | Table | Op | Msg_type | Msg_text | +---------+----------+----------+----------+ | test.tm | optimize | status | OK | +---------+----------+----------+----------+ 1 row in set (0.000 sec) So there seems to be an issue with unsigned types (I tried short as well) and this DISTRIB sorted |
create a CONNECT BIN table with a unsigned field is not creating the .bop block_index file,
also fails on optimize table as well.: {quote}create table tm ( time INT4 unsigned not null DEFAULT 0 field_format='X' DISTRIB=sorted, data INT4 unsigned not null DEFAULT 0 field_format='X' ) engine=CONNECT table_type=BIN block_size=128 file_name='tm.dat'; {quote} then INSERT 1000 rows, MariaDB [test]> select * from tm limit 10; | time | data | | 1651378127 | 7447060 | | 1651378187 | 6197231 | | 1651378288 | 9090561 | | 1651378390 | 9525601 | | 1651378451 | 4827450 | | 1651378511 | 4905942 | | 1651378579 | 5260349 | no tm.bop file shows up: -rw-rw---- 1 mysql mysql 8000 Aug 19 14:31 tm.dat -rw-rw---- 1 mysql mysql 565 Aug 19 14:31 tm.frm Optimize fails as well: MariaDB [test]> optimize table tm; | Table | Op | Msg_type | Msg_text | | test.tm | optimize | Error | Non matching Value types | | test.tm | optimize | error | Unknown - internal error 122 during operation | 2 rows in set (0.000 sec) Recreate table with signed {quote}drop table tm; create table tm ( time INT4 not null DEFAULT 0 field_format='X' DISTRIB=sorted, data INT4 unsigned not null DEFAULT 0 field_format='X' ) engine=CONNECT table_type=BIN block_size=128 file_name='tm.dat'; update tm set time=time-1 limit 1; update tm set time=time+1 limit 1{quote} Now we have tm.bop file: -rw-rw---- 1 mysql mysql 80 Aug 19 14:33 tm.bop -rw-rw---- 1 mysql mysql 8000 Aug 19 14:33 tm.dat -rw-rw---- 1 mysql mysql 565 Aug 19 14:33 tm.frm And also optimize works MariaDB [test]> optimize table tm; +---------+----------+----------+----------+ | Table | Op | Msg_type | Msg_text | +---------+----------+----------+----------+ | test.tm | optimize | status | OK | +---------+----------+----------+----------+ 1 row in set (0.000 sec) So there seems to be an issue with unsigned types (I tried short as well) and this DISTRIB sorted |
Description |
create a CONNECT BIN table with a unsigned field is not creating the .bop block_index file,
also fails on optimize table as well.: {quote}create table tm ( time INT4 unsigned not null DEFAULT 0 field_format='X' DISTRIB=sorted, data INT4 unsigned not null DEFAULT 0 field_format='X' ) engine=CONNECT table_type=BIN block_size=128 file_name='tm.dat'; {quote} then INSERT 1000 rows, MariaDB [test]> select * from tm limit 10; | time | data | | 1651378127 | 7447060 | | 1651378187 | 6197231 | | 1651378288 | 9090561 | | 1651378390 | 9525601 | | 1651378451 | 4827450 | | 1651378511 | 4905942 | | 1651378579 | 5260349 | no tm.bop file shows up: -rw-rw---- 1 mysql mysql 8000 Aug 19 14:31 tm.dat -rw-rw---- 1 mysql mysql 565 Aug 19 14:31 tm.frm Optimize fails as well: MariaDB [test]> optimize table tm; | Table | Op | Msg_type | Msg_text | | test.tm | optimize | Error | Non matching Value types | | test.tm | optimize | error | Unknown - internal error 122 during operation | 2 rows in set (0.000 sec) Recreate table with signed {quote}drop table tm; create table tm ( time INT4 not null DEFAULT 0 field_format='X' DISTRIB=sorted, data INT4 unsigned not null DEFAULT 0 field_format='X' ) engine=CONNECT table_type=BIN block_size=128 file_name='tm.dat'; update tm set time=time-1 limit 1; update tm set time=time+1 limit 1{quote} Now we have tm.bop file: -rw-rw---- 1 mysql mysql 80 Aug 19 14:33 tm.bop -rw-rw---- 1 mysql mysql 8000 Aug 19 14:33 tm.dat -rw-rw---- 1 mysql mysql 565 Aug 19 14:33 tm.frm And also optimize works MariaDB [test]> optimize table tm; +---------+----------+----------+----------+ | Table | Op | Msg_type | Msg_text | +---------+----------+----------+----------+ | test.tm | optimize | status | OK | +---------+----------+----------+----------+ 1 row in set (0.000 sec) So there seems to be an issue with unsigned types (I tried short as well) and this DISTRIB sorted |
create a CONNECT BIN table with a unsigned field is not creating the .bop block_index file,
also fails on optimize table as well.: {quote}create table tm ( time INT4 unsigned not null DEFAULT 0 field_format='X' DISTRIB=sorted, data INT4 unsigned not null DEFAULT 0 field_format='X' ) engine=CONNECT table_type=BIN block_size=128 file_name='tm.dat'; {quote} then INSERT 1000 rows, MariaDB [test]> select * from tm limit 10; | time | data | | 1651378127 | 7447060 | | 1651378187 | 6197231 | | 1651378288 | 9090561 | | 1651378390 | 9525601 | | 1651378451 | 4827450 | | 1651378511 | 4905942 | | 1651378579 | 5260349 | no tm.bop file shows up: -rw-rw---- 1 mysql mysql 8000 Aug 19 14:31 tm.dat -rw-rw---- 1 mysql mysql 565 Aug 19 14:31 tm.frm Optimize fails as well: MariaDB [test]> optimize table tm; | Table | Op | Msg_type | Msg_text | | test.tm | optimize | Error | Non matching Value types | | test.tm | optimize | error | Unknown - internal error 122 during operation | 2 rows in set (0.000 sec) Recreate table with signed {quote}drop table tm; create table tm ( time INT4 not null DEFAULT 0 field_format='X' DISTRIB=sorted, data INT4 unsigned not null DEFAULT 0 field_format='X' ) engine=CONNECT table_type=BIN block_size=128 file_name='tm.dat'; update tm set time=time-1 limit 1; update tm set time=time+1 limit 1{quote} Now we have tm.bop file: -rw-rw---- 1 mysql mysql 80 Aug 19 14:33 tm.bop -rw-rw---- 1 mysql mysql 8000 Aug 19 14:33 tm.dat -rw-rw---- 1 mysql mysql 565 Aug 19 14:33 tm.frm And also optimize works MariaDB [test]> optimize table tm; | Table | Op | Msg_type | Msg_text | | test.tm | optimize | status | OK | 1 row in set (0.000 sec) So there seems to be an issue with unsigned types (I tried short as well) and this DISTRIB sorted |
Affects Version/s | 10.3 [ 22126 ] | |
Affects Version/s | 10.4 [ 22408 ] | |
Affects Version/s | 10.5 [ 23123 ] | |
Affects Version/s | 10.6 [ 24028 ] | |
Affects Version/s | 10.7 [ 24805 ] | |
Affects Version/s | 10.8 [ 26121 ] | |
Affects Version/s | 10.9 [ 26905 ] |
Fix Version/s | 10.3 [ 22126 ] | |
Fix Version/s | 10.4 [ 22408 ] | |
Fix Version/s | 10.5 [ 23123 ] | |
Fix Version/s | 10.6 [ 24028 ] | |
Fix Version/s | 10.7 [ 24805 ] | |
Fix Version/s | 10.8 [ 26121 ] |
Assignee | Anel Husakovic [ anel ] |
Description |
create a CONNECT BIN table with a unsigned field is not creating the .bop block_index file,
also fails on optimize table as well.: {quote}create table tm ( time INT4 unsigned not null DEFAULT 0 field_format='X' DISTRIB=sorted, data INT4 unsigned not null DEFAULT 0 field_format='X' ) engine=CONNECT table_type=BIN block_size=128 file_name='tm.dat'; {quote} then INSERT 1000 rows, MariaDB [test]> select * from tm limit 10; | time | data | | 1651378127 | 7447060 | | 1651378187 | 6197231 | | 1651378288 | 9090561 | | 1651378390 | 9525601 | | 1651378451 | 4827450 | | 1651378511 | 4905942 | | 1651378579 | 5260349 | no tm.bop file shows up: -rw-rw---- 1 mysql mysql 8000 Aug 19 14:31 tm.dat -rw-rw---- 1 mysql mysql 565 Aug 19 14:31 tm.frm Optimize fails as well: MariaDB [test]> optimize table tm; | Table | Op | Msg_type | Msg_text | | test.tm | optimize | Error | Non matching Value types | | test.tm | optimize | error | Unknown - internal error 122 during operation | 2 rows in set (0.000 sec) Recreate table with signed {quote}drop table tm; create table tm ( time INT4 not null DEFAULT 0 field_format='X' DISTRIB=sorted, data INT4 unsigned not null DEFAULT 0 field_format='X' ) engine=CONNECT table_type=BIN block_size=128 file_name='tm.dat'; update tm set time=time-1 limit 1; update tm set time=time+1 limit 1{quote} Now we have tm.bop file: -rw-rw---- 1 mysql mysql 80 Aug 19 14:33 tm.bop -rw-rw---- 1 mysql mysql 8000 Aug 19 14:33 tm.dat -rw-rw---- 1 mysql mysql 565 Aug 19 14:33 tm.frm And also optimize works MariaDB [test]> optimize table tm; | Table | Op | Msg_type | Msg_text | | test.tm | optimize | status | OK | 1 row in set (0.000 sec) So there seems to be an issue with unsigned types (I tried short as well) and this DISTRIB sorted |
create a CONNECT BIN table with a unsigned field is not creating the .bop block_index file,
also fails on optimize table as well.: {code:sql}create table tm ( time INT4 unsigned not null DEFAULT 0 field_format='X' DISTRIB=sorted, data INT4 unsigned not null DEFAULT 0 field_format='X' ) engine=CONNECT table_type=BIN block_size=128 file_name='tm.dat'; {code} then INSERT 1000 rows, {noformat} MariaDB [test]> select * from tm limit 10; | time | data | | 1651378127 | 7447060 | | 1651378187 | 6197231 | | 1651378288 | 9090561 | | 1651378390 | 9525601 | | 1651378451 | 4827450 | | 1651378511 | 4905942 | | 1651378579 | 5260349 | {noformat} no tm.bop file shows up: {noformat} -rw-rw---- 1 mysql mysql 8000 Aug 19 14:31 tm.dat -rw-rw---- 1 mysql mysql 565 Aug 19 14:31 tm.frm {noformat} Optimize fails as well: {noformat} MariaDB [test]> optimize table tm; | Table | Op | Msg_type | Msg_text | | test.tm | optimize | Error | Non matching Value types | | test.tm | optimize | error | Unknown - internal error 122 during operation | 2 rows in set (0.000 sec) {noformat} Recreate table with signed {code:sql}drop table tm; create table tm ( time INT4 not null DEFAULT 0 field_format='X' DISTRIB=sorted, data INT4 unsigned not null DEFAULT 0 field_format='X' ) engine=CONNECT table_type=BIN block_size=128 file_name='tm.dat';{code} {noformat} update tm set time=time-1 limit 1; update tm set time=time+1 limit 1{noformat} Now we have tm.bop file: {noformat} -rw-rw---- 1 mysql mysql 80 Aug 19 14:33 tm.bop -rw-rw---- 1 mysql mysql 8000 Aug 19 14:33 tm.dat -rw-rw---- 1 mysql mysql 565 Aug 19 14:33 tm.frm {noformat} And also optimize works {noformat} MariaDB [test]> optimize table tm; | Table | Op | Msg_type | Msg_text | | test.tm | optimize | status | OK | 1 row in set (0.000 sec) {noformat} So there seems to be an issue with unsigned types (I tried short as well) and this DISTRIB sorted |
Fix Version/s | 10.7 [ 24805 ] |
Fix Version/s | 10.3 [ 22126 ] |
Fix Version/s | 10.8 [ 26121 ] |
Assignee | Anel Husakovic [ anel ] | Andrew Hutchings [ JIRAUSER52179 ] |
Fix Version/s | 10.4 [ 22408 ] |
Assignee | Andrew Hutchings [ JIRAUSER52179 ] |
Thanks for the report!
I repeated as described.
To repeat the bug it needs unsigned + DISTRIB=sorted + block_size.
With signed int and no update manipulations - I get "internal error 145 during operation " after optimize table.
MariaDB [test]> create table t8 ( a INT unsigned DISTRIB=sorted) engine=CONNECT table_type=BIN block_size=100 file_name='t8.dat';
Query OK, 0 rows affected (0.016 sec)
MariaDB [test]> insert into t8 select seq from seq_1_to_1000;
Query OK, 1000 rows affected, 1 warning (0.001 sec)
Records: 1000 Duplicates: 0 Warnings: 0
Warning (Code 1105): Non matching Value types
MariaDB [test]> optimize table t8;
+---------+----------+----------+-----------------------------------------------+
| Table | Op | Msg_type | Msg_text |
+---------+----------+----------+-----------------------------------------------+
| test.t8 | optimize | Error | Non matching Value types |
| test.t8 | optimize | error | Unknown - internal error 122 during operation |
+---------+----------+----------+-----------------------------------------------+
2 rows in set (0.001 sec)
MariaDB [test]> create table t9 ( a INT unsigned DISTRIB=sorted) engine=CONNECT table_type=BIN file_name='t9.dat';
Query OK, 0 rows affected (0.016 sec)
MariaDB [test]> insert into t9 select seq from seq_1_to_1000;
Query OK, 1000 rows affected (0.001 sec)
Records: 1000 Duplicates: 0 Warnings: 0
MariaDB [test]> optimize table t9;
+---------+----------+----------+--------------------------+
| Table | Op | Msg_type | Msg_text |
+---------+----------+----------+--------------------------+
| test.t9 | optimize | Warning | Not an optimizable table |
| test.t9 | optimize | status | OK |
+---------+----------+----------+--------------------------+
2 rows in set (0.000 sec)
MariaDB [test]> create table tm ( a int not null DISTRIB=sorted ) engine=CONNECT table_type=BIN block_size=128 file_name='a.dat';
Query OK, 0 rows affected (0.017 sec)
MariaDB [test]> insert into tm select seq from seq_1_to_1000;
Query OK, 1000 rows affected, 1 warning (0.002 sec)
Records: 1000 Duplicates: 0 Warnings: 0
Warning (Code 1105): Column a of table tm is not sorted
MariaDB [test]> optimize table tm;
+---------+----------+----------+-----------------------------------------------+
| Table | Op | Msg_type | Msg_text |
+---------+----------+----------+-----------------------------------------------+
| test.tm | optimize | Error | Column a of table tm is not sorted |
| test.tm | optimize | error | Unknown - internal error 145 during operation |
+---------+----------+----------+-----------------------------------------------+
2 rows in set (0.001 sec)
MariaDB [test]> create table tm2 ( a int not null DISTRIB=sorted ) engine=CONNECT table_type=BIN block_size=128 file_name='b.dat';
Query OK, 0 rows affected (0.022 sec)
MariaDB [test]> insert into tm2 select seq from seq_1_to_1000;
Query OK, 1000 rows affected (0.001 sec)
Records: 1000 Duplicates: 0 Warnings: 0
MariaDB [test]> update tm2 set a=a-1 limit 1;
Query OK, 1 row affected (0.001 sec)
Rows matched: 1 Changed: 1 Warnings: 0
MariaDB [test]> update tm2 set a=a+1 limit 1;
Query OK, 1 row affected (0.001 sec)
Rows matched: 1 Changed: 1 Warnings: 0
MariaDB [test]> optimize table tm2;
+----------+----------+----------+----------+
| Table | Op | Msg_type | Msg_text |
+----------+----------+----------+----------+
| test.tm2 | optimize | status | OK |
+----------+----------+----------+----------+
1 row in set (0.001 sec)