data_engine queue is huge and ADO_BulkInsert::Commit - failed seen in the log

Document ID : KB000033921
Last Modified Date : 14/02/2018
Show Technical Document Details
data_engine log shows:

May 21 10:54:07:405 [430120] de: ADO_BulkInsert::Commit - failed for RN_QOS_DATA_0049 May 21 10:54:07:405 [430120] de: Commit - ERROR: Code=0x80004005 Source=Microsoft OLE DB Provider for SQL Server Description=The statement has been terminated.
May 21 10:54:07:405 [430120] de: Commit - ERROR: Code=0x80004005 Source=Microsoft OLE DB Provider for SQL Server Description=Cannot insert the value NULL into column 'tz_offset', table 'nod113.dbo.RN_QOS_DATA_0049'; column does not allow nulls. INSERT fails.
May 21 10:54:07:405 [430120] de: ADO_BulkInsert::RestoreBuffer - restoring 198 records to input buffer (RN_QOS_DATA_0049) May 21 10:54:08:355 [241944] de: QoSInsert::Commit - failed for one or more of the bulk containers, save data and release connection
May 21 10:54:08:355 [241944] de: QoSInsert::Disconnect_BulkInsert - entered, waiting for commit threads to terminate...

The RN_QOS_DATA_0049 table is where the vmware probe is trying to store QOS_DS_DISK_FREE

Meanwhile there wasnt even any data in the associated table RN_QOS_DATA_0049.

Deactivate the data_engine and delete the *_0049 file in the data_engine 'Savefiles' directory to get the data_engine to start processing QoS again. Set the data_engine bulk_size to 999 if its not set that high already (pre-7.x hub probe).

The vmware probes should not be trying to store data for that definition and the data_engine should not be trying to insert data to that table.

This is most likely caused by QOS definition change between versions of the vmware probe.

You must reset the QOS definition so this does not happen again.

This will reestablish the QoS definitions for the vmware probes you currently have deployed.

To ?reset? the vmware QoS definition follw these steps:

1. In the Infrastructure Manager, select Tools->Find and search for the probe(s) in question, e.g., vmware.

2. Essentially, Deactivate all of the probe(s), e.g., vmware, that relate to the QoS you want to reset.

3. In the SLM, select Tools->Database Status->Select the QoS definitions Tab and then highlight the QoS definition in question.

4. Rt-click and choose delete to delete the QoS definition

5. In the Infrastructure Manager, Select the data_engine probe and rt-click ->Restart to restart it.

6. Use Tools->Find again to display all of the vmware probes and highlight them via SHIFT/Ctrl click and Activate them and the QoS definitions should be recreated on the next monitoring interval for the given QoS. Now as per the data_engine log once cold started, there is NO data being saved for the obsolete object-> QOS_DS_DISK_FREE and the data_engine is no longer trying to insert any data into RN_QOS_DATA_0049 as well, so the problem will not reoccur.