Details
-
Improvement
-
Resolution: Fixed
-
Critical
-
Cheshire-Cat
-
1
Description
UI makes /getIndexStatus REST API call every 5 seconds to indexer. Indexer gathers index information from all indexer nodes in the cluster and responds back.
With 1000s of indexes, this may not scale well and the CPU cost/garbage generated is expensive.
1. This REST API seems to be called even if UI is not being used. Is this required?
2. Is it possible to fetch the index list for a subset e.g. default scope/collection and rest could be fetched on demand?
3. Index Status(Ready/Created etc) and Stats(items etc) together make up the summary stats for each index line item on the UI. With prometheus, the stats will be fetched every 30 seconds(not sure if there is an option to change the interval on demand). This can make the whole index summary misleading as stats and status can be out of sync for 20-25 seconds.
4. We can discuss more sophisticated schemes e.g. /getIndexStatus can return only the list of changed indexes based on its cache, if it is feasible for UI to deal with it. UI will still have the option to fetch all, whenever required.