Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-22147

main.mysqldump fails with wrong result (truncated output)

Details

    Description

      10.2 05e4a87c

      main.mysqldump 'innodb'                  [ fail ]
      ...
      @@ -3756,7 +3756,7 @@
       #
       CREATE TABLE t1(a int);
       INSERT INTO t1 VALUES (1), (2);
      -mysqldump: Input filename too long: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
      +mysqldump: Input filename too long: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...
       DROP TABLE t1;
       CREATE TABLE t2 (a INT) ENGINE=MyISAM;
       CREATE TABLE t3 (a INT) ENGINE=MyISAM;
       
      mysqltest: Result content mismatch
      

      The failure started happening in 10.2 branch after this commit:

      commit cb4da5da74b7a6f2e7c4f4ed1b0e5affe45fe2a2
      Author: Oleksandr Byelkin
      Date:   Mon Mar 16 16:53:10 2020 +0100
       
          MDEV-20604: Duplicate key value is silently truncated to 64 characters in print_keydup_error
          
          Added indication of truncated string for "s" and "M" formats
      

      Judging by the commit contents, probably the test result just needs to be updated.

      Attachments

        Issue Links

          Activity

            I think that the truncation that MDEV-20604 introduced should be reviewed and avoided in some cases. Here are a few more examples:

            git diff fbe2712705d464bf8488df249c36115e2c1f63f7{~,} -- mysql-test plugin/type_inet/mysql-test/type_inet
            

            diff --git a/mysql-test/main/frm-debug.result b/mysql-test/main/frm-debug.result
            index 332d7e00a8f..caf344e241d 100644
            --- a/mysql-test/main/frm-debug.result
            +++ b/mysql-test/main/frm-debug.result
            @@ -13,8 +13,8 @@ CREATE TABLE t1 (c01 INT, c02 CHAR(20), c03 TEXT, c04 DOUBLE);
             Warnings:
             Note	1105	build_frm_image: Field data type info length: 14
             Note	1105	DBUG: [0] name='c01' type_info=''
            -Note	1105	DBUG: [1] name='c02' type_info='xchar'
            -Note	1105	DBUG: [2] name='c03' type_info='xblob'
            +Note	1105	DBUG: [1] name='c02' type_info='xc...'
            +Note	1105	DBUG: [2] name='c03' type_info='xb...'
             Note	1105	DBUG: [3] name='c04' type_info=''
             SET SESSION debug_dbug="-d,frm_data_type_info_emulate";
             SET SESSION debug_dbug="-d,frm_data_type_info";
             
            diff --git a/mysql-test/main/create_utf8.result b/mysql-test/main/create_utf8.result
            index e1ccf7a08d7..bb48a0c8ef5 100644
            --- a/mysql-test/main/create_utf8.result
            +++ b/mysql-test/main/create_utf8.result
            @@ -57,9 +57,9 @@ drop trigger имя_триггера_в_кодировке_утф8_длиной_
             create trigger
             очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66
             before insert on имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48 for each row set @a:=1;
            -ERROR 42000: Identifier name 'очень_очень_очень_очень_очень_очень_очень_очень_длинна' is too long
            +ERROR 42000: Identifier name 'очень_очень_очень_очень_очень_очень_очень_очень_длин...' is too long
             drop trigger очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66;
            -ERROR 42000: Identifier name 'очень_очень_очень_очень_очень_очень_очень_очень_длинна' is too long
            +ERROR 42000: Identifier name 'очень_очень_очень_очень_очень_очень_очень_очень_длин...' is too long
             create procedure имя_процедуры_в_кодировке_утф8_длиной_больше_чем_50()
             begin
             end;
            @@ -71,7 +71,7 @@ drop procedure имя_процедуры_в_кодировке_утф8_длин
             create procedure очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66()
             begin
             end;
            -ERROR 42000: Identifier name 'очень_очень_очень_очень_очень_очень_очень_очень_длинна' is too long
            +ERROR 42000: Identifier name 'очень_очень_очень_очень_очень_очень_очень_очень_длин...' is too long
             create function имя_функции_в_кодировке_утф8_длиной_больше_чем_49()
             returns int
             return 0;
            @@ -83,7 +83,7 @@ drop function имя_функции_в_кодировке_утф8_длиной_
             create function очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66()
             returns int
             return 0;
            -ERROR 42000: Identifier name 'очень_очень_очень_очень_очень_очень_очень_очень_длинна' is too long
            +ERROR 42000: Identifier name 'очень_очень_очень_очень_очень_очень_очень_очень_длин...' is too long
             drop view имя_вью_кодировке_утф8_длиной_больше_чем_42;
             drop table имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48;
             set names default;
            diff --git a/plugin/type_inet/mysql-test/type_inet/type_inet6-debug.result b/plugin/type_inet/mysql-test/type_inet/type_inet6-debug.result
            index 0e879aad58f..e21fb47fea8 100644
            --- a/plugin/type_inet/mysql-test/type_inet/type_inet6-debug.result
            +++ b/plugin/type_inet/mysql-test/type_inet/type_inet6-debug.result
            @@ -6,8 +6,8 @@ SET debug_dbug="+d,frm_data_type_info";
             CREATE TABLE t1 (c01 INET6, c02 INET6);
             Warnings:
             Note	1105	build_frm_image: Field data type info length: 14
            -Note	1105	DBUG: [0] name='c01' type_info='inet6'
            -Note	1105	DBUG: [1] name='c02' type_info='inet6'
            +Note	1105	DBUG: [0] name='c01' type_info='in...'
            +Note	1105	DBUG: [1] name='c02' type_info='in...'
             SET debug_dbug=@old_debug_dbug;
             SHOW CREATE TABLE t1;
             Table	Create Table
            

            Especially the last one feels like a serious regression: you can no longer distinguish inet6 and inet4.

            marko Marko Mäkelä added a comment - I think that the truncation that MDEV-20604 introduced should be reviewed and avoided in some cases. Here are a few more examples: git diff fbe2712705d464bf8488df249c36115e2c1f63f7{~,} -- mysql- test plugin /type_inet/mysql-test/type_inet diff --git a/mysql-test/main/frm-debug.result b/mysql-test/main/frm-debug.result index 332d7e00a8f..caf344e241d 100644 --- a/mysql-test/main/frm-debug.result +++ b/mysql-test/main/frm-debug.result @@ -13,8 +13,8 @@ CREATE TABLE t1 (c01 INT, c02 CHAR(20), c03 TEXT, c04 DOUBLE); Warnings: Note 1105 build_frm_image: Field data type info length: 14 Note 1105 DBUG: [0] name='c01' type_info='' -Note 1105 DBUG: [1] name='c02' type_info='xchar' -Note 1105 DBUG: [2] name='c03' type_info='xblob' +Note 1105 DBUG: [1] name='c02' type_info='xc...' +Note 1105 DBUG: [2] name='c03' type_info='xb...' Note 1105 DBUG: [3] name='c04' type_info='' SET SESSION debug_dbug="-d,frm_data_type_info_emulate"; SET SESSION debug_dbug="-d,frm_data_type_info";   diff --git a/mysql-test/main/create_utf8.result b/mysql-test/main/create_utf8.result index e1ccf7a08d7..bb48a0c8ef5 100644 --- a/mysql-test/main/create_utf8.result +++ b/mysql-test/main/create_utf8.result @@ -57,9 +57,9 @@ drop trigger имя_триггера_в_кодировке_утф8_длиной_ create trigger очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66 before insert on имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48 for each row set @a:=1; -ERROR 42000: Identifier name 'очень_очень_очень_очень_очень_очень_очень_очень_длинна' is too long +ERROR 42000: Identifier name 'очень_очень_очень_очень_очень_очень_очень_очень_длин...' is too long drop trigger очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66; -ERROR 42000: Identifier name 'очень_очень_очень_очень_очень_очень_очень_очень_длинна' is too long +ERROR 42000: Identifier name 'очень_очень_очень_очень_очень_очень_очень_очень_длин...' is too long create procedure имя_процедуры_в_кодировке_утф8_длиной_больше_чем_50() begin end; @@ -71,7 +71,7 @@ drop procedure имя_процедуры_в_кодировке_утф8_длин create procedure очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66() begin end; -ERROR 42000: Identifier name 'очень_очень_очень_очень_очень_очень_очень_очень_длинна' is too long +ERROR 42000: Identifier name 'очень_очень_очень_очень_очень_очень_очень_очень_длин...' is too long create function имя_функции_в_кодировке_утф8_длиной_больше_чем_49() returns int return 0; @@ -83,7 +83,7 @@ drop function имя_функции_в_кодировке_утф8_длиной_ create function очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66() returns int return 0; -ERROR 42000: Identifier name 'очень_очень_очень_очень_очень_очень_очень_очень_длинна' is too long +ERROR 42000: Identifier name 'очень_очень_очень_очень_очень_очень_очень_очень_длин...' is too long drop view имя_вью_кодировке_утф8_длиной_больше_чем_42; drop table имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48; set names default; diff --git a/plugin/type_inet/mysql-test/type_inet/type_inet6-debug.result b/plugin/type_inet/mysql-test/type_inet/type_inet6-debug.result index 0e879aad58f..e21fb47fea8 100644 --- a/plugin/type_inet/mysql-test/type_inet/type_inet6-debug.result +++ b/plugin/type_inet/mysql-test/type_inet/type_inet6-debug.result @@ -6,8 +6,8 @@ SET debug_dbug="+d,frm_data_type_info"; CREATE TABLE t1 (c01 INET6, c02 INET6); Warnings: Note 1105 build_frm_image: Field data type info length: 14 -Note 1105 DBUG: [0] name='c01' type_info='inet6' -Note 1105 DBUG: [1] name='c02' type_info='inet6' +Note 1105 DBUG: [0] name='c01' type_info='in...' +Note 1105 DBUG: [1] name='c02' type_info='in...' SET debug_dbug=@old_debug_dbug; SHOW CREATE TABLE t1; Table Create Table Especially the last one feels like a serious regression: you can no longer distinguish inet6 and inet4 .
            serg Sergei Golubchik added a comment - - edited

            type_info output is fixed in MDEV-22545

            serg Sergei Golubchik added a comment - - edited type_info output is fixed in MDEV-22545

            MDEV-22545 also fixed the original test output (but broke main.mysqltest again). The reason is that neither sanja nor our Buildbot ran the test with --big-test.

            I re-fixed main.mysqltest.

            marko Marko Mäkelä added a comment - MDEV-22545 also fixed the original test output (but broke main.mysqltest again). The reason is that neither sanja nor our Buildbot ran the test with --big-test . I re-fixed main.mysqltest .

            People

              marko Marko Mäkelä
              elenst Elena Stepanova
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.