Looking at Network FolderItems Changed in 2018 R1

We have an application on-site with a client where we monitor a Novell Network drive for a file drop. In 2017 R3 a change is recognized within 3 seconds generally. The class (not written by me) has a timer period of a second.

In 2018 R1 the exact same code now takes on average of about 10 seconds to recognize that a file has appeared. While it’s not a big change it’s noticeable enough for the client to have me chase it down.

So…has anyone else seen this? Recommendations on a different technique to spot new files in this directory (I’ve been playing around with WindowsFolderChangeMBS but haven’t heard back from client on if it’s any better).

In 2018 R1 there is feedback://showreport?report_id=22987 which is titled “FolderItem.Exists always returns False for network share” I would be there was some change that’s causing my app to be slow now.

Hi Bob

Is your app slow to detect the change or is it hanging while executing FolderItem.Exists?

We had one customer using our system (built with Xojo 2015 I think) who reported very poor performance when one of our Windows services accessed their Samba server. After some in-depth investigation we discovered that their network / server was very congested and doing anything with folderitems would often hang the app for up to 30 seconds!

We ended up writing our own class that implemented a subset of FolderItem using path strings, Windows declares and MBS functions and the problem just about went away.

We ran out out of time to investigate the cause any further but I have a feeling that FolderItems are using too many OS calls which causes them to be very inefficient.

Maybe that bug was fixed by sending more OS calls causing the slowdown. It might be worthwhile seeing if you can find an alternative way to probe the file system.

We also have method to open a Windows share and it’s now failing for some reason (or it take long time).
I believe it’s a similar issue and and something changed for sure.

If I get more information on it I will share here.

It’s just slow to detect the change. The app is definitely not hanging.