[METRIC] Add wait in MetricStore interface #1684
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Related to #1660
這隻 PR 為
MetricStore
介面新增了等待的方法。在預設的做法中,會持續檢查 cluster bean 是否符合使用者的需求,直到時間限制到達為止。
在實作中,為了不做多餘的檢查,新增了一個 waiting list 。每當有新的等待出現時,便會註冊一個 checker 在 waiting list 中,metric store 內接收到新的 beans 後,就會去 waiting list 裡面檢查每一個 checker ,有符合,就可以把還在等待的 thread 喚醒。任何進來等待的 thread 都會在離開前取消註冊。