Database upgrade after NetXMS upgrade from version 4.5.6 -> 5.0.2 on windows

Started by maredcz, May 09, 2024, 02:40:00 PM

Previous topic - Next topic

maredcz

Hello,
has somebody similar issue?

I did direct upgrade from version 4.5.6 to 5.0.2 on windows server.
Database MariaDB 10.4

The service does not start
2024.05.09 12:45:00.438 *I* [startup            ] Starting NetXMS server version 5.0.2 build tag 5.0-878-gccaeca5869
..
2024.05.09 12:45:00.472 *E* [db                ] Your database has format version 50.32, but server is compiled for version 50.39

When run nxdbmgr upgrade, the database is not upgraded.


D:\NetXMS\bin>nxdbmgr check
NetXMS Database Manager Version 5.0.2 Build 5.0-878-gccaeca5869 (UNICODE)

Checking database (excluding collected data):
Your database has format version 50.32, this tool is compiled for version 50.39.
Use "upgrade" command to upgrade your database first.
Database check aborted

D:\NetXMS\bin>nxdbmgr upgrade
NetXMS Database Manager Version 5.0.2 Build 5.0-878-gccaeca5869 (UNICODE)

Upgrading database...
Upgrading from version 50.32 to 50.33

D:\NetXMS\bin>
D:\NetXMS\bin>nxdbmgr check
NetXMS Database Manager Version 5.0.2 Build 5.0-878-gccaeca5869 (UNICODE)

Checking database (excluding collected data):
Your database has format version 50.32, this tool is compiled for version 50.39.
Use "upgrade" command to upgrade your database first.
Database check aborted



Thank you for any advice.

Martin

maredcz

Database log show some processing and is ending with "Prepare UPDATE network_maps SET link_styling_script=?,filter=? WHERE id=?"

In MariaDB log appear message:
2024-05-09 13:59:01 9 [Warning] Aborted connection 9 to db: 'netxms_db' user: 'netxms' host: 'localhost' (Got an error reading communication packets)

#####
    9 Query SELECT item_id,transformation,instd_filter FROM items
    9 Prepare UPDATE items SET transformation=?,instd_filter=? WHERE item_id=?
...
    9 Query SELECT threshold_id,script FROM thresholds
    9 Prepare UPDATE thresholds SET script=? WHERE threshold_id=?
...
    9 Query SELECT item_id,transformation_script,instd_filter FROM dc_tables
    9 Prepare UPDATE dc_tables SET transformation_script=?,instd_filter=? WHERE item_id=?
...   
9 Query SELECT rule_id,filter_script,action_script FROM event_policy
    9 Prepare UPDATE event_policy SET filter_script=?,action_script=? WHERE rule_id=?
...
    9 Query SELECT trap_id,transformation_script FROM snmp_trap_cfg
    9 Prepare UPDATE snmp_trap_cfg SET transformation_script=? WHERE trap_id=?
...
    9 Query SELECT script_id,script_code FROM script_library
    9 Prepare UPDATE script_library SET script_code=? WHERE script_id=?
...
    9 Query SELECT id,link_styling_script,filter FROM network_maps
    9 Prepare UPDATE network_maps SET link_styling_script=?,filter=? WHERE id=?
HERE is the end, nothing executed

Martin

deepb

I'm facing exactly the same issue. I didn't take database backup so cannot go back to the old schema version either.

maredcz

.. have backups, have restored the database. Look's nobody else is observing the same issue. Try activate MariaDB logging if you are ending on updating network maps

.. "Prepare UPDATE network_maps SET link_styling_script=?,filter=? WHERE id=?"

Victor Kirhenshtein

Looks like nxdbmgr crashes during schema update. Could you please provide result of query

SELECT id,link_styling_script,filter FROM network_maps WHERE link_styling_script <> '' OR filter <> '';

(maybe you'll need to change condition, I'm not sure it is correct for MariaDB, but idea is to get all records where one of those fields is not empty).

Best regards,
Victor


maredcz

There is not a link_styling_script field (currently running 4.5.6 version(restored from backup)

There is result of query as .csv attachment
SELECT id,filter FROM network_maps WHERE filter <> '';

Victor Kirhenshtein

We just fixed bug in database upgrade, we will start packing release 5.0.3 soon.

Best regards,
Victor