FeedSlaveThread uses blocking connection in libevent improperly
- Dominant language
- C++
- Stars
- 4.4k
- Forks
- 658
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 10
Description
### Search before asking
- [x] I had searched in the [issues](https://github.com/apache/kvrocks/issues) and found no similar issues.
### Motivation
Let's created a separate issue to track: https://github.com/apache/kvrocks/issues/3097#issuecomment-3153004778
In theory, we should only use non-blocking socket in bufferevent. However, we are now essentially using a blocking socket in the read callback for `FeedSlaveThread`
### Solution
_No response_
### Are you willing to submit a PR?
- [x] I'm willing to submit a PR!
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by locating FeedSlaveThread and its libevent bufferevent read callback, then review the discussion in issue #3097. Trace how the socket is configured and used during the callback; done means the FeedSlaveThread path no longer performs blocking socket operations through bufferevent.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- databases, distributed-systems, networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 45/100