Search

GlobalSCAPE Knowledge Base

Files dropped into subfolders are not detected by Folder Monitor rule

Karla Marsh
EFT Express (SMB) & Enterprise

THE INFORMATION IN THIS ARTICLE APPLIES TO:

  • EFT v6.3 and later

SYMPTOM

A Folder Monitor Event Rule of a network share works when files are dropped into the monitored folder; however, files dropped into subfolders are not detected even with the Include Subfolders option enabled. Folder Monitor detection works when it is pointed directly to subfolder. Permissions are set correctly.

WORKAROUND

EFT uses the Server Message Block (SMB) protocol to monitor remote folder shares with the FindFirstChangeNotification function. In this mechanism, EFT acts a client making an outbound long-term connection to a remote file server. If an Isilon-based network share is being used, you must enable the SMB Performance Setting for Change Notify: All, as shown below.

The Event Rule has to be disabled and re-enabled after this change takes place to begin functioning normally (i.e., to re-establish the Folder Monitor SMB subscription). Alternatively, you can restart the Site or Server service.

The default setting for the change notification option is Change Notify: Nonrecursehttp://doc.isilon.com/onefs/7.1.1/help/en-us/GUID-A378F153-450F-40CA-A45A-06FE1EFA178C.html

With the default setting, the SMB subscription notification will only respond to the folder being monitored, not recursively into the subfolders.

MORE INFORMATION

When a file is dropped into a network share subfolder (e.g., \\NetworkShare\globalscape$\EFTRoot\MySite\test\Test), it appears the SMB notifications that indicate "file added/created is not being sent across properly.

12-19-16 11:08:28,445 [5764] TRACE Events.FolderMonitor <> - CDirectoryWatcher::ValidateAndProcessChanges() invoked.

12-19-16 11:08:28,445 [5764] TRACE Events.FolderMonitor <> - CDirectoryWatcher::ProcessChanges() invoked.

12-19-16 11:08:28,461 [5764] TRACE Events.FolderMonitor <> - CDirectoryWatcher::ProcessChanges() finished with notification parsing; sending changes for processing by parent.

12-19-16 11:08:28,461 [5764] TRACE Events.FolderMonitor <> - CDirectoryWatcher::SendChanges() is posting change for processing in event 'Folder monitor test Copy' to IOCP.

12-19-16 11:08:28,461 [6856] TRACE Events.FolderMonitor.MySite <> - CFolderMonitorFactory::Impl::IoCompletionProc() awakened with valid Monitor Folder object.

12-19-16 11:08:28,461 [6856] TRACE Events.FolderMonitor.MySite <> - Processing this folder event.

12-19-16 11:08:28,461 [6856] TRACE Events.FolderMonitor.MySite.Folder_monitor_test_Copy <> - CFolderMonitor::ProcessFolderUpdates() for path \\NetworkShare\globalscape$\EFTRoot\MySite\test\Test sub with file system event 3

12-19-16 11:08:28,461 [6856] TRACE Events.FolderMonitor.MySite.Folder_monitor_test_Copy <> - CFolderMonitor::ProcessFolderUpdates() encountered FILE_ACTION_MODIFIED, but file is NOT in DEFERRED list, so we do nothing.

12-19-16 11:08:28,461 [6856] TRACE Events.FolderMonitor.MySite.Folder_monitor_test_Copy <> - CFolderMonitor::ProcessFolderUpdates() has finished processing notification structure.

Based on the packet captures, it appears as if the SMB file-created notifications are not sent across to EFT as expected/required when file activity is performed into a subfolder:

By comparison, when a file is dropped into the specific path of the folder monitor for the network share, not a subfolder (e.g., \\NetworkShare\globalscape$\EFTRoot\MySite\test), the file change notification for file added is received properly:

12-19-16 11:17:46,685 [9636] DEBUG Events.FolderMonitor.MySite.Folder_monitor_test_Copy <File: \\NetworkShare\globalscape$\EFTRoot\MySite\test\New Text Document (2).txt> - Invoking event rule for file added
12-19-16 11:17:46,685 [6856] TRACE Events.FolderMonitor.MySite.Folder_monitor_test_Copy <> - CFolderMonitor::ProcessFolderUpdates() for path \\NetworkShare\globalscape$\EFTRoot\MySite\test\New Text Document.txt with file system event 1
12-19-16 11:17:46,685 [9636] DEBUG Events.FolderMonitor.MySite.Folder_monitor_test_Copy <File: \\NetworkShare\globalscape$\EFTRoot\MySite\test\New Text Document (2).txt Event: Folder monitor test Copy> - Conditions met. Executing event rule.
12-19-16 11:17:46,685 [6856] TRACE Events.FolderMonitor.MySite.Folder_monitor_test_Copy <> - CFolderMonitor::ProcessFolderUpdates() could obtain exclusive lock on file, so ready to process.
12-19-16 11:17:46,685 [6856] DEBUG Events.FolderMonitor.MySite.Folder_monitor_test_Copy <File: \\NetworkShare\globalscape$\EFTRoot\MySite\test\New Text Document.txt> - Processing file found by system notifications
12-19-16 11:17:46,685 [6856] TRACE Events.FolderMonitor.MySite.Folder_monitor_test_Copy <> - CFolderMonitor::ProcessFolderUpdates() for path \\NetworkShare\globalscape$\EFTRoot\MySite\test\New Text Document.txt with file system event 3
12-19-16 11:17:46,685 [6856] TRACE Events.FolderMonitor.MySite.Folder_monitor_test_Copy <> - CFolderMonitor::ProcessFolderUpdates() encountered FILE_ACTION_MODIFIED, but file is NOT in DEFERRED list, so we do nothing.
12-19-16 11:17:46,685 [6856] TRACE Events.FolderMonitor.MySite.Folder_monitor_test_Copy <> - CFolderMonitor::ProcessFolderUpdates() has finished processing notification structure.
12-19-16 11:17:46,685 [9636] DEBUG Events.FolderMonitor.MySite.Folder_monitor_test_Copy <File: \\NetworkShare\globalscape$\EFTRoot\MySite\test\New Text Document (2).txt Event: Folder monitor test Copy> - Finished executing event rule.
12-19-16 11:17:46,685 [9636] TRACE Events.FolderMonitor.MySite.Folder_monitor_test_Copy <File: \\NetworkShare\globalscape$\EFTRoot\MySite\test\New Text Document (2).txt> - Cleanup required for rule.

The packet capture contains quite a bit more information on the status of the file creation notification:

Details
Last Modified: 2 Years Ago
Last Modified By: kmarsh
Type: FIX
Rated 2 stars based on 1 vote
Article has been viewed 7K times.
Options
Also In This Category
Tags