NetXMS Support Forum

English Support => General Support => Topic started by: DH on August 16, 2012, 02:56:24 PM

Title: SQL errors in 1.2.2 ?
Post by: DH on August 16, 2012, 02:56:24 PM
Hi,

Server Platform: Windows Server 2008 R2 standard (64bit)
NetXMS Server: netxms-1.2.2-x64

Since upgrading to 1.2.2 I'm having intermittent problems viewing graphs of DCI values and getting DCI collection failures in the client. In the server system log I get a number of entries when the DCI collection fails:

SQL query failed (Query = "INSERT INTO event_log (event_id,event_code,event_timestamp,event_source,event_severity,event_message,root_event_id,user_tag) VALUES (?,?,?,?,?,?,?,?)"): constraint failed

SQL query failed (Query = "INSERT INTO event_log (event_id,event_code,event_timestamp,event_source,event_severity,event_message,root_event_id,user_tag) VALUES (?,?,?,?,?,?,?,?)"): constraint failed

SQL query failed (Query = "INSERT INTO event_log (event_id,event_code,event_timestamp,event_source,event_severity,event_message,root_event_id,user_tag) VALUES (?,?,?,?,?,?,?,?)"): column event_id is not unique

SQL query failed (Query = "INSERT INTO event_log (event_id,event_code,event_timestamp,event_source,event_severity,event_message,root_event_id,user_tag) VALUES (?,?,?,?,?,?,?,?)"): constraint failed

SQL query failed (Query = "INSERT INTO event_log (event_id,event_code,event_timestamp,event_source,event_severity,event_message,root_event_id,user_tag) VALUES (?,?,?,?,?,?,?,?)"): column event_id is not unique

SQL query failed (Query = "INSERT INTO event_log (event_id,event_code,event_timestamp,event_source,event_severity,event_message,root_event_id,user_tag) VALUES (?,?,?,?,?,?,?,?)"): constraint failed

I then restart NetXMS Core and its ok again for a while before failing again with the same problem.

Any pointers on where I should be looking would a great help.

David
Title: Re: SQL errors in 1.2.2 ?
Post by: Victor Kirhenshtein on August 16, 2012, 05:54:37 PM
Hi!

Looks more like a bug. What database you are using and what driver?

Best regards,
Victor
Title: Re: SQL errors in 1.2.2 ?
Post by: DH on August 16, 2012, 06:29:08 PM
Hi Victor,

It is the one built into the installer, is that SQLite ? The original install was quite some time ago ( 0.x version) and upgraded over time. Is there a way of asking netxms which dB it is using ?

Regards,
David

Title: Re: SQL errors in 1.2.2 ?
Post by: Victor Kirhenshtein on August 16, 2012, 06:49:13 PM
Hi!

Check netxmsd.conf file, DBDriver parameter.

Best regards,
Victor
Title: Re: SQL errors in 1.2.2 ?
Post by: DH on August 16, 2012, 07:17:52 PM
Hi Victor,

Yes it is SQLite, conf file:

LogFile = {syslog}
DBDriver = sqlite.ddr
DBName = C:\NetXMS\database\bn-netxms
LogFailedSQLQueries = yes

Regards,
David
Title: Re: SQL errors in 1.2.2 ?
Post by: DH on August 28, 2012, 11:23:00 AM
Hi,

Anyone any thoughts on this ?

Regards,
David
Title: Re: SQL errors in 1.2.2 ?
Post by: macro on September 03, 2012, 12:05:57 PM
Guys... Just a reminder or in case you are not aware. Please do not use SQLite for production. SQLite is not designed to handle big data volumes or a high DB load. Don't get me wrong, SQLite is still a great DB engine and does very well what its designed for. But it's just not up to the task for an average NetXMS production environment. Use NetXMS with SQLite for trying out, testing new features or if you monitor home network with 3 nodes :) But stay away from it in the production!!! You will be really better off with MySQL, Postgres or Oracle.

As for the topic. There is a fix for this specific problem committed yesterday. Well, actually this is a work around some obscure SQLite behaviour (see warning above!). It will go into 1.2.3. If you need it faster feel free to get it off the svn and test :)
Title: Re: SQL errors in 1.2.2 ?
Post by: DH on September 03, 2012, 12:09:48 PM
Hi,

Is there an easy way to migrate existing configuration and history to a better dB product ?

Regards,
David
Title: Re: SQL errors in 1.2.2 ?
Post by: Victor Kirhenshtein on September 03, 2012, 06:29:01 PM
Hi!

There are export/import option in nxdbmgr. What it basically does is exporting data from your existing database into SQLite database file, and the importing into another database. As you have SQLite already, you can try to just create empty database on another engine, create correct netxmsd.conf, and the use your existing database file as input for nxdbmgr import command.

Best regards,
Victor
Title: Re: SQL errors in 1.2.2 ?
Post by: DH on September 06, 2012, 05:02:40 PM
Hi,

I have now installed MySQL Community Server 5.5.27 (x64), re-installed NetXMS to include MySQL client support. I setup MySQL database thus:

mysql> CREATE DATABASE netxms;
mysql> GRANT ALL ON netxms.* TO netxms@localhost IDENTIFIED BY 'password'

netxmsd.conf:
---------------------------------------------------------------------------------
#
# NetXMS Server configuration file
# Created by NetXMS Server configuration wizard at Wed May 09 15:31:46 2012
#

LogFile = {syslog}
DBDriver = C:\NetXMS\bin\mysql.ddr
DBServer = localhost
DBName = netxms
DBLogin = netxms
DBPassword = password
LogFailedSQLQueries = yes
---------------------------------------------------------------------------------

I initialised the database using:

nxdbmgr.exe init C:\NetXMS\lib\sql\dbinit_mysql.sql

then I tried importing the existing configuration and history using:

mxdbmgr.exe import C:\NetXMS\database\bn-netxms

this results in the following output:

-------------------------------------------------------------------------
NetXMS Database Manager Version 1.2.2



WARNING!!!
This operation will clear all configuration and collected data from database.
Are you sure? (Y/N) Y
Database successfully cleared
Importing table config
Importing table config_clob
Importing table users
-------------------------------------------------------------------------

The import generates an exception, logged as follows:

-------------------------------------------------------------------------
Faulting application name: nxdbmgr.exe, version: 0.0.0.0, time stamp: 0x500d3368
Faulting module name: libnetxmsw.dll, version: 0.0.0.0, time stamp: 0x500d32f4
Exception code: 0xc0000005
Fault offset: 0x000000000001c5ab
Faulting process id: 0x11b8
Faulting application start time: 0x01cd8c3483769b7d
Faulting application path: C:\NetXMS\bin\nxdbmgr.exe
Faulting module path: C:\NetXMS\bin\libnetxmsw.dll
Report Id: c265019d-f827-11e1-ad02-00155d002212
-------------------------------------------------------------------------

Regards,
David
Title: Re: SQL errors in 1.2.2 ?
Post by: DH on September 06, 2012, 05:04:50 PM
Hi,

I forgot to mention, I had to upgrade the database with nxdbmgr.exe upgrade after the init.

Regards,
David
Title: Re: SQL errors in 1.2.2 ?
Post by: Victor Kirhenshtein on September 06, 2012, 06:03:32 PM
Hi!

Just try to reproduce the error on my system, but without success. Is it possible to send me your SQLite database because I suspect that some combination of data causes this crash. If it violates your security policy, we will find other ways to debug it.

Best regards,
Victor
Title: Re: SQL errors in 1.2.2 ?
Post by: DH on September 06, 2012, 06:17:09 PM
Hi Victor,

Is it possible to send it to you directly rather than making it publicly available here ?

Regards,
David
Title: Re: SQL errors in 1.2.2 ?
Post by: Victor Kirhenshtein on September 06, 2012, 06:48:26 PM
Sure. Send it to [email protected].

Best regards,
Victor
Title: Re: SQL errors in 1.2.2 ?
Post by: DH on September 06, 2012, 07:33:23 PM
Hi Victor,

It is too big to email and I don't want to put it on the forum so have you any suggestions on how I can debug the problem ?

Regards,
David
Title: Re: SQL errors in 1.2.2 ?
Post by: DH on September 12, 2012, 11:09:15 AM
Many thanks Victor, 1.2.3 has sorted the dB import error.

Best regards,
David