The FNMSPreCalcUpdate process updates many FlexNet Manager Suite web UI views (like the All Inventory, All Assets, or All Users views) when changes are made. To use fewer resources, the FNMSPreCalcUpdate process precalculates data rather than updating it on demand. When data in one of the associated tables changes, the update operation also updates the precalculated tables displaying various web UI views.
Using the All Inventory view as an example, when you make a change, FlexNet Manager Suite doesn't refer directly to the compliance database's main table that contains the inventory device information, the ComplianceComputer table. Instead, the Grid_ComputersListModel table (the view that displays the All Inventory of the web UI) refers to the Grid_ComputersListModel_PC table, which is the precalculated view.
Precalculated views are also seen elsewhere in FlexNet Manager Suite. Each row in the image below that ends in PC_MT is an example of a precalculated view. The precalculated tables update regularly and automatically as data in the supporting tables changes.
Issues with the FNMSPreCalcUpdate process can cause the web UI views in FlexNet Manager Suite not to update when changes are made. An example of a potential issue with FNMSPreCalcUpdate would be if you modify a device's Inventory Device Properties, but the change isn't reflected in the All Inventory view.
If FlexNet Manager Suite's web UI views take unusually long to update, follow the steps below to troubleshoot.
Determine if the FNMSPreCalcUpdate process is running normally
To confirm when the precalculated tables were last updated, the BatchProcessExecution table has a record for every FNMSPreCalcUpdate task that ran for each view. Run a query for the view you're seeing issues with to determine when the precalculated tables were updated.
As an example, the query below would gather the last ten occurrences of the FNMSPreCalcUpdate task for the ComputersListModel_PC table that displays the All Inventory view:
SELECT TOP 10 * FROM BatchProcessExecution WHERE BatchProcessTypeID = 40 AND RawMessage LIKE '%Grid_ComputersListModel_PC%' ORDER BY Submitted DESC
NOTE: BatchProcessTypeID 40 is the identifier for FNMSPreCalcUpdate tasks. The RawMessage establishes the views that are updated via FNMSPreCalcUpdate tasks.
Review the output of your query. Below is a sample output from the ComputersListModel_PC table.
Check the following items:
The ReturnCode is zero (assuming FinishTime is non-zero).
The submitted, start, and finish times occur regularly, depending on the scale of your system. For example, if you have many concurrent users and frequent user activity, these should occur multiple times per hour.
If these values are normal and multiple FNMSPreCalcUpdate jobs run each hour, the web UI view should be synchronized with its underlying compliance database content.
If these values are irregular, there may be an issue with the FNMSPreCalcUpdate process. Follow the steps in the next section for further diagnosis.
Review the following logs to identify any errors in scheduling or running the FNMSPreCalcUpdate process.
BatchProcessor logging on the Batch Processing or Application Server. Default location: ProgramData\Flexera Software\Compliance\Logging\BatchProcessScheduler\BatchProcessor.log
BatchProcessTask logging on the batch processing or application server. Default location: ProgramData\Flexera Software\Compliance\Logging\BatchProcessTask\BatchProcessTask.log
SQL Server Logs, located in SQL Server Management Studio, the server > Management > SQL Server Logs > current file.
Diagnosis of FNMSPreCalcUpdate issues for Flexera One ITAM
If FNMSPreCalcUpdate delays occur on one tenant, check if this also happens with other tenants. It may indicate an environmental or infrastructure issue if multiple tenants are affected.
While the cloud database is inaccessible, Flexera's support team can validate the above queries on the cloud database and access BatchProcessor/Scheduler logs.
Run FNMSPreCalcUpdate manually
Although most FlexNet Manager Suite tasks run on a schedule using Microsoft Message Queuing (MSMQ), FNMSPreCalcUpdate doesn't. It's scheduled based on an observer in the .NET backend, which checks for any significant updates of data, views, and grids in the FlexNet Manager Suite web UI.
Since FNMSPreCalcUpdate runs whenever there are relevant updates, it's common to see this task run every few minutes and records written to the BatchProcessExecution table multiple times daily.
You can, however, manually run FNMSPreCalcUpdate using the following two commands in an administrator command prompt on the application/batch server if you'd like to initiate the process.
CD <Instal Dir>:\Program Files (x86)\Flexera Software\FlexNet Manager Platform\DotNet\bin
BatchProcessTaskConsole.exe run FNMSPrecalcUpdate
on Jul 13, 202010:20 AM - edited on Apr 27, 202310:37 AM by HollyM