Skip to content

Bind client ip#4

Open
wenjiecn wants to merge 25 commits intomasterfrom
bind_client_ip
Open

Bind client ip#4
wenjiecn wants to merge 25 commits intomasterfrom
bind_client_ip

Conversation

@wenjiecn
Copy link
Owner

What problem does this PR solve?

Issue Number: resolve

Problem Summary:

What is changed and the side effects?

Changed:

Side effects:

  • Performance effects:

  • Breaking backward compatibility:


Check List:

wenjiecn and others added 22 commits November 1, 2025 01:09
* Add pthread CPU affinity support

* combine thread_affinity and cpu_set into one flag

* review & Support MACOS thread affinity

---------

Co-authored-by: m30070657 <maowenjie12@h-partners.com>
* Support shared mbvar

* Update document
…pache#3138)

* Implemented Couchbase binary protocol support

* added support for single connection type for couchbase

* removed unnecessary cout statements

* added protocol code for helo packet

* fixed vbucketID code for identification, fixed add and get functions

* Added test cases for threaded get and add functions

* Added Error Handling code and made upsert and delete examples

* added makefile for example/couchbase_c++

* fixed bugs in couchbase header files

* Added License and formatted to google c++ norms

* fixed bugs, added support for collections and added couchbase_client.md

* fixed license issue

* added custom logic for caching collectionIDs

* added caching of collection manifests

* Added example code for multithreaded demonstration

* updated CMake

* Abstracted CRUD operations

* Added pipeline/batching support

* commented unused variables

* Updated support for C++17

* fixed some issue.

* Using Mutex instead of shared lock to support c++11

* Formatted code to google c++ format

* Introduced local cache per-instance of CouchbaseOperations and added functionality to handle server side manifest updates.

* Delete MODULE.bazel.lock

Unnecessary file

* Fixed bugs in local collection cache and collection refresh logic

* remove recurring statements

* Fixed bugs/repetitive calls to refreshing manifest on server

* Formatted function/variable naming scheme and formatted code in c++ google format

* removed unnecessary code

* updated comments

* updated comments

* updated documentation

* updated documentation

* updated documentation

* updated documentation

* Updated documentation

* Updated documentation

* Update documentation

* Added features and fixed bugs in multithreaded environment

Using connection_groups to differentiate between connections across CouchbaseOperations instances to different buckets.

Renamed CollectionManifestTracker class to CollectionManifestManager and all the related functionality inside it as before refreshing method was outside this class

Added two different authenticate method authenticate(not secure) and authenticateSSL(secure)

* Updated multithreaded and single threaded code.

Added an example where a single instance is being shared across the threads when operating on single bucket.

* updated documentation

updated the documentation on thread safe operations and fixed small small discrepancies.

* removed commented code and updated readme to have links for cluster download certificate

* removed unused code.

* Added traditional bRPC coding approach

Traditional bRPC coding approach doesn't uses high level functions but provides more control to the user

fixed formatting issues.

fixed the bug in couchbase.cpp where logic to check the cache is empty was inverted

* updated couchbase_example.md

* added unit test cases

* removed using namespace std from couchbase.h

* restored original CMakeLists.txt
The bthread name is shown when checking bthread status by curl
ip:port/bthreads/xxx, which helps to debug when bthread trace is not
enabled.
There are two kinds of problems:
1. signed number overflow is undefined behavior;
2. vsnprintfT may return E2BIG instead of EOVERFLOW.
* feat: support more ssl verify mode

* 1
This commit adds full support for RISC-V 64-bit architecture to brpc.

Changes include:
- Add RISC-V atomic operations implementation
- Add RISC-V architecture detection in build system
- Add RISC-V context switching (bthread support)
- Add RISC-V clock cycle counter support (rdcycle)
- Update CMake and Makefile for RISC-V compilation

All core functionalities have been tested and verified in QEMU RISC-V
environment, including:
- Atomic operations (32-bit and 64-bit)
- Memory barriers
- Context switching
- Clock cycle counting

Co-authored-by: gong-flying <gongxiaofei24@iscas.ac.cn>
Co-authored-by: Haigang Xi <xhgang@blackwingasset.com>
* Bugfix: The failure of ibv_post_send is caused by polling send CQE before recv CQE

* Split send and recv comp channel

* Use wr_id to update _sq_window_size

* Send CQ and recv CQ share comp channel

* Add IMM window

* Deallocate polling cq

* Update RDMA documents
@wenjiecn wenjiecn force-pushed the bind_client_ip branch 3 times, most recently from 6cb6396 to c1c6e1a Compare January 5, 2026 03:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.