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

**Is your feature request related to a problem? (你需要的功能是否与某个问题有关?)** tools工具下有个`gdb_bthread_stack.py`脚本,但是需要gdb attach,会导致gdb挂起,而且性能非常挫,bthread是否可以加一个STW,然后打印bthred stack,类似golang runtime中的实现。 **Describe the solution you'd like (描述你期望的解决方法)** **Describe alternatives you've considered (描述你想到的折衷方案)** **Additional context/screenshots (更多上下文/截图)**

demo program: `#include #include int main() { char *ptr = (char *)tc_malloc(sizeof(char)); if(ptr){ printf("tcmalloc works failed!\n"); } tc_free(ptr); printf("tcmalloc works fine.\n"); return 0; }` Execution issues after cross compilation: ldd...

**Describe the bug (描述bug)** brpc/example/multi_threaded_echo_c++ 启动brpc服务端,启动brpc客户端进行压测,thread_num为200,在同一台主机上启动多个客户端,系统CPU始终占不完,top命令查看,最多只能占用到85%左右,还有10%+的idle. server进程的CPU占用在1700%左右。如果启动两个server,一个监听8002端口,一个监听8003端口,在同一台主机上分别启动多个客户端对这两个server进行压测,加大压力,系统CPU还是只能占到85%左右,此时两个server进程的CPU占用合起来在1700%左右。看起来像是rpc服务端受到什么系统资源的限制,压测时无法占满主机的CPU,调整client.cpp中的attachment_size和request_size大小还是如此,压测无法将主机CPU资源占满 **To Reproduce (复现方法)** 见 (描述bug) **Expected behavior (期望行为)** 同一台主机,加大客户端压力,可以压满主机的CPU;或者启动不同的rpc服务端,分别进行压测,可以压满主机的CPU **Versions (各种版本)** OS: Linux optane152 Compiler: gcc version 8.3.0 (GCC) brpc: 当前git上最新版本的代码 protobuf: **Additional...

performance

**Describe the bug (描述bug)** 通过如下代码获取 bvar::Variable::describe_exposed("process_cpu_usage"); 获取到的 process_cpu_usage 与 brpc 内部监控页面获取的数值不一致且有延迟,请问是我使用的方式不对吗? **To Reproduce (复现方法)** **Expected behavior (期望行为)** **Versions (各种版本)** OS: Compiler: brpc: protobuf: **Additional context/screenshots (更多上下文/截图)**

**Describe the bug (描述bug)** streaming模式下,server向client推流,message较大,每次StreamWrite 16M, 两个client同时发起echo调用,server同时向两个client推流,其中一个client会报错: `I20230914 02:58:02.964776 24499 client.cpp:45] One message: size=16777216 I20230914 02:58:02.964805 24499 client.cpp:49] [144]Received from Stream=1: size = 16777216 I20230914 02:58:03.004117 24499 client.cpp:45] One message:...

**Describe the bug (描述bug)** 项目中同时使用milvus(依赖grpc)和brpc会出错 项目里的protobuf版本会冲突 **To Reproduce (复现方法)** **Expected behavior (期望行为)** **Versions (各种版本)** OS: Compiler: brpc: protobuf: **Additional context/screenshots (更多上下文/截图)**

**Describe the bug (描述bug)** 怎么理解lalb文档里面关于base_weight的下面这句话的描述? '除了待删除节点,所有节点的权值绝对不会为0。' https://github.com/apache/brpc/blob/master/docs/cn/lalb.md 因为根据 https://github.com/apache/brpc/issues/820 , base_weight是有可能为0值的 **To Reproduce (复现方法)** **Expected behavior (期望行为)** **Versions (各种版本)** OS: Compiler: brpc: protobuf: **Additional context/screenshots (更多上下文/截图)**

注入网络重启故障 network restart,brpc channel发送rpc request一直超时 日志一直打印:[E112]Not connected to xxxx yet 对应代码位于:Controller::IssueRPC ![image](https://user-images.githubusercontent.com/13553842/222721053-adef5162-f6db-46c9-8774-25c056b248b8.png) brpc版本:0.9.7 bvar看channel是broken的,这样导致brpc一直无法自动恢复。有点像是socket管理的bug,broken的channel没用调用connect重连