apache / apache/brpc

BUG? Response执行完先于IssueRPC中的bthread_id_unlock执行完毕的话, unlock会失败吧?

Open
#2,646 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
17.6k
Forks
4.1k
Avg merge
2d 12h
Merged PRs (30d)
69

Description

在写mongo客户端, 遇到了bthread_id_unlock_and_destroy先于bthread_id_unlock执行完毕的情况, 导致unlock失败

![image](https://github.com/apache/brpc/assets/17529657/77e7d9a0-9137-46d8-a9e2-f98b527207bb)
这句可能会在bthread_id_unlock_and_destroy之前执行完毕, 那么check会失败

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the reported Mongo client ordering around bthread_id_unlock and bthread_id_unlock_and_destroy, then inspect the IssueRPC response path shown in the report. Trace whether the response can finish before the unlock operation and identify why the check fails. Done means the ordering no longer causes unlock to fail, with a regression test covering the reported sequence.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
distributed-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.