fix: [3.0] bind file resource refCnt to collection lifecycle to prevent panic#48894
fix: [3.0] bind file resource refCnt to collection lifecycle to prevent panic#48894sre-ci-robot merged 4 commits intomilvus-io:3.0from
Conversation
|
[INFO] PR Label Summary by Default
[WARNING] Milestone not set
You can set milestone by commenting: Use /refresh-label to update related check and label manually |
|
[ci-v2-notice] To rerun ci-v2 checks, comment with:
If you have any questions or requests, please contact @zhikunyao. |
5487d79 to
44956b1
Compare
|
[INFO] PR Label Summary by Default
[WARNING] Milestone not set
You can set milestone by commenting: Use /refresh-label to update related check and label manually |
|
[INFO] PR Label Summary by Default
[WARNING] Milestone not set
You can set milestone by commenting: Use /refresh-label to update related check and label manually |
44956b1 to
d92306e
Compare
|
[INFO] PR Label Summary by Default
[WARNING] Milestone not set
You can set milestone by commenting: Use /refresh-label to update related check and label manually |
|
[INFO] PR Label Summary by Default
[WARNING] Milestone not set
You can set milestone by commenting: Use /refresh-label to update related check and label manually |
ceb10aa to
2241ded
Compare
|
[INFO] PR Label Summary by Default
[WARNING] Milestone not set
You can set milestone by commenting: Use /refresh-label to update related check and label manually |
|
[INFO] PR Label Summary by Default
[WARNING] Milestone not set
You can set milestone by commenting: Use /refresh-label to update related check and label manually |
aee90f3 to
79f4d90
Compare
|
[INFO] PR Label Summary by Default
[WARNING] Milestone not set
You can set milestone by commenting: Use /refresh-label to update related check and label manually |
|
[INFO] PR Label Summary by Default
[WARNING] Milestone not set
You can set milestone by commenting: Use /refresh-label to update related check and label manually |
Increment fileResourceRefCnt during validateSchema (when file resource IDs are resolved), rather than in the async ack callback's AddCollection. This closes the TOCTOU race window where RemoveFileResource could delete a resource between validation and AddCollection, causing streaming node to panic when creating the tokenizer. On failure before Broadcast, refCnt is decremented immediately. On restart, refCnt for pending broadcast tasks is recovered from etcd before rootcoord becomes Healthy. issue: milvus-io#48612 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: aoiasd <zhicheng.yue@zilliz.com>
…nt panic (milvus-io#48893) Signed-off-by: aoiasd <zhicheng.yue@zilliz.com>
Signed-off-by: aoiasd <zhicheng.yue@zilliz.com>
Signed-off-by: aoiasd <zhicheng.yue@zilliz.com>
b51d657 to
4360bdf
Compare
|
[INFO] PR Label Summary by Default
[WARNING] Milestone not set
You can set milestone by commenting: Use /refresh-label to update related check and label manually |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: aoiasd, zhengbuqian The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
[INFO] PR Label Summary by Default
Use /refresh-label to update related check and label manually |
|
/lgtm |
|
[INFO] PR Label Summary by Default
Use /refresh-label to update related check and label manually |
Summary
fileResourceRefCntduringvalidateSchemainstead of in the async ack callback'sAddCollection, closing the TOCTOU race whereRemoveFileResourcecould delete a resource between validation andAddCollectionBroadcast, refCnt is decremented immediately; on restart, refCnt for pending broadcast tasks is recovered from etcd before rootcoord becomes HealthyaddCollectionMetasince it's now done at validation time (reload path unchanged)Test plan
issue: #48612
pr: #48893
🤖 Generated with Claude Code