How does Cisco UCCE Task Routing take MRD's max calls in queue setting into account or does it?
Seems that at the SocialMiner level, there's limit of 10,000 queuing tasks in total, but if there's multiple MRDs configured and some of those with lower max calls in queue setting and that exceeds, does SocialMiner throttle tasks to that specific MRD and discard request with NOTIFICATION_RATE_LIMITED even if total limit of 10,000 has not been reached yet?
It is true that SocialMiner implements throttling of incoming tasks backed by a queue of size 10,000. However, the throttling in SocialMiner is not specific to any MRD and not influenced by any max calls setting made in MRDs in CCE. It applies overall to all tasks injected across all MRDs, and the allowed rate is a constant 375 tasks per minute.
Any incoming tasks that get throttled (due to the above rate limit) will be backed-up in the queue (of size 10,000). SocialMiner will continue accepting new tasks via the REST API and attempts to push them as MR tasks into the MR PG as long as SocialMiner's global throttling limit for all tasks (irrespective of MRDs) is not exceeded.
SocialMiner does not adapt the injection of tasks into MR PG based on whether any specific MRD has free slots or not.
The whole notion of throttling in SocialMiner (and the backing queue behind this throttler) is to protect and offer stable behavior in the case of burst loads that might momentarily exceed the constant throttle.