brpc icon indicating copy to clipboard operation
brpc copied to clipboard

brpc is an Industrial-grade RPC framework using C++ Language, which is often used in high performance system such as Search, Storage, Machine learning, Advertisement, Recommendation etc. "brpc" means...

Results 414 brpc issues
Sort by recently updated
recently updated
newest added

问题: brpc server持续下载,使用brpc::ProgressiveReader,如何实现:若后端一段时间内没有发送新的数据到brpc server,就断开与后端的连接

feature

**Is your feature request related to a problem?** **Describe the solution you'd like** 在GPU上训练时使用brpc的RDMA传输,期望使用GDR能力,直接将**RPC请求**写入到GPU的buffer中,再通过cudamemcp或者gdrcopy从GPU上拷贝出协议部分进行解析,以减少CPU和GPU之间的数据传输。 **Describe alternatives you've considered** 进行的尝试: 将block_pool.cpp中的BlockPool替换成了通过cuda分配的显存,但在使用IOBuf时,会在分配出来的内存上进行placement new, ![Image](https://github.com/user-attachments/assets/956be465-714f-45e1-af0b-2f5a06337568) 而这导致CPU直接访问显存,产生core dumped 因此,有以下三种想法: 1.修改block_pool.cpp,新增一个ObjectPool用于分配Block的实体,将Block的data指向BlockPool -> 即 Block的实体部分 与...

feature

假设我在第一个任务中修改了一个堆上的变量,或者说一个全局变量,在第二个任务中一定能看到这个变量的修改吗?

**Describe the bug** `root@f9269de0e3d8:~/github/brpc/example/grpc_c++/build# ./client --protocol=h2:grpc --server=127.0.0.1:9080 --payload_size=200012 --max_retry=0 --timeout_ms=1000 --h2_client_stream_window_size=40000000 --h2_client_connection_window_size=50000000 I1107 07:58:44.008261 77805 0 /root/github/brpc/src/brpc/socket.cpp:2865] GetAgentSocket: 1 W1107 07:58:44.010063 77812 4294969089 /root/github/brpc/src/brpc/policy/http_rpc_protocol.cpp:397] HTTP response status code: 500 E1107...

### What problem does this PR solve? - Avoids allocator hangs that may occur after calling the C++ API `MallocExtension::instance()->ReleaseFreeMemory()` on some tcmalloc versions/distros. - Adds automated verification to ensure...

**Describe the bug** 目前,BRPC在选择RDMA设备的GID时,其流程是首先通过ibv_query_port获取GID表的大小(gid_tbl_len),进而通过ibv_query_gid从高索引到低索引反向遍历该表,并选择首个可用的GID。 问题在于,当容器需要RDMA能力时,需要ip link add新设备并配置ip,指定ipvlan master为主网卡eth0,系统会动态地向宿主机的RDMA设备GID表中添加新的条目。在单一宿主机上部署多个容器时,每个容器都会向同一张GID表添加其条目。 此时,若用户未显式指定gid_index,BRPC的通用遍历逻辑会扫描整个GID表。由于缺乏容器级别的隔离感知能力,该逻辑可能使一个容器错误地选中属于另一个容器的GID,导致在初始化时报错: ``` W1017 15:55:46.241584 10770 4294969345 src/brpc/rdma/rdma_endpoint.cpp:1237 BringUpQp] Fail to modify QP from INIT to RTR: No such device W1017 15:55:46.241602 10770...

### What problem does this PR solve? Issue Number: Problem Summary: ### What is changed and the side effects? Changed: Side effects: - Performance effects: - Breaking backward compatibility: ---...

**Is your feature request related to a problem?** Brpc compiled failed under mips64 platform (loongson CPU). can we support it ? **Describe the solution you'd like** Maybe reference `https://github.com/boostorg/context/tree/develop/src/asm `...

feature

**Describe the bug** Trace ``` AddressSanitizer:DEADLYSIGNAL ================================================================= ==2254==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000080 (pc 0x580c24e915de bp 0x7ffc678077b0 sp 0x7ffc67807780 T0) ==2254==The signal is caused by a READ memory access....

bug

**Describe the bug** When using a GRPC client to call a brpc server with redis protocol enabled, the client will failed with `code = Unavailable desc = connection closed before...

bug