Excessive folder scans triggered by data that should be ignored

Server Version#: “plexinc/pms-docker:plexpass” / 1.22.1.4228-724c56e62
Player Version#: 1.29.1.1974-a65b3ef3

There is a simple problem, but no answer anywhere. At least can’t find any. It’s really simple.
I have a folder XYZ, it’s location is /mnt/data/XYZ. And it is treated by plex as “Other Videos”.
The contents of this folder are mainly folders that are two levels deep.
/mnt/data/XYZ/user1/123456, /mnt/data/XYZ/user1/654321, /mnt/data/XYZ/user2/988766
On all levels at least one .json file is located and is updated at varying times but quite often.
The deepest folders often contain videos, images and some other things including the .json.

There is a /mnt/data/XYZ/.plexignore with a single *.json entry.
The server has partial scanning enabled. It seems that “detect changes” and “partial scanning” option does not consider the .plexignore in the root of the library as important as I do and kinda fills up the damn plex queue with thousands of paths to be scanned, which take their sweet time depending on the speed of the drives, remote drives and the resources that the system has.

A really small excerpt from the logs of one Library, kinda ignoring the .plexignore.

Mar 27, 2021 04:08:13.891 [0x7fc47bfff700] INFO - Library section 27 (XYZ) will be updated because of a change in "/mnt/data/XYZ/user1/438821/metadata.json"
Mar 27, 2021 04:08:16.806 [0x7fc47bfff700] INFO - Library section 27 (XYZ) will be updated because of a change in "/mnt/data/XYZ/user1/438818/metadata.json"
Mar 27, 2021 04:08:19.923 [0x7fc47bfff700] INFO - Library section 27 (XYZ) will be updated because of a change in "/mnt/data/XYZ/user1/438814/metadata.json"
Mar 27, 2021 04:08:28.468 [0x7fc47bfff700] INFO - Library section 27 (XYZ) will be updated because of a change in "/mnt/data/XYZ/user2/metadata.json"
Mar 27, 2021 04:08:33.952 [0x7fc47bfff700] INFO - Library section 27 (XYZ) will be updated because of a change in "/mnt/data/XYZ/user2/654224/metadata.json"
Mar 27, 2021 04:08:37.856 [0x7fc47bfff700] INFO - Library section 27 (XYZ) will be updated because of a change in "/mnt/data/XYZ/user2/618701/metadata.json"
Mar 27, 2021 04:08:40.889 [0x7fc47bfff700] INFO - Library section 27 (XYZ) will be updated because of a change in "/mnt/data/XYZ/user2/577399/metadata.json"
Mar 27, 2021 04:08:45.717 [0x7fc47bfff700] INFO - Library section 27 (XYZ) will be updated because of a change in "/mnt/data/XYZ/user2/536504/metadata.json"
Mar 27, 2021 04:08:50.731 [0x7fc47bfff700] INFO - Library section 27 (XYZ) will be updated because of a change in "/mnt/data/XYZ/user2/500304/metadata.json"
Mar 27, 2021 04:08:54.883 [0x7fc47bfff700] INFO - Library section 27 (XYZ) will be updated because of a change in "/mnt/data/XYZ/user2/479953/metadata.json"
Mar 27, 2021 04:08:59.129 [0x7fc47bfff700] INFO - Library section 27 (XYZ) will be updated because of a change in "/mnt/data/XYZ/user2/470304/metadata.json"
Mar 27, 2021 04:09:03.422 [0x7fc47bfff700] INFO - Library section 27 (XYZ) will be updated because of a change in "/mnt/data/XYZ/user2/458384/metadata.json"
Mar 27, 2021 04:09:07.582 [0x7fc47bfff700] INFO - Library section 27 (XYZ) will be updated because of a change in "/mnt/data/XYZ/user2/451268/metadata.json"
Mar 27, 2021 04:09:10.540 [0x7fc47bfff700] INFO - Library section 27 (XYZ) will be updated because of a change in "/mnt/data/XYZ/user2/441887/metadata.json"
Mar 27, 2021 04:09:16.040 [0x7fc47bfff700] INFO - Library section 27 (XYZ) will be updated because of a change in "/mnt/data/XYZ/user2/439284/metadata.json"
Mar 27, 2021 04:09:21.861 [0x7fc47bfff700] INFO - Library section 27 (XYZ) will be updated because of a change in "/mnt/data/XYZ/user2/438113/metadata.json"

I guess you know what the question is.
How the ■■■■ do I stop plex from spending 90% of it’s ■■■■■■■ time scanning folders which normally shouldn’t be scanned, just because it can’t be bothered to honor the .plexignore in the root of the Library?
I mean sure, most of the plex internal things will sort themselves out, but it will take a long ass time.
Some time sensitive metadata scrapes will miss their scraping window and some data will be gone forever.
Then there are automation jobs that run against plex and fail half the time or more due to request timeouts, because plex is busing sitting there in a scan lop the most part of the day.

Been happening for years, but it got worse with the amount of data I have.
So unless I messed up somewhere, how hard can it be to apply a function that probably already exists to the part of the code that does change detection?

Note: Many text editors (e.g. Notepad and Text Edit) will save files with a .txt extension by default. In such a case, you’ll need to manually rename the file to .plexignore exactly by removing the extension. (If you leave it as “plexignore.txt” or “.plexignore.txt” it will not work.)

From their docs and it really can happen with Windows users.

Just in case someone doesn’t notice the tags and the first line of the post, linux, x86_64.
And just to make sure:

  • yes, the file is named as I stated
  • yes, the permissions are right and match that of the container
  • yes, the user ID matches that of the container
  • no, the container doesn’t run in unprivileged mode

Pretty sure that’s it for permissions and whatever is fs related.

I have a lot of time and patience.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.