390 views

Description

When clicking on various points in the interface, incorrect history entries intermittently appear in the navigator history.

Another symptom of this problem is slowness when loading the navigator, specifically the /api/now/history transaction, which runs the following slow query:
SELECT sys_ui_navigator_history0.`sys_id`, sys_ui_navigator_history0.`sys_updated_by`, sys_ui_navigator_history0.`sys_created_on`, sys_ui_navigator_history0.`sys_mod_count`, sys_ui_navigator_history0.`description`, sys_ui_navigator_history0.`sys_updated_on`, sys_ui_navigator_history0.`title`, sys_ui_navigator_history0.`user`, sys_ui_navigator_history0.`url`, sys_ui_navigator_history0.`sys_created_by` FROM sys_ui_navigator_history sys_ui_navigator_history0 ORDER BY sys_ui_navigator_history0.`sys_created_on` DESC limit 0,1;

Steps to Reproduce

There are two symptoms users may see when upgrading from Istanbul if they run into this problem:

  1. Clicking through the UI, history may appear in the navigator that does not belong to the current user. This is because the query is missing the "user" parameter. No data is being harmed due to this missing parameter; however, the wrong data is being returned to the user.

  2. After upgrading to Istanbul (from Helsinki or earlier), overall performance is slower for users. This is caused by the "/api/now/ui/history" transaction running longer than before the upgrade. As this transaction is kicked off thousands of times, it has a much larger impact on performance of other transactions.

How to identify the performance impact
These transactions are slow due to the following query which you will see logged in both the localhost logs and the Slow Query Patterns table after the upgrade:

SELECT sys_ui_navigator_history0.`sys_id`, sys_ui_navigator_history0.`sys_updated_by`, sys_ui_navigator_history0.`sys_created_on`, sys_ui_navigator_history0.`sys_mod_count`, sys_ui_navigator_history0.`description`, sys_ui_navigator_history0.`sys_updated_on`, sys_ui_navigator_history0.`title`, sys_ui_navigator_history0.`user`, sys_ui_navigator_history0.`url`, sys_ui_navigator_history0.`sys_created_by` FROM sys_ui_navigator_history sys_ui_navigator_history0 ORDER BY sys_ui_navigator_history0.`sys_created_on` DESC limit 0,1;

Use the following link for the Slow Query Pattern table:

https://<instance_name>.service-now.com/sys_query_pattern_list.do?sysparm_query=firstONToday%40javascript:gs.daysAgoStart(0)%40javascript:gs.daysAgoEnd(0)%5EexampleLIKEsys_ui_navigator_history

Note: You will need to change the "First sighting" field to the day the upgrade completed. Currently it is set to "Today"

Workaround

To provide relief for the slow query, add the following index: sys_ui_navigator_history(sys_created_on)

System Definition > Tables & Columns


Related Problem: PRB743959

Seen In

There is no data to report.

Fixed In

Istanbul Patch 2
Istanbul Patch 3
Jakarta

Associated Community Threads

There is no data to report.

Article Information

Last Updated:2018-05-01 17:20:30
Published:2017-02-23