588 views

Description

During the upgrade to Jakarta, a fix script executes, which performs a cleanup of records related to ServiceNow Performance sys_portal_pages.
 
If the instance does not contain a sys_portal_page record where the title is ServiceNow Performance, the fix script incorrectly deletes any sys_portal record where the field page is NULL. This is only known to happen when an instance is provisioned with the homepage Service-Now Performance.
 
The impact of the fix script in this scenario is that Performance Analytic dashboards become empty. The reports still exist but the association with the dashboards needs to be reestablished.
 
In addition, the ServiceNow Performance homepage does not render.

Steps to Reproduce

 

ServiceNow has been able to reproduce this defect using the following workflow:

  1. Rename all ServiceNow Performance homepages to Service-Now Performance
  2. Ensure Performance Analytics is activated
  3. Navigate to a sys_portal record for a report on any of the PA dashboards, and set page to NULL
  4. Run fix script _fix_jrobin_legacy.xml

Expected Behavior

  1. Service-Now Performance is renamed to ServiceNow Performance
  2. ServiceNow Performance homepage has the new Jakarta Performance Dashboard widget
  3. No sys_portal records for any other dashboard or homepage are removed

Actual Behavior

  1. Service-Now Performance does not upgrade and is missing graphs
  2. Reports are missing from all PA dashboards

Workaround

The following workaround is known to remove the risk related to this defect. Please complete the workaround prior to upgrade.

  1. Navigate to the following link
    /sys_portal_page_list.do?sysparm_query=title%3DService-Now%20Performance&sysparm_first_row=1&sysparm_view=
  2. Rename the title field in the record from Service-now Performance to ServiceNow Performance
  3. Run the following script to ensure the issue is no longer present. If the script returns true, the instance is still susceptible.
    gs.print("Performance page check: " + performancePageExists());

    function performancePageExists() {
        var answer = false;
        if (!nonHyphenExists() && nullPortalPageExists())
            answer = true;

        return answer;
    }

    function nonHyphenExists() {
        var portalPageGR = GlideRecord("sys_portal_page");
        portalPageGR.addQuery("title", "ServiceNow Performance");
        portalPageGR.setworkflow(false);
        portalPageGR.query();
        if (portalPageGR.next())
            return true;

        return false;
    }

    function nullPortalPageExists() {
        var portalGR = new GlideRecord("sys_portal");
        portalGR.addNullQuery("page");
        portalGR.setworkflow(false);
        portalGR.query();
        if (portalGR.next())
            return true;

        return false;
    }

 


Related Problem: PRB1095450

Seen In

There is no data to report.

Fixed In

Jakarta Patch 2
Kingston

Associated Community Threads

There is no data to report.

Article Information

Last Updated:2018-03-09 15:52:45
Published:2017-07-26