Some users may have issues creating a community account See more here.

FNMSPreCalcUpdate - Initial Diagnosis

FNMSPreCalcUpdate - Initial Diagnosis

Symptoms:

The Web UI views - e.g. All Inventory, All Assets, All Users - are not updating when changes are being made.

If we a device's Inventory Device Properties are amended,  this change is not reflected within the All Inventory view, for example.

Despite this, the change is still visible within Inventory Device Properties.

Diagnosis:

These views not being updated may be symptoms of a FNMSPreCalcUpdate issue.

FNMSPreCalcUpdate is a process that staggers update of the various Web UI views, as opposed to requesting and updating this data on request, which would be more intensive.

Taking the All Inventory view as an example, instead of referring directly to ComplianceComputer (the Compliance database's main Computers table), the Grid_ComputersListModel (the view behind All Inventory) refers to Grid_ComputersListModel_PC - the precalculated view.

 

This extends to other views - note the following other pre-calculated views:

pcmt.png

 

 

These _PC tables should be updated regularly and automatically as data in the supporting tables changes.

In order to confirm when these were last updated, BatchProcessExecution has a record for each running of the FNMSPreCalcUpdate task for each view.

As an example, the below would gather the last ten occurrences of the FNMSPreCalcUpdate task for the aforementioned ComputersListModel_PC table:

(To clarify, BatchProcessTypeID 40 is the identifier for FNMSPreCalcUpdate tasks; the RawMessage should establish the views being updated for FNMSPreCalcUpdate tasks)

 

SELECT TOP 10 * FROM BatchProcessExecution WHERE BatchProcessTypeID = 40 AND RawMessage LIKE '%Grid_ComputersListModel_PC%' ORDER BY Submitted DESC

 

Note the following sample output from this query:

 

BatchProcessExecutionID

GUID

BatchProcessTypeID

Submitted

OperatorLogin

BeaconID

BatchProcessorHostname

BatchProcessStatusID

StartTime

FinishTime

Progress

ReturnCode

Output

GroupName

TenantUID

RawMessage

11141

13BADA09-6DA1-4131-BBE8-A4BAFD3DDD5C

40

51:05.9

x

NULL

y

3

a

b

100

0

NULL

NULL

NULL

{"TenantUID":null,"HasTenantUID":false,"GroupName":null,"HasGroupName":false,"TaskID":"13bada09-6da1-4131-bbe8-a4bafd3ddd5c","TaskTypeID":40,"OperatorLogin":"x","Progress":100,"SubmitTime":"2020-07-06T05:51:05.9000397+01:00","StartTime":null,"FinishTime":null,"Properties":{"Arguments":"sync --targets Grid_ComputersListModel_PC"}}

 

From the above, ensure:

  • The Return Code (assuming FinishTime is non-zero) is zero - successful
  • The submitted, start time and finish time are regular - depending on scale of system, e.g. number of concurrent users, user activity, this should be occurring multiple times per hour

 

If either of the above aren't populated as in the sample table data, gather:

  • The BatchProcessor logging - ProgramData\Flexera Software\Compliance\Logging\BatchProcessScheduler\BatchProcessor.log on the Batch Processing or Application Server
  • The BatchProcessTask logging - ProgramData\Flexera Software\Compliance\Logging\BatchProcessTask\BatchProcessTask.log on the Batch Processing or Application Server
  • The SQL Server Logs - In SQL Server Management Studio, the Server > Management > SQL Server Logs > Current file

 

If there's no obvious failures to schedule these regular update tasks, bring this to the attention of our Support team.

 

Diagnosis for a Cloud instance:

 

  • While the Cloud database is inaccessible to customers, the Support team can validate the above queries on the Cloud database for the customer tenant
  • If FNMSPreCalc delays are occurring on one tenant, ensure this is not reflected across multiple tenants; this might indicate a configuration change being required
  • The BatchProcessor/Scheduler logs are also accessible to the Flexera Support team for the Cloud instance

 

Was this article helpful? Yes No
100% helpful (1/1)
Comments

Here's a query for all these target type processes with a clear taget column:

SELECT TOP 100
	*
,REVERSE(SUBSTRING(REVERSE(RawMessage),4,CHARINDEX('stegrat',REVERSE(RawMessage))-5)) Target
FROM BatchProcessExecution
WHERE BatchProcessTypeID = 40  AND RawMessage LIKE '%-targets%'
ORDER BY Submitted DESC

@mfranz , I am facing this issue in my environment where FNMSPrecalcupdate and FNMSDashboardUpdate are return exitcode as -1 instead of 0. What can we do to resolve this issue? Ours is an On-Premise environment.

@srikanth_m, I guess you should open a support case.

Version history
Revision #:
1 of 1
Last update:
‎Jul 13, 2020 10:20 AM
Updated by:
 
Contributors