Details
-
Bug
-
Resolution: Fixed
-
Critical
-
None
-
Untriaged
-
1
-
Unknown
Description
There are several problems in lifecycle.go's tryBuildIndex() function:
- A partitioned index can cause newQuota to go negative, because every partition in INDEX_STATE_READY decrements this, whereas it should only be decremented once for the entire index. The negative quota will then trigger submission of all pending index builds at once.
- If the batchSize config parameter is reduced, this can also cause a negative newQuota value to occur with same side effect.
- If background build is disabled, a partitioned index will append defnId back onto pendingList N times instead of just once, where N is the number of partitions.
Attachments
Issue Links
- backports to
-
MB-46526 [BP MB-45350] tryBuildIndex() can submit all pending index builds at once due to negative quota
- Resolved