← Back to team overview

maria-discuss team mailing list archive

Re: 10.1.x: Got packet bigger than 'max_allowed_packet' bytes

 



Am 16.02.2017 um 14:46 schrieb Erik Mathis:
Did you update the MariaDB client bins on the php7 box? I ask because
I've always wonder how true the "binary compatible" statement was. I
know I have some servers that have the older 10.0 client bins installed
talking to a 10.1 server.

besides that PHP is using 'mysqlnd' and so libmysql is not part of the game it MariaDB *is* binary compatible because "symbol versioning" and you don't even need to recompile dbmail, postfix, dovecot and other using libmysql - even if - since i roll my own rpm packages there is no way to have any older binary pieces

however, it smells like https://bugs.php.net/bug.php?id=74021 not only affects fetch_array() but also fetch_assoc() and fetch_row() and is sadly not fixed with 7.1.2 / 7.0.16 released today and already deployed

On 02/16/2017 04:41 AM, Reindl Harald wrote:


Am 16.02.2017 um 10:04 schrieb Peter Laursen:
The particular error message "Got packet bigger than
'max_allowed_packet' bytes" is returned from the client and not the
server.

Both the server and the client has a "max_allowed_packet" setting. The
client-one is listed
here https://dev.mysql.com/doc/refman/5.7/en/mysql-command-options.html

well, that don't change the fact that i no longer can fetch a base64
encoded binary file uploaded on 2016-10-06 which was already on PHP
7.0, has a count of 32 downloads (not much i know) and the only recent
change is MariaDB 10.0.x to 10.1.x

[16-Feb-2017 10:33:15 Europe/Vienna] PHP Warning: mysqli_fetch_assoc()
[<a
href='http://at.php.net/manual/de/function.mysqli-fetch-assoc.php'>function.mysqli-fetch-assoc.php</a>]:
Malformed server packet. Field length pointing 22 bytes after end of
packet in /phpincludes/global_mysql_class.inc.php on line 639
[16-Feb-2017 10:33:15 Europe/Vienna] PHP Warning: mysqli_fetch_assoc()
[<a
href='http://at.php.net/manual/de/function.mysqli-fetch-assoc.php'>function.mysqli-fetch-assoc.php</a>]:
Error while reading a row in /phpincludes/global_mysql_class.inc.php
on line 639


On Thu, Feb 16, 2017 at 8:57 AM, Reindl Harald <h.reindl@xxxxxxxxxxxxx
<mailto:h.reindl@xxxxxxxxxxxxx>> wrote:

    /etc/my.cnf (for many years now)
    max_allowed_packet = 200M

    how can it be that when the whole table file is 54MB large with a
    setting of 200MB that something is larger then 200MB while obviously
    it was not too large at insert time at 2016-10-06 but with MariaDB
    10.0.x instead 10.1.x?

    PHP says mysqli_fetch_assoc() [<a
href='http://at.php.net/manual/de/function.mysqli-fetch-assoc.php
<http://at.php.net/manual/de/function.mysqli-fetch-assoc.php>'>function.mysqli-fetch-assoc.php</a>]:

    Malformed server packet. Field length pointing 22 bytes after end of
    packet

    MariaDB [afi]> select * from cms1_docmgmt_entrys where doc_id=19;
    ERROR 2020 (HY000): Got packet bigger than 'max_allowed_packet'
bytes

    MariaDB [afi]> show variables like 'max_allowed_packet';
    +--------------------+-----------+
    | Variable_name      | Value     |
    +--------------------+-----------+
    | max_allowed_packet | 209715200 |
    +--------------------+-----------+
    1 row in set (0,00 sec)

    MariaDB [afi]> select doc_file_download_size from
    cms1_docmgmt_entrys where doc_id=19;
    +------------------------+
    | doc_file_download_size |
    +------------------------+
    |               15838399 |
    +------------------------+
    1 row in set (0,00 sec)

    -rw-rw---- 1 mysql mysql  9,3K 2017-02-04 15:39
cms1_docmgmt_entrys.frm
    -rw-rw---- 1 mysql mysql   54M 2017-02-10 04:05
cms1_docmgmt_entrys.MYD
    -rw-rw---- 1 mysql mysql  234K 2017-02-10 04:05
cms1_docmgmt_entrys.MYI


References