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

main.explain_json_format_partitions fails on Debian armel and armhf builders with mismatches

Details

    Description

      On the first ever upload of MariaDB 10.11 to Debian, I noticed that various tests that compare the JSON output from the optimizer fails with mismatches on armel and armhf builds (amd64 and arm64 pass):

      Failing test(s): main.rowid_filter_innodb main.analyze_stmt_orderby main.explain_json_format_partitions main.cte_recursive main.derived_cond_pushdown main.order_by main.rowid_filter main.intersect main.except main.except_all

      main.except_all                          w5 [ fail ]
              Test ended at 2023-01-12 20:20:18
       
      CURRENT_TEST: main.except_all
      --- /<<PKGBUILDDIR>>/mysql-test/main/except_all.result	2022-11-14 18:10:21.000000000 +0000
      +++ /<<PKGBUILDDIR>>/mysql-test/main/except_all.reject	2023-01-12 20:20:18.132443098 +0000
      @@ -115,13 +115,9 @@
       ANALYZE format=json select * from ((select a,b from t1) except all (select c,d from t2)) a;
       ANALYZE
       {
      -  "query_optimization": {
      -    "r_total_time_ms": "REPLACED"
      -  },
         "query_block": {
           "select_id": 1,
           "r_loops": 1,
      -    "r_total_time_ms": "REPLACED",
           "nested_loop": [
             {
               "table": {
      @@ -146,7 +142,6 @@
                           "query_block": {
                             "select_id": 2,
                             "r_loops": 1,
      -                      "r_total_time_ms": "REPLACED",
                             "nested_loop": [
                               {
                                 "table": {
      @@ -169,7 +164,6 @@
                             "select_id": 3,
                             "operation": "EXCEPT",
                             "r_loops": 1,
      -                      "r_total_time_ms": "REPLACED",
                             "nested_loop": [
                               {
                                 "table": {
      @@ -199,13 +193,9 @@
       ANALYZE format=json select * from ((select a from t1) except all (select c from t2)) a;
       ANALYZE
       {
      -  "query_optimization": {
      -    "r_total_time_ms": "REPLACED"
      -  },
         "query_block": {
           "select_id": 1,
           "r_loops": 1,
      -    "r_total_time_ms": "REPLACED",
           "nested_loop": [
             {
               "table": {
      @@ -230,7 +220,6 @@
                           "query_block": {
                             "select_id": 2,
                             "r_loops": 1,
      -                      "r_total_time_ms": "REPLACED",
                             "nested_loop": [
                               {
                                 "table": {
      @@ -253,7 +242,6 @@
                             "select_id": 3,
                             "operation": "EXCEPT",
                             "r_loops": 1,
      -                      "r_total_time_ms": "REPLACED",
                             "nested_loop": [
                               {
                                 "table": {
      @@ -469,9 +457,6 @@
       ANALYZE format=json (select a,b,e,f from t1,t3) except all (select c,d,g,h from t2,t4);
       ANALYZE
       {
      -  "query_optimization": {
      -    "r_total_time_ms": "REPLACED"
      -  },
         "query_block": {
           "union_result": {
             "table_name": "<except1,2>",
      @@ -483,7 +468,6 @@
                 "query_block": {
                   "select_id": 1,
                   "r_loops": 1,
      -            "r_total_time_ms": "REPLACED",
                   "nested_loop": [
                     {
                       "table": {
      @@ -525,7 +509,6 @@
                   "select_id": 2,
                   "operation": "EXCEPT",
                   "r_loops": 1,
      -            "r_total_time_ms": "REPLACED",
                   "nested_loop": [
                     {
                       "table": {
      @@ -569,13 +552,9 @@
       ANALYZE format=json select * from ((select a,b,e,f from t1,t3) except all (select c,d,g,h from t2,t4)) t;
       ANALYZE
       {
      -  "query_optimization": {
      -    "r_total_time_ms": "REPLACED"
      -  },
         "query_block": {
           "select_id": 1,
           "r_loops": 1,
      -    "r_total_time_ms": "REPLACED",
           "nested_loop": [
             {
               "table": {
      @@ -600,7 +579,6 @@
                           "query_block": {
                             "select_id": 2,
                             "r_loops": 1,
      -                      "r_total_time_ms": "REPLACED",
                             "nested_loop": [
                               {
                                 "table": {
      @@ -642,7 +620,6 @@
                             "select_id": 3,
                             "operation": "EXCEPT",
                             "r_loops": 1,
      -                      "r_total_time_ms": "REPLACED",
                             "nested_loop": [
                               {
                                 "table": {
       
      mysqltest: Result length mismatch
      

      Logs:

      This is somewhat similar to MDEV-11711 that had mismatches in JSON output on armhf only.

      This is also similar to MDEV-8981 and MDEV-11866 where the issue was specifically the row

      "r_total_time_ms": "REPLACED",
      

      Jira MDEV-20538 is the newest in this category and only one I found still open (assigned to psergei).

      Attachments

        Issue Links

          Activity

            otto Otto Kekäläinen created issue -
            otto Otto Kekäläinen made changes -
            Field Original Value New Value
            Attachment screenshot-1.png [ 67787 ]
            otto Otto Kekäläinen made changes -
            Description On the first ever upload of MariaDB 10.11 to Debian, I noticed that various tests that compare the JSON output from the optimizer fails with mismatches on armel and armhf builds (amd64 and arm64 pass):

            Failing test(s): main.rowid_filter_innodb main.analyze_stmt_orderby main.explain_json_format_partitions main.cte_recursive main.derived_cond_pushdown main.order_by main.rowid_filter main.intersect main.except main.except_all

            {noformat}
            main.except_all w5 [ fail ]
                    Test ended at 2023-01-12 20:20:18

            CURRENT_TEST: main.except_all
            --- /<<PKGBUILDDIR>>/mysql-test/main/except_all.result 2022-11-14 18:10:21.000000000 +0000
            +++ /<<PKGBUILDDIR>>/mysql-test/main/except_all.reject 2023-01-12 20:20:18.132443098 +0000
            @@ -115,13 +115,9 @@
             ANALYZE format=json select * from ((select a,b from t1) except all (select c,d from t2)) a;
             ANALYZE
             {
            - "query_optimization": {
            - "r_total_time_ms": "REPLACED"
            - },
               "query_block": {
                 "select_id": 1,
                 "r_loops": 1,
            - "r_total_time_ms": "REPLACED",
                 "nested_loop": [
                   {
                     "table": {
            @@ -146,7 +142,6 @@
                                 "query_block": {
                                   "select_id": 2,
                                   "r_loops": 1,
            - "r_total_time_ms": "REPLACED",
                                   "nested_loop": [
                                     {
                                       "table": {
            @@ -169,7 +164,6 @@
                                   "select_id": 3,
                                   "operation": "EXCEPT",
                                   "r_loops": 1,
            - "r_total_time_ms": "REPLACED",
                                   "nested_loop": [
                                     {
                                       "table": {
            @@ -199,13 +193,9 @@
             ANALYZE format=json select * from ((select a from t1) except all (select c from t2)) a;
             ANALYZE
             {
            - "query_optimization": {
            - "r_total_time_ms": "REPLACED"
            - },
               "query_block": {
                 "select_id": 1,
                 "r_loops": 1,
            - "r_total_time_ms": "REPLACED",
                 "nested_loop": [
                   {
                     "table": {
            @@ -230,7 +220,6 @@
                                 "query_block": {
                                   "select_id": 2,
                                   "r_loops": 1,
            - "r_total_time_ms": "REPLACED",
                                   "nested_loop": [
                                     {
                                       "table": {
            @@ -253,7 +242,6 @@
                                   "select_id": 3,
                                   "operation": "EXCEPT",
                                   "r_loops": 1,
            - "r_total_time_ms": "REPLACED",
                                   "nested_loop": [
                                     {
                                       "table": {
            @@ -469,9 +457,6 @@
             ANALYZE format=json (select a,b,e,f from t1,t3) except all (select c,d,g,h from t2,t4);
             ANALYZE
             {
            - "query_optimization": {
            - "r_total_time_ms": "REPLACED"
            - },
               "query_block": {
                 "union_result": {
                   "table_name": "<except1,2>",
            @@ -483,7 +468,6 @@
                       "query_block": {
                         "select_id": 1,
                         "r_loops": 1,
            - "r_total_time_ms": "REPLACED",
                         "nested_loop": [
                           {
                             "table": {
            @@ -525,7 +509,6 @@
                         "select_id": 2,
                         "operation": "EXCEPT",
                         "r_loops": 1,
            - "r_total_time_ms": "REPLACED",
                         "nested_loop": [
                           {
                             "table": {
            @@ -569,13 +552,9 @@
             ANALYZE format=json select * from ((select a,b,e,f from t1,t3) except all (select c,d,g,h from t2,t4)) t;
             ANALYZE
             {
            - "query_optimization": {
            - "r_total_time_ms": "REPLACED"
            - },
               "query_block": {
                 "select_id": 1,
                 "r_loops": 1,
            - "r_total_time_ms": "REPLACED",
                 "nested_loop": [
                   {
                     "table": {
            @@ -600,7 +579,6 @@
                                 "query_block": {
                                   "select_id": 2,
                                   "r_loops": 1,
            - "r_total_time_ms": "REPLACED",
                                   "nested_loop": [
                                     {
                                       "table": {
            @@ -642,7 +620,6 @@
                                   "select_id": 3,
                                   "operation": "EXCEPT",
                                   "r_loops": 1,
            - "r_total_time_ms": "REPLACED",
                                   "nested_loop": [
                                     {
                                       "table": {

            mysqltest: Result length mismatch
            {noformat}
            On the first ever upload of MariaDB 10.11 to Debian, I noticed that various tests that compare the JSON output from the optimizer fails with mismatches on armel and armhf builds (amd64 and arm64 pass):

             !screenshot-1.png|thumbnail!

            Failing test(s): main.rowid_filter_innodb main.analyze_stmt_orderby main.explain_json_format_partitions main.cte_recursive main.derived_cond_pushdown main.order_by main.rowid_filter main.intersect main.except main.except_all

            {noformat}
            main.except_all w5 [ fail ]
                    Test ended at 2023-01-12 20:20:18

            CURRENT_TEST: main.except_all
            --- /<<PKGBUILDDIR>>/mysql-test/main/except_all.result 2022-11-14 18:10:21.000000000 +0000
            +++ /<<PKGBUILDDIR>>/mysql-test/main/except_all.reject 2023-01-12 20:20:18.132443098 +0000
            @@ -115,13 +115,9 @@
             ANALYZE format=json select * from ((select a,b from t1) except all (select c,d from t2)) a;
             ANALYZE
             {
            - "query_optimization": {
            - "r_total_time_ms": "REPLACED"
            - },
               "query_block": {
                 "select_id": 1,
                 "r_loops": 1,
            - "r_total_time_ms": "REPLACED",
                 "nested_loop": [
                   {
                     "table": {
            @@ -146,7 +142,6 @@
                                 "query_block": {
                                   "select_id": 2,
                                   "r_loops": 1,
            - "r_total_time_ms": "REPLACED",
                                   "nested_loop": [
                                     {
                                       "table": {
            @@ -169,7 +164,6 @@
                                   "select_id": 3,
                                   "operation": "EXCEPT",
                                   "r_loops": 1,
            - "r_total_time_ms": "REPLACED",
                                   "nested_loop": [
                                     {
                                       "table": {
            @@ -199,13 +193,9 @@
             ANALYZE format=json select * from ((select a from t1) except all (select c from t2)) a;
             ANALYZE
             {
            - "query_optimization": {
            - "r_total_time_ms": "REPLACED"
            - },
               "query_block": {
                 "select_id": 1,
                 "r_loops": 1,
            - "r_total_time_ms": "REPLACED",
                 "nested_loop": [
                   {
                     "table": {
            @@ -230,7 +220,6 @@
                                 "query_block": {
                                   "select_id": 2,
                                   "r_loops": 1,
            - "r_total_time_ms": "REPLACED",
                                   "nested_loop": [
                                     {
                                       "table": {
            @@ -253,7 +242,6 @@
                                   "select_id": 3,
                                   "operation": "EXCEPT",
                                   "r_loops": 1,
            - "r_total_time_ms": "REPLACED",
                                   "nested_loop": [
                                     {
                                       "table": {
            @@ -469,9 +457,6 @@
             ANALYZE format=json (select a,b,e,f from t1,t3) except all (select c,d,g,h from t2,t4);
             ANALYZE
             {
            - "query_optimization": {
            - "r_total_time_ms": "REPLACED"
            - },
               "query_block": {
                 "union_result": {
                   "table_name": "<except1,2>",
            @@ -483,7 +468,6 @@
                       "query_block": {
                         "select_id": 1,
                         "r_loops": 1,
            - "r_total_time_ms": "REPLACED",
                         "nested_loop": [
                           {
                             "table": {
            @@ -525,7 +509,6 @@
                         "select_id": 2,
                         "operation": "EXCEPT",
                         "r_loops": 1,
            - "r_total_time_ms": "REPLACED",
                         "nested_loop": [
                           {
                             "table": {
            @@ -569,13 +552,9 @@
             ANALYZE format=json select * from ((select a,b,e,f from t1,t3) except all (select c,d,g,h from t2,t4)) t;
             ANALYZE
             {
            - "query_optimization": {
            - "r_total_time_ms": "REPLACED"
            - },
               "query_block": {
                 "select_id": 1,
                 "r_loops": 1,
            - "r_total_time_ms": "REPLACED",
                 "nested_loop": [
                   {
                     "table": {
            @@ -600,7 +579,6 @@
                                 "query_block": {
                                   "select_id": 2,
                                   "r_loops": 1,
            - "r_total_time_ms": "REPLACED",
                                   "nested_loop": [
                                     {
                                       "table": {
            @@ -642,7 +620,6 @@
                                   "select_id": 3,
                                   "operation": "EXCEPT",
                                   "r_loops": 1,
            - "r_total_time_ms": "REPLACED",
                                   "nested_loop": [
                                     {
                                       "table": {

            mysqltest: Result length mismatch
            {noformat}

            Logs:
            * https://buildd.debian.org/status/fetch.php?pkg=mariadb&arch=armel&ver=1%3A10.11.1-1%7Eexp1&stamp=1673554836&raw=0
            * https://buildd.debian.org/status/fetch.php?pkg=mariadb&arch=armhf&ver=1%3A10.11.1-1%7Eexp1&stamp=1673555764&raw=0

            This is somewhat similar to MDEV-11711 that had mismatches in JSON output on armhf only.

            This is also similar to MDEV-8981 and MDEV-11866 where the issue was specifically the row

            {noformat}
            "r_total_time_ms": "REPLACED",
            {noformat}

            Jira MDEV-20538 is the newest in this category and only one I found still open (assigned to [~psergei]).

            AdrianBunk Adrian Bunk made changes -
            Attachment my_timer_cycles-default.patch [ 67891 ]
            danblack Daniel Black made changes -
            Fix Version/s 10.11 [ 27614 ]
            danblack Daniel Black made changes -
            danblack Daniel Black made changes -
            Assignee Daniel Black [ danblack ]
            danblack Daniel Black made changes -
            Status Open [ 1 ] Confirmed [ 10101 ]
            danblack Daniel Black made changes -
            Assignee Daniel Black [ danblack ] Luis Eduardo Oliveira Lizardo [ JIRAUSER51996 ]
            Status Confirmed [ 10101 ] In Review [ 10002 ]
            danblack Daniel Black made changes -
            Priority Major [ 3 ] Critical [ 2 ]
            danblack Daniel Black made changes -
            Assignee Luis Eduardo Oliveira Lizardo [ JIRAUSER51996 ] Michael Widenius [ monty ]
            danblack Daniel Black made changes -
            Assignee Michael Widenius [ monty ] Sergei Petrunia [ psergey ]
            psergei Sergei Petrunia made changes -
            Assignee Sergei Petrunia [ psergey ] Daniel Black [ danblack ]
            Status In Review [ 10002 ] Stalled [ 10000 ]
            danblack Daniel Black made changes -
            issue.field.resolutiondate 2023-04-27 04:43:14.0 2023-04-27 04:43:14.245
            danblack Daniel Black made changes -
            Component/s Optimizer [ 10200 ]
            Fix Version/s 10.11.3 [ 28524 ]
            Fix Version/s 11.1.1 [ 28704 ]
            Fix Version/s 11.0.2 [ 28706 ]
            Fix Version/s 10.11 [ 27614 ]
            Resolution Fixed [ 1 ]
            Status Stalled [ 10000 ] Closed [ 6 ]
            otto Otto Kekäläinen made changes -
            otto Otto Kekäläinen made changes -

            People

              danblack Daniel Black
              otto Otto Kekäläinen
              Votes:
              0 Vote for this issue
              Watchers:
              6 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.