| Products | Versions |
|---|---|
| TIBCO ActiveMatrix BusinessWorks | 6.12 |
| TIBCO ActiveMatrix BusinessWorks | 6.12 |
Starting BW 5.16.1 HF-6 and BW 6.12 HF-4, TIBCO has introduced a directory watcher as part of license standardization changes, which performs license validation based on license file changes. This creates a separate inotify instance for each application resulting in the default user limit for inotify of 128 being exhausted.
The following command can be used to obtain the current inotify watcher instance count:
find /proc/*/fd -lname anon_inode:inotify 2>/dev/null | wc -l
Customers can use this to obtain the number of watchers created by apps other than BW on their server.
The recommended solution is to ensure that sufficient resources are available. You will need to increase the max_user_instances value at the OS level. We recommend coordinating with your OS team to implement this change. Since a separate inotify instance is created for each application, we would suggest increasing the value to at least equal to or greater than the number of deployed application on the server. This can be subjective to customer environment and the appropriate value would need to be determined by customers themselves by doing an internal analysis.
Each file watch takes up 540 bytes (32-bit) or ~1kB (64-bit). So even if you have set the value to 1000, this would mean a memory consumption of ~1MB in a 64 bit system.
Ref: https://man7.org/linux/man-pages/man2/inotify_add_watch.2.html
The following error is being encountered post BW 5.16.1 HF-6 and BW 6.12 HF-4:
java.io.IOException: User limit of inotify instances reached or too many open files