[MCOL-26] 202 Wide Table Test fails Created: 2016-05-03  Updated: 2016-06-15  Resolved: 2016-05-23

Status: Closed
Project: MariaDB ColumnStore
Component/s: regression suite
Affects Version/s: None
Fix Version/s: 1.0.0

Type: Task Priority: Major
Reporter: Dipti Joshi (Inactive) Assignee: Dipti Joshi (Inactive)
Resolution: Fixed Votes: 0
Labels: None


 Description   

Failed Wide Table Tests:
Local failed - queries/misc/bug3281.sql
Compare failed - queries/misc/bug3406.sql
Compare failed - queries/misc/bug3515.sql
Compare failed - queries/misc/bug3522.sql



 Comments   
Comment by David Hill (Inactive) [ 2016-05-20 ]

failing due to a mysql outage

root@srvss2 srvswdev11]# cat test202.details
Failed Wide Table Tests:
Local failed - queries/misc/bug3281.sql

cat test202/queries/misc/bug3281.sql.log
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/usr/local/MariaDB/Columnstore/mysql/lib/mysql/mysql.sock' (2 "No such file or directory")

Comment by Dipti Joshi (Inactive) [ 2016-05-22 ]

With latest run the mysql outage is gone. - So it is back to previous failure report

hill Here is the analysis of test202 result from latest run

more test202.details
Failed Wide Table Tests:
Compare failed - queries/misc/bug3281.sql
Compare failed - queries/misc/bug3406.sql
Compare failed - queries/misc/bug3515.sql
Compare failed - queries/misc/bug3522.sql

hill There are couple of issues with this test suite
(1) There are no reference log files for these bug<xzy>.sql in test202/queries/misc. Only logs in test202/queries/misc are the ones generated by MariaDB ColumnStore
(2) I went to logs from old run from InfiniDB - and found ref.log there - and observed that the result generated by MariaDB ColumnStore for bug3406, bug3515 and bug3522 in fact are matching with ref.log from the old run. So only true failure is bug3281.sql - which shows this error in the result generated by MariaDB ColumnStore "ERROR 1118 (42000) at line 2: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs" - This seems to be some limit coming from MariaDB Server - not MariaDB ColumnStore - But if we manually run this on Monday I can help analyze and find the root cause

Comment by Dipti Joshi (Inactive) [ 2016-05-22 ]

Further analysis on bug3281

Here is the SQL and the error reported

select 
format(c1, 2) c1,
format(c2, 2) c2,
format(c3, 2) c3,
format(c4, 2) c4,
format(c5, 2) c5,
format(c6, 2) c6,
format(c7, 2) c7,
format(c8, 2) c8,
format(c1, 2) a,
format(c2, 2) b,
format(c3, 2) c,
format(c4, 2) d,
format(c5, 2) e,
format(c6, 2) f,
format(c7, 2) g,
format(c8, 2) h
into outfile '/tmp/tmp.tbl'
from wide;
 
ERROR 1118 (42000) at line 2: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs

ERROR 1118 - is InnoDB or MyISAM error - It looks like when Select format(c1,2),.... - is creating a temporary table that is either Aria or InnoDB or MyISAM, instead of vtable(MariaDB ColumnStore own temporary table area) and hence giving this error from there

As can be seen below if there is not format - but simply all the columns selected then the query goes through

select * from wide limit 1;
+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+
| idx  | c1   | c2   | c3   | c4   | c5   | c6   | c7   | c8   | c9   | c10  | c11  | c12  | c13  | c14  | c15  | c16  | c17  | c18  | c19  | c20  | c21  | c22  | c23  | c24  | c25  | c26  | c27  | c28  | c29  | c30  | c31  | c32  | c33  | c34  | c35  | c36  | c37  | c38  | c39  | c40  | c41  | c42  | c43  | c44  | c45  | c46  | c47  | c48  | c49  | c50  |
+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+
|    1 | 1    | 1    | 1    | 1    | 1    | 1    | 1    | 1    | 1    | 1    | 1    | 1    | 1    | 1    | 1    | 1    | 1    | 1    | 1    | 1    | 1    | 1    | 1    | 1    | 1    | 1    | 1    | 1    | 1    | 1    | 1    | 1    | 1    | 1    | 1    | 1    | 1    | 1    | 1    | 1    | 1    | 1    | 1    | 1    | 1    | 1    | 1    | 1    | 1    | 1    |
+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+
1 row in set (0.69 sec)

Also if there is formatting but number of columns reduced then also query goes through

select format(c1, 2) c1, format(c2, 2) c2, format(c3, 2) c3, format(c4, 2) c4, format(c5, 2) c5 from wide limit 1;
+------+------+------+------+------+               
| c1   | c2   | c3   | c4   | c5   |
+------+------+------+------+------+
| 1.00 | 1.00 | 1.00 | 1.00 | 1.00 |
+------+------+------+------+------+
1 row in set, 1 warning (1.33 sec)

This implies that when the query result set are passed to MariaDB front end from MariaDB ColumnStore engine, there seems to be intermediate temporary table in InnoDB/Aria/MyISAM - which cannot handle the wide table and gives the error
David.Hall Please see the above analysis, let us know if "select format(c1,..) format(c2....)...." is causing intermediate temporary table on MariaDB Server frontend side to be created leading to this error.

If this is true - this particular error is of lower priority right now - as it is on the display of the formatted result, rather then returning of the result and MariaDB ColumnStore's ability to store wide tables.

Comment by David Hill (Inactive) [ 2016-05-22 ]

here is the local and the mariadb ref run of bug3281.sql:

So as you say, there is some issue on the local Columnstore run that is reporting its error:

[root@srvregtest misc]# mcsmysql tpch1
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 4
Server version: 10.1.10-MariaDB Columnstore 1.0-0

Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [tpch1]> source bug3281.sql;
ERROR 1118 (42000) at line 2 in file: 'bug3281.sql': Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
wc: /tmp/tmp.tbl: No such file or directory
MariaDB [tpch1]> exit
Bye
[root@srvregtest misc]# ../../../../../referenceTester.sh
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 1439
Server version: 10.1.12-MariaDB-1~trusty mariadb.org binary distribution

Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [tpch1]> source bug3281.sql;
Query OK, 100000 rows affected (0.68 sec)

wc: /tmp/tmp.tbl: No such file or directory
MariaDB [tpch1]>

Comment by David Hill (Inactive) [ 2016-05-22 ]

I assume since its failing with an error on the local run, it's NOT even calling the reference to compare.
So that is why there is no reference logs.

Comment by Dipti Joshi (Inactive) [ 2016-05-22 ]

hill I have analyzed the failure on bug3281, as commented in previous comment and know the root cause for it. Can you move bug3281.sql out of /genii/mysql/queries/nightly/alltest/test202/queries/misc directory ? - That will allow bug3406.sql, bug3515.sql, bug3522.sql to proceed successfully. Then we will separately track bug3281.

Comment by David Hill (Inactive) [ 2016-05-23 ]

test202 still failing, shown by the script below, it does call to do a reference results. So I need to create the ref logs from local logs..

Comment by Dipti Joshi (Inactive) [ 2016-05-23 ]

bug3281 now being tracked separately as MCOL-73

Comment by Dipti Joshi (Inactive) [ 2016-05-23 ]

Rest of the test202 is now passing

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