The review for the fix for
AMBARI-17510 brought up some interesting issues that should be investigated and addressed in a separate patch.
"Based on what we've seen, the requests to the LOGSEARCH endpoint don't return until the connection times out (which could be never depending on what's configured). This will then cause this Executor to fill it's queue with a backlog of requests.
Instead, maybe it would be better to:
- Only enqueue if the request isn't already enqueued
- Use a bounded executor and rejection policy"
This work will involve investigating the best approach towards limiting the possibility of duplicate requests being made to the LogSearch REST service, either by making a check prior to adding the request, or by using a bounded executor in the way described above.