News:

We really need your input in this questionnaire

Main Menu

Upgrade to 36.4

Started by peterjn, December 14, 2020, 11:59:48 AM

Previous topic - Next topic

peterjn

While upgrading the database to 36.4 i get the following error:

Upgrading from version 36.3 to 36.4
SQL query failed (Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs):
ALTER TABLE nodes ADD agent_cert_mapping_method char(1)
Rolling back last stage due to upgrade errors...
Database upgrade failed

I am running Debian 10 and MariaDB (10.3.27)

Filipp Sudanov

Recent changes in NetXMS added fields to nodes table. Looks like we are now hitting page size limitation: https://mariadb.com/kb/en/innodb-row-formats-overview/#maximum-row-size
Increasing innodb_page_size might help.

peterjn

#2
- According to de mariaDB documentation innodb_page_size can only be changed for a new databases (https://mariadb.com/kb/en/how-to-change-innodb_page_size/)

- increasing innodb_page_size is bad for tables with small record size and a lot of inserts like the tables that store the values.


PS: I think it is wise to remove 36.4 from the distributions. I just did a apt-get update && apt-get upgrade and now the netxms server is broken.

Filipp Sudanov

What is the value of innodb_page_size on your system?

peterjn

My MariaDB standard debian. No parameters are changed.

In the standaard debian conf innodb_page_size is not set.

Filipp Sudanov

What's the output of
show status where variable_name = "innodb_page_size";

I've just tried to install NetXMS 3.5 from packages on Debian 10 and upgrade to 3.6 went successfully. Could it be that your NetXMS database was created some time ago and on older MariaDB?

peterjn

MariaDB [(none)]> show status where variable_name = "innodb_page_size";
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| Innodb_page_size | 16384 |
+------------------+-------+


The database was old. I upgraded to debian 10.

I just did a dump, drop, create and restored of the database and known nxdbmgr upgrade is working and netxmsd is running again.