# Request Scan Granularity and Risk

**URL:** <https://forum.inductiveautomation.com/t/request-scan-granularity-and-risk/117340>\
**Category:** Ignition\
**Tags:** ignition83\
**Created:** [October 5, 2026, 6:45pm UTC](https://forum.inductiveautomation.com/t/request-scan-granularity-and-risk/117340 "2026-10-05T18:45:27Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![jacob\_geers](https://avatars.discourse-cdn.com/v4/letter/j/4da419/32.png) [@jacob\_geers](https://forum.inductiveautomation.com/u/jacob_geers)\
**Post date:** [October 5, 2026, 6:45pm UTC](https://forum.inductiveautomation.com/t/request-scan-granularity-and-risk/117340/1 "2026-10-05T18:45:27Z")

</div>

Hello,

We have a 8.3.8 gateway with ~10 production critical (manufacturing) projects, each project has its own tag changes and gateway scripts.

We migrate code to this production server via git and use `system.project.requestScan` from the gateway UI, eventually from a hook to call it from the api.

For simplicity sake, lets say today I need to change the color of a button in one of the projects - does that mean I have to shut down the entire factory while request scan is running to prevent missed gateway messages?

What we had happen today was we did a very small update to one project (scripts and ui, not messages) and request scan triggered "Restarting Gateway Scripts" on every project (plus a billion client session errors?). The top line in the screen shot shows that caused us to miss a gateway message, ultimately resulting in equipment downtime.

Looking for some advice - am I misunderstanding or doing something wrong? Its a tough ask (impossible) for me to tell the plant to shut down every time we update these apps.

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/e/1/e199ff68d3f52544e89d4f60b80fd01e3a5bb430.png)

Thanks,

Jake

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [October 5, 2026, 7:07pm UTC](https://forum.inductiveautomation.com/t/request-scan-granularity-and-risk/117340/2 "2026-10-05T19:07:10Z")

</div>

This is a surprise. I would have expected only the changed projects to restart. **Unless** , you had `resource.json` timestamps/hashcodes changed in the git repo. After you did the project scan, did git show any new changes scattered across the projects?

(Presuming you aren't using `.gitignore` to omit `resource.json`.)

---

<div class="post-metadata">

**Author:** ![jacob\_geers](https://avatars.discourse-cdn.com/v4/letter/j/4da419/32.png) [@jacob\_geers](https://forum.inductiveautomation.com/u/jacob_geers)\
**Post date:** [October 5, 2026, 7:36pm UTC](https://forum.inductiveautomation.com/t/request-scan-granularity-and-risk/117340/3 "2026-10-05T19:36:27Z")

</div>

The changed project got two new commits spanning 2 views (resource.json, thumbnail.png, view.json) and 2 scripts (code.py, resource.json). The other projects wouldn't have had any files changed, although its not impossible something touched their timestamps?

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [October 5, 2026, 7:38pm UTC](https://forum.inductiveautomation.com/t/request-scan-granularity-and-risk/117340/4 "2026-10-05T19:38:10Z")

</div>

Git should tell you (via `git status`) about uncommitted changes in the gateway. Note that if a resource had to be re-hashed, and the project was inheritable, any child projects of it would also restart.

---

<div class="post-metadata">

**Author:** ![jacob\_geers](https://avatars.discourse-cdn.com/v4/letter/j/4da419/32.png) [@jacob\_geers](https://forum.inductiveautomation.com/u/jacob_geers)\
**Post date:** [October 5, 2026, 7:50pm UTC](https://forum.inductiveautomation.com/t/request-scan-granularity-and-risk/117340/5 "2026-10-05T19:50:15Z")

</div>

No one develops using the designer on this gateway so the working directories are always clean.The other projects all got a new commit ~12 days ago for the necessary conversion from binary to .json messages after the 8.3 upgrade, but aside from that they are very static. We scanned after doing that, and have scanned almost every day since then (maintaining this one project) and always, it shows every project getting restarted.

This project in particular inherits "global" but global remains static aside from the aforementioned 8.3 commit.

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/6/8/68c58bd234fd1fe57a3d5485f5afcab4327967e8.png)

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [October 5, 2026, 7:59pm UTC](https://forum.inductiveautomation.com/t/request-scan-granularity-and-risk/117340/6 "2026-10-05T19:59:03Z")

</div>

Sequence to verify:

1. gateway does `git pull` or `git checkout` to grab changes to one project.

2. Use `git show` to look at the diff to ensure only the expected files are included.

3. Run project rescan.

4. Use `git status` to see if rescan caused any other files to change (signatures or timestamps) and be in an uncommitted state.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [October 5, 2026, 8:05pm UTC](https://forum.inductiveautomation.com/t/request-scan-granularity-and-risk/117340/7 "2026-10-05T20:05:19Z")

</div>

I wonder if this has something to do with that dang last modification entry we still haven't gotten rid of...

---

<div class="post-metadata">

**Author:** ![aaron\_ripley](https://avatars.discourse-cdn.com/v4/letter/a/7ba0ec/32.png) [@aaron\_ripley](https://forum.inductiveautomation.com/u/aaron_ripley)\
**Post date:** [October 6, 2026, 4:44pm UTC](https://forum.inductiveautomation.com/t/request-scan-granularity-and-risk/117340/8 "2026-10-06T16:44:59Z")

</div>

So i explored @pturmel's suggestion that this may be related to uncommitted changes on our gateway.

First I ran the following command on the repository root of our server:

```python
$scanTimestamp = Get-Date
$repoCount = 0
$dirtyFileCount = 0

Get-ChildItem -Directory -Recurse | ForEach-Object {
    if (Test-Path "$($_.FullName)\.git") {
        $repoCount++

        $status = git -C $_.FullName status --porcelain

        if ($status) {
            Write-Host "`n$($_.FullName)" -ForegroundColor Yellow
            $status

            $dirtyFileCount += @($status).Count
        }
    }
}

Write-Host "`n===== Git Repository Scan Summary =====" -ForegroundColor Cyan
Write-Host "Scan timestamp: $($scanTimestamp.ToString('yyyy-MM-dd HH:mm:ss'))"
Write-Host "Repositories scanned: $repoCount"
Write-Host "Total dirty files: $dirtyFileCount"

```

I first verified the effectiveness of this command on our dev server (which I know has "dirty files") and received the following output:

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/9/5/957b74fb3669d5032bb7fb907c9056d2b9481eae.png)

I repeated this command in our test server and confirmed there were no "dirty files":

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/3/5/3596027624c2244646f19c07b14e7e5dc2c44a94.png)

I proceeded then to run scan File system which resulted in all projects on the gateway restarting (even though there was no file changes)

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/1/b/1bd9e364e6017aa9db4245478627593d8a43ccda.png)

**It seems like the `requestScan` command is restarting gateway scripts regardless of whether files are being changed:**

After rescanning, I repeated the above command and verified that there was no files changed as part of the file scan process:

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/5/f/5f797dc7b85b916b16872bc0e2d0b167d9b14eef.png)

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [October 6, 2026, 4:56pm UTC](https://forum.inductiveautomation.com/t/request-scan-granularity-and-risk/117340/9 "2026-10-06T16:56:25Z")

</div>

I opened an issue for this yesterday. I think that once you've pushed an external resource to a project, the last modification won't match until the resource is saved some time later in the Designer, and that is triggering the project restarts because the system thinks one of the project resources were modified.

In your setup where you only ever modify resources externally, eventually all projects will get caught up in this.
