Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[controller] Improved the perf of DaVinci push status polling for inc…
… push (#1059) Today, Controller would check push status system store partition by partition in the following way: 1. Iterate the partition by partition, and get all the subscribed DaVinci instances per partition. 2. Check whether instance partition status is completed or not. 3. If not, check the liveness of the instance to decide whether the status should be ignored or not. If one DaVinci store is being used in unpartitioned way, the total number of calls to push status system store for liveness check will be partition_num * host_num, which will be a very high number, which would timeout the Controller status polling request for inc push, which is still doing real-time status check against push status system store. With this change, Controller will skip the duplicate liveness calls, so that the total call count will be partition count + unique host name for each status polling request. The reason I didn't batch the requests as I would like to reduce the KPS to the push status store to avoid quota issue and with the reduction, the perf should be good enough.
- Loading branch information