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

starting from 10.0.14 unmotivated "Row size too large (> 8126)..." on longtext

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Not a Bug
    • Affects Version/s: 10.0.14, 10.1.1
    • Fix Version/s: N/A
    • Labels:

      Description

      starting from 10.0.14 (current git affected, 10.0.13 - no) unmotivated "Row size too large (> 8126)..." on longtext on dump-reload existing db. Full message:
      "ERROR 1118 (42000) at line 55: Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED may help. In current row format, BLOB prefix of 768 bytes is stored inline."

      Attaching extracted part of dump, producing this. This is not longest string, even smaller was loades. Just bug.

        Gliffy Diagrams

          Attachments

            Activity

            Hide
            elenst Elena Stepanova added a comment - - edited

            If you read previous comments, specifically the commit comment for the upstream revision, you'll see that it was an intentionally introduced limitation. My guess is that's what the InnoDB team had to come up with in order to fix the recovery crash without making too intrusive changes in a post-GA version.
            The workaround should be to shutdown the server gracefully, increase the value of innodb_log_file_size to make it definitely greater than 10x(total blog length), and to start the server again.

            That said, it looks like in InnoDB 5.6.22 the limitation is a bit relaxed (although not completely removed like in 5.7). InnoDB 5.6.22 will most likely be in 10.0.16 – doubt it will make it to 10.0.15 since 5.6.22 has not been released yet..

            The upstream bug they were solving is http://bugs.mysql.com/bug.php?id=69477

            Show
            elenst Elena Stepanova added a comment - - edited If you read previous comments, specifically the commit comment for the upstream revision, you'll see that it was an intentionally introduced limitation. My guess is that's what the InnoDB team had to come up with in order to fix the recovery crash without making too intrusive changes in a post-GA version. The workaround should be to shutdown the server gracefully, increase the value of innodb_log_file_size to make it definitely greater than 10x(total blog length), and to start the server again. That said, it looks like in InnoDB 5.6.22 the limitation is a bit relaxed (although not completely removed like in 5.7). InnoDB 5.6.22 will most likely be in 10.0.16 – doubt it will make it to 10.0.15 since 5.6.22 has not been released yet.. The upstream bug they were solving is http://bugs.mysql.com/bug.php?id=69477
            Hide
            Meik Meik Suchlich added a comment -

            Is there a chance to get back to 10.0.13 (with debian/ubuntu repository?) or is the bug in there to?

            Show
            Meik Meik Suchlich added a comment - Is there a chance to get back to 10.0.13 (with debian/ubuntu repository?) or is the bug in there to?
            Hide
            elenst Elena Stepanova added a comment - - edited

            You can find 10.0.13 in the repo, e.g. ftp://ftp.osuosl.org/pub/mariadb/mariadb-10.0.13/repo/ (the repo that you are using is likely to have a similar path).
            But really, increasing the value of innodb_log_file_size is much simpler, and it's the right thing to do anyway if you have big blobs, otherwise your server is potentially affected by bug#69477 which might cause real damage.

            Show
            elenst Elena Stepanova added a comment - - edited You can find 10.0.13 in the repo, e.g. ftp://ftp.osuosl.org/pub/mariadb/mariadb-10.0.13/repo/ (the repo that you are using is likely to have a similar path). But really, increasing the value of innodb_log_file_size is much simpler, and it's the right thing to do anyway if you have big blobs, otherwise your server is potentially affected by bug#69477 which might cause real damage.
            Hide
            Meik Meik Suchlich added a comment -

            which log_file_size should we set?
            we have blobs which might be over 100MB...

            Show
            Meik Meik Suchlich added a comment - which log_file_size should we set? we have blobs which might be over 100MB...
            Hide
            elenst Elena Stepanova added a comment - - edited

            The max allowed value for innodb_log_file_size is 512GB / innodb_log_files_in_group , so you have enough room for the maneuver.
            Big redo files might make crash recover slower, but since your crash recovery is affected by the bug anyway, it shouldn't be a critical reason not to increase them.

            Show
            elenst Elena Stepanova added a comment - - edited The max allowed value for innodb_log_file_size is 512GB / innodb_log_files_in_group , so you have enough room for the maneuver. Big redo files might make crash recover slower, but since your crash recovery is affected by the bug anyway, it shouldn't be a critical reason not to increase them.

              People

              • Assignee:
                elenst Elena Stepanova
                Reporter:
                mahatma Denis Kaganovich
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: