- Post History
- Subscribe to RSS Feed
- Mark as New
- Mark as Read
- Bookmark
- Subscribe
- Printer Friendly Page
- Report Inappropriate Content
an hour ago
Articles, Blogs, Videos, Podcasts, Share projects - Experiences from the field
Hi there,
I've recently switched to a new customer, and ofcourse, one of the first things I touched was Instance Scan. One of my favorites within the platform. Instance Scan, you got to love it đ. Though wait, what, why are my scans being queued? O wait... this is an instance on the Zurich release, not the Australia release... No "Parallel Scanning" yet!
After years of a development freeze on Instance Scan, ServiceNow is bringing new and updated features. With Zurich amongst others "Queuing of Instance Scans", with Australia amongst others Parallel Scanning.
I don't know whether this change of development course is driven by ReleaseOps, Security Center or something else, but I'm happy to see Instance Scan receiving attention again!
Pre-Zurich
There are several options to initiate a scan, for example manually or scheduled. Prior to Zurich, only a single scan could be executed at a time. The scan engine was not designed (or opened up?) in such a way to handle multiple scans at the same time. Initiating a new scan while there was already a current scan running, threw an error message and abort starting the scan.
Pre-Australia
With the Zurich release ServiceNow added a new feature to Instance Scan: Queueing of Scans. Initiating a scan while there was already a current scan running, would NOT throw an error message and starting the scan. Instead, the new scan is added to a queue, visible in newly added table "Scan Queue".
Queuing of Scans is automatically enabled on new AND upgraded instances.
Australia
While queuing of scans is already a solid improvement, it's still not optimal. Your new scan won't immediately error, though it can still take tens of minutes or even hours before a queued scan is picked up.
With the Australia release, this is history! ServiceNow added a new feature to Instance Scan: Parallel Scans. Initiating a scan while there is already a current scan running, will simply execute the new scan in parallel instead of sequential execution. This improves efficiency and reduces wait times when several scans are executed concurrently. Parallel execution is especially useful in environments with large development teams or frequent scans, where running scans sequentially can delay feedback and slow development and validation workflows.
Parallel Scanning is automatically enabled on new AND upgraded instances. By default, up to five scans are executed in parallel, any more would be queued similar to the behavior of the Zurich release.
Parallel Scanning uses a queue-based execution model when System Property "glide.scan.queue.enabled" is enabled. If queuing is enabled (System Property "glide.scan.queue.enabled"), the request is placed in the queue and later picked up for execution. If queuing is not enabled, the scan starts immediately when selected.
Undocumented observations
Interesting bit here, "placed in the queue" is different than how this worked in the Zurich release. With the Australia release there's no Scan queue [scan_queue] table on new Australia release instances! I haven't found the exact detailed working, though what I did found was a new module "Scan Queue Operation" (as replacement for "Scan Requests") which opens page "Scan Queue Operations". On this new page among others queued scan are visible (State "Pending"), which is derived from table Execution Tracker [sys_execution_tracker].
What controls the Execution Tracker to start when a running scan stops, I haven't found out yet.
On the Scan Queue Operations page at the top you also see "Scan Queue Status" and a button to "Pause" the queue. When pausing the queue, all running scan will just continu, though any queued scans are not starting when an existing Scan stops (I've tested it đ).
---
That's it. Hope you like it. Finally I finished this article, it was already pending for a while đ . If any questions or remarks, let me know!
| C |
If this content helped you, I would appreciate it if you hit bookmark or mark it as helpful.
Interested in more Articles, Blogs, Videos, Podcasts, Share projects I shared/participated in? |
Kind regards,
Mark Roethof
Independent ServiceNow Consultant
11x ServiceNow MVP
---