When Shazzam launches Credential-less Discovery, it makes multiple copies of the input payload for each IP it scans. When a large number of IPs are alive but not active, the input payload can be large and making multiple copies for each IP can use hundreds of MB of memory causing slow response times.
Steps to Reproduce
- Scan an IP Range with the Shazzam batch size of OOB 5000 IP Addresses for at least 40 K IP Addresses.
- Most of the IP Addresses would lead to Credential-less Discovery being launched, meaning the Shazzam batch size would be sufficiently large, approximately 3 to 5 MB.
- Have Shazzam processing slow enough so that all eight worker threads are processing Shazzam inputs: One for each Shazzam input and each input with 5 K IP Addresses.
- Once the above condition matches and all eight worker threads are processing concurrently, observe the memory usage for each worker thread.
Reduce the Shazzam payload batch size for the schedules that you suspect will use Credential-less Discovery.
If the Credential-less Discovery feature is not intended to be used, set the property "mid.discovery.credentialless.enable" to false which will disable Credential-less Discovery.
Related Problem: PRB1336879