Important: unexpected behaviour in 11.0.6 Audit Trail Cleaner may be causing WebUI data display issues

With BigFix Platform 11.0.6 an unexpected behavior in Audit Trail Cleaner utility may be causing a problem in displaying computer information in the WebUI.

The problem is tracked in Defect Article KB0131126

To recover from this situation, after having installed 11.0.6 BES Root Server:

  1. Please run the following steps:
  • stop all the BigFix services on the BigFix Server system

  • run the query to replace the definition of the stored procedure:

on SQL Server:

 use BFEnterprise
 go
 drop procedure audittrailclean_deletedcontent_content_types
 go
 CREATE PROCEDURE audittrailclean_deletedcontent_content_types (
 @BatchSize INTEGER,
 @rCount  INTEGER OUT
)
 AS
 BEGIN
 SET @rCount = 0;
 END
 go

on DB2:

db2 connect to BFENT

db2 drop procedure dbo.audittrailclean_deletedcontent_content_types

db2 "create procedure dbo.audittrailclean_deletedcontent_content_types ( IN p_BatchSize INTEGER, OUT p_rCount INTEGER ) LANGUAGE SQL BEGIN SET p_rCount = 0; END"
  • start all the BigFix services on the BigFix Server system
  1. Then, to verify if the stored procedure has already unintentionally deleted data that is still needed, customers have to run the following query:

select count(*) from dbo.QUESTIONRESULTS where WebUISiteID is null

• If the query returns no results, there’s nothing more to do.
• Otherwise, the following recovery procedure must be executed:

  • stop all the BigFix services on the BigFix Server system

  • on Windows/SQL Server:

    • backup BESAdmin.exe
    • get the hotfix binary for BESAdmin.exe and replace the current one
    • from a privileged command line, run the command:
      BESAdmin.exe /repaircontenttypes
    • once the command is completed, run the following queries:
use BFEnterprise;

update QUESTIONRESULTS set WebuiSiteID = T.SiteID from QUESTIONRESULTS Q join CONTENT_TYPES T on Q.AnalysisID = T.ContentID and Q.SiteID = T.OldSiteID where WebuiSiteID is NULL;

update LONGQUESTIONRESULTS set WebuiSiteID = T.SiteID from LONGQUESTIONRESULTS LQ join CONTENT_TYPES T on LQ.AnalysisID = T.ContentID and LQ.SiteID = T.OldSiteID where WebuiSiteID is NULL;

update FIXLETRESULTS set WebuiSiteID = T.SiteID, Type = T.Type from FIXLETRESULTS F join CONTENT_TYPES T on F.ID = T.ContentID and F.SiteID = T.OldSiteID where WebuiSiteID is NULL;
  • on Linux/DB2:

    • backup BESAdmin
    • get the hotfix binary for BESAdmin and replace the current one
    • run the command
      BESAdmin.sh -repaircontenttypes -sitePvkLocation=<path+license.pvk> [ -sitePvkPassword= <password> ]
    • once the command is completed, run the following queries:
db2 connect to BFENT

db2 "update dbo.QUESTIONRESULTS set WebuiSiteID = T.SiteID from dbo.QUESTIONRESULTS Q join dbo.CONTENT_TYPES T on Q.AnalysisID = T.ContentID and Q.SiteID = T.OldSiteID where Q.WebuiSiteID is NULL"

db2 "update dbo.LONGQUESTIONRESULTS set WebuiSiteID = T.SiteID from dbo.LONGQUESTIONRESULTS LQ join dbo.CONTENT_TYPES T on LQ.AnalysisID = T.ContentID and LQ.SiteID = T.OldSiteID where LQ.WebuiSiteID is NULL"

db2 "update dbo.FIXLETRESULTS set WebuiSiteID = T.SiteID, Type = T.Type from dbo.FIXLETRESULTS F join dbo.CONTENT_TYPES T on F.ID = T.ContentID and F.SiteID = T.OldSiteID where F.WebuiSiteID is NULL"
  • start all the BigFix services on the BigFix Server system
  • verify endpoint properties are displayed correctly in WebUI Device List view

NOTE: Depending on the number of subscribed sites and the custom content created, the BESAdmin repair procedure can take some time: schedule in advance a system maintenance window and do not stop the procedure

In case of issues or questions please contact customer support.

I hope that the hotfix binary for BESAdmin and the changes in the database will be updated in the Installation files of 11.0.6.

For example, when there was an issue with downloading files on the BigFix Client 11.0.5.23 , you uploaded the fixed 11.0.5.24 version as the default one.

1 Like

This issue is real and the solution does work. It was my ticket that uncovered the issue.

A good example of how you might notice the issue is in the MCM Health Check dashboard in WebUI. If data is missing in the dashboard that is present in analysis results in the console, that is a pretty good clue that you’re having this issue. In our case, information about the MCM server and Plug-in were present in analysis results, but not in the dashboard.

2 Likes

Hello, thanks for your input. At this time, because of the nature and impacts of the problem, and the effectiveness of the provided recovery solution, we are not planning to provide a new build for 11.0.6 root server for this. We will re-evaluate as needed based on customer input. Thank you

1 Like

Thank you for reporting this and confirming solution!

In case you’re curious what this issue looks like, see this screenshot of the MCM Health Check dashboard where the MDM Server and Plugin are missing. If we inspect the page and look for the analysis IDs for MCM Server and Plugin analyses (6 & 11), we see null results.

1 Like

I have just upgraded my environment to 11.0.6. Before running the queries for the workaround, I ran the following verification query and the query returns no results. Do I still have to run the workaround stored procedure?

select count(*) from dbo.QUESTIONRESULTS where WebUISiteID is null

@adinia , has the hotfix been integrated into new downloads for upgrades?

Put another way, what is recommended for new/future upgrades to 11.0.6?

@atlauren, for new upgrades to 11.0.6 follow the steps of this post. Very likely step 1. will be enough.

It is recommended to run Step 1. of the above procedure anyway. Thank you

As said above, at this time we are not publishing a new 11.0.6 installer, given the nature and impact of the issue.
For new upgrades to 11.0.6, recommendation is to run step 1. of the above procedure right after the upgrade. Thanks

Two things:

  1. In the “to confirm data has been properly restored” queries for SQL, there are two instances of &gt; instead of the required >

  2. What should be done if those queries do NOT return 0 results?

I doubt that anyone will see this in time, but we’re currently in a maintenance window to correct this issue and the first and third “confirm” queries returned 3 and 1007 records respectively. Should we run the BESAdmin.exe /repaircontenttypes command again? Run the “update” queries again?

John, probably late but I did run to non-zero result on one of our environments and just proceed with next steps listed - run the admin tool with the flag (ran for me about 10 mins on a small environment, so just fyi, it may be running for a while on bigger); run the sql update statements (and yes, need to replace the > with >) - they ran for about a min but again on a rather small environment; lastly run the selects to confirm there are no issues left and start back the services.

That's the problem… it's the final checks that are generating a non-zero result. Rerunning the initial query also still generates a non-zero result…MUCH lower than the first run (2.3 million vs 3900), but still not 0.

aaah ok, I didn’t see that. Mine were cleared to 0s. I would open a case with Support and see how to clear the rest

Hello, thanks for the feedback.
After your input, we verified that the "validation" queries might be returning false positives, meaning that a non-zero output not necessarily relates to the persistence of the problem. So, we removed the validation queries and recommended to check on WebUI whether there are missing properties in the Device List. If you have doubts, please open a support case.
Thank you!

This topic was automatically closed after 30 days. New replies are no longer allowed.