647 Commits

Author SHA1 Message Date
Weibing Wang a52c2b80ba Limit redis alloc size (#3050)
* Reapply "Add redis allocation size limit (#3035)"

This reverts commit d0f8f8fec6.

* Fix int overflow

* Update log
2025-08-02 16:18:22 +08:00
wwbmmm 632e46ed45 Revert "Add redis allocation size limit (#3035)"
This reverts commit 75341f896d.
2025-08-02 16:18:22 +08:00
Jerry Zhao 0dabee5b88 add inline redis protocol support (#3024)
* add inline redis protocol support

* complete code

* add check

* fix

* add inline unitest

* use find

* fix
2025-08-02 16:18:22 +08:00
Yang,Liming 95b7de3d40 bugfix: runtime extend block pool (#2965) 2025-07-23 10:20:53 +08:00
Bright Chen 1ff5f3fc5a Support generics for MultiDimension APIs (#3026)
* Support generics for MVariable api

* Update document
2025-07-23 10:14:05 +08:00
Weibing Wang 75341f896d Add redis allocation size limit (#3035)
* Add redis allocation size limit

* Fix compiler error

* Format code
2025-07-23 00:23:36 +08:00
Bright Chen bea48d75fe Bugfix: SignalTrace mode has memory and deadlock issues (#3019)
* Bugfix: SignalTrace mode has memory and deadlock issues

* Bugfix: Memory leak of SignalSync and wrong status of global priority bthread
2025-07-18 23:35:00 +08:00
Chen Chuanle 33c4396de7 Make unit tests runnable on macOS (#3018) 2025-07-06 23:27:14 +08:00
Paragrf e6d803efdc Fix the bug that the grpc protocol is incompatible with authentication(issue:#3001) (#3002)
* bugfix:Fixed the issue that grpc was blocked because the returned body could not be parsed by the client to get the correct error code after authentication failed

* add unitest for failure of auth

* change Controller* to Controller

---------

Co-authored-by: paragrf <guoruifeng@kanzhun.com>
2025-07-03 17:33:47 +08:00
Bright Chen 5bc6da6fe6 Bugfix: Socket without health check would be abnormally recycled (#3010) 2025-06-29 16:53:47 +08:00
Yang,Liming 663625a73b support checksum (#2967) 2025-06-20 14:16:35 +08:00
Chen Chuanle 10f8b24b96 Fix potential invalid memory access in StringSplitter (#2996) 2025-06-16 10:07:04 +08:00
Xiaochuan Ye c24e641009 Fix UT compilation errors with GCC 13 due to missing <cstdint> includes (#2979)
GCC 13 no longer transitively includes <cstdint> from other standard
library headers. This causes compilation failures for code using types
like uint32_t and uintptr_t without explicitly including <cstdint>.

This commit adds the missing #include <cstdint> directives to:
- test/baidu_thread_local_unittest.cpp
- src/bthread/list_of_abafree_id.h

The errors were:
- error: 'uintptr_t' was not declared in this scope
- error: 'uint32_t' does not name a type

This change ensures compatibility with GCC 13 while maintaining
backward compatibility with older compiler versions.

Reference: https://gcc.gnu.org/gcc-13/porting_to.html
2025-06-01 21:10:34 +08:00
Jade 5b0a6c1bda epoll bthread deal first (#2819)
* add global priority queue

* add parking lot license

* fix scale workers

* fix expected state

* add global priority queue

* fix setconcurrency ut error

* fix rebase error

* add global priority bthread flags

* deal some comments

* fix comments

---------

Co-authored-by: jiazheng.jia <jiazheng.jia@antgroup.com>
2025-05-22 10:14:06 +08:00
zhoukangsheng ffaa7ba627 feat: reduce the failure rate of brpc_load_balancer_unittest 2025-05-10 17:41:28 +08:00
Bright Chen 011dabe9c8 Make sure WeightedRandomizedLoadBalancer can traverse the whole server list (#2953)
* Make sure WeightedRandomizedLoadBalancer can traverse the whole server list

* Only mark unavailable server as traversed
2025-05-08 17:56:00 +08:00
Yang,Liming 3eb40413b2 iobuf support reserve_aligned (#2942) 2025-04-24 15:37:26 +08:00
Bright Chen a1877bc077 Support various payload of baidu-std: json, proto-json and proto-text (#2946)
* Support various payload of baidu-std: json, proto-json and proto-text

* Refactor implementation of compress
2025-04-16 17:03:30 +08:00
Sam Yuan f8eb9ec08e Nit enhance with const string (#2911)
* nit fix for using const

Signed-off-by: SamYuan1990 <yy19902439@126.com>

* as it just const string refactor

Signed-off-by: SamYuan1990 <yy19902439@126.com>

* fix up

Signed-off-by: SamYuan1990 <yy19902439@126.com>

* fix up

Signed-off-by: SamYuan1990 <yy19902439@126.com>

* fix up

Signed-off-by: SamYuan1990 <yy19902439@126.com>

* clean up

Signed-off-by: SamYuan1990 <yy19902439@126.com>

---------

Signed-off-by: SamYuan1990 <yy19902439@126.com>
2025-04-11 10:02:28 +08:00
Bright Chen 062594587f Disable CondTest.too_many_bthreads_from_bthread in asan ut (#2940) 2025-04-06 12:15:59 +08:00
Bright Chen f44f803a96 Fix asan switch fiber with error stack info (#2931)
* Fix __sanitizer_start_switch_fiber with error stack info

* Enable detect_stack_use_after_return in UT

* Fix reuse thread stack with asan
2025-04-02 20:27:41 +08:00
Bright Chen c7add74fab Support ProtoJson formatted http body (#2921) 2025-03-30 15:02:26 +08:00
Bright Chen 0c4f2a897c Fix some unstable UTs (#2928) 2025-03-28 23:13:42 +08:00
Bright Chen 7a7d1c83e5 Support AddressSanitizer (#2890)
* Support AddressSanitizer

* Add gperftools helper header
2025-03-26 20:07:45 +08:00
Bright Chen 5c8bd0643e Fix double free messages in baidu-std (#2924) 2025-03-23 14:07:22 +08:00
Bright Chen 1c5331459b Optimize zero copy of http body (#2915) 2025-03-21 23:48:14 +08:00
Bright Chen da4e33a6ee Support a more safe read function and variadic functions of DoublyBufferedData (#2898)
* Add a convenient and safe DoublyBufferedData::Read

* Optimize and add a UT

* Support variadic functions of DoublyBufferedData

* Fix Fn copy
2025-03-21 23:42:43 +08:00
Regal b4ce61f8f4 Fix format of prometheus service (#2899)
Fix PrometheusMetricsDumper to dump unique comment of a certain
metric name to follow the prometheus specification.
Also refine the prometheus ut case to support mvar output

Co-authored-by: Zhengwei Zhu <zheng_wei36@163.com>
2025-03-12 09:33:33 +08:00
Tanghui Lin cffbd243e5 keep session info in RedisConnContext (#2902)
* keep session info in RedisConnContext

* fix comment

* add uint test for redis ctx

* fix uinttest
2025-03-06 19:25:52 +08:00
Bright Chen 3e97efee97 Update ubuntu-20.04 to ubuntu-22.04 in CI (#2909) 2025-03-05 21:48:00 +08:00
Bright Chen 71184b03f1 Support bthread tracer with bazel (#2905) 2025-03-04 21:49:40 +08:00
Jenrry You 923d4137fe Support segment large stream messages automatically (#2889) 2025-02-17 12:58:13 +08:00
w-gc f65725709d fix memory leak issue #2871 (#2872)
* fix memory leak issue

* add comments

* refine

* refine

* fix

* continue to fix
2025-01-29 23:20:38 +08:00
Bright Chen c93d0e06f5 Fix gflag namespace (#2877) 2025-01-18 17:49:51 +08:00
Bright Chen 609676daf2 Support tcp user timeout of client 2025-01-12 19:14:30 +08:00
Bright Chen 4c33f88675 Support success limit of ParallelChannel (#2842)
* Support success limit of ParallelChannel

* Update document of ParallelChannel
2025-01-06 14:44:41 +08:00
Bright Chen a18463f6c3 Support task tracer (#2851)
* Support task tracer

* Opt signal trace

* Rename BRPC_VALIDATE_GFLAG to BUTIL_VALIDATE_GFLAG

* Update picture of document
2025-01-06 14:43:55 +08:00
Bright Chen 5c0341410c Remove redundant const of ThreadLocal (#2855) 2024-12-31 15:32:45 +08:00
Bright Chen 53026cdea1 Small FlatMap optimization with default initialization (#2620)
* Small FlatMap optimization

* Support optional
2024-12-09 09:57:38 +08:00
HU 0172f14137 Merge pull request #2811 from chenBright/log_stack
Support backtrace log
2024-11-09 21:14:27 +08:00
HU db22ab6858 Merge pull request #2813 from chenBright/max_stats
Support set_max_stats_count of MultiDimension
2024-11-09 20:51:36 +08:00
Bright Chen cf3d28f9df Support backtrace log 2024-11-05 22:35:37 +08:00
Bright Chen 60c30c6407 Support set_max_stats_count of MultiDimension 2024-11-04 21:46:05 +08:00
Jade e1bf467b20 set tags workers unlimitedly (#2801)
* set tags workers unlimitedly

* fix set concurrency test

---------

Co-authored-by: jiazheng.jia <jiazheng.jia@antgroup.com>
2024-10-31 10:13:43 +08:00
Xiaofeng Wang d39a490d9a add required headers to fix unittest compilation (#2787) 2024-10-16 10:02:35 +08:00
Bright Chen f4e00acc30 Support detection of mutex deadlock caused by double lock (#2765)
* Support detection of bthread mutex and FastMutex deadlock caused by double lock

* Support detection of pthread mutex deadlock caused by double lock
2024-10-13 20:37:53 +08:00
Bright Chen 9680d31edb Support timedlock of fast/hook pthread and bthread::Mutex (#2760)
* Support timedlock of fast/hook pthread and bthread::Mutex

* Disable bthread sche safety debug by default
2024-10-09 12:36:00 +08:00
Jingyuan d94c88f6b2 Optimize keytablelist implementation (#2768)
* Optimize keytablelist implementation

* fix

* add some ut and small fix

* add size in bthread_keytable_pool_t
2024-10-07 14:57:15 +08:00
Bright Chen 249bc514b2 Make bthread semaphore and rwlock noncopyable (#2773) 2024-10-07 14:52:20 +08:00
Bright Chen f17048e180 Support semaphore and rwlock for bthread (#2752)
* Support bthread semaphore

* Support bthread rwlock

* Support contention profiler for semaphore and rwlock
2024-09-26 10:49:23 +08:00