-
Notifications
You must be signed in to change notification settings - Fork 76
Comparing changes
Open a pull request
base repository: apache/pulsar-client-cpp
base: v3.5.1
head repository: apache/pulsar-client-cpp
compare: v3.6.0
- 17 commits
- 40 files changed
- 4 contributors
Commits on Mar 14, 2024
-
[feat] Add startPaused setting to consumer (#416)
### Motivation The Java client consumer has a setting called `startPaused`. If this is set to true, the created consumer will not fetch messages from the broker until resume is called. Currently, this setting does not seem to exist in the C++ client consumer, so I will add it.
Configuration menu - View commit details
-
Copy full SHA for 234a55d - Browse repository at this point
Copy the full SHA 234a55dView commit details -
Support customize vcpkg directory when INTEGRATE_VCPKG is ON (#417)
### Motivation Currently when INTEGRATE_VCPKG is ON, the CMAKE_TOOLCHAIN_FILE variable is always a subdirectory of `${CMAKE_SOURCE_DIR}/vcpkg`. We can only customize the vcpkg directory when INTEGRATE_VCPKG is OFF, while the legacy CMake logic is incompatible with this way. ### Modifications When INTEGRATE_VCPKG is ON, only set CMAKE_TOOLCHAIN_FILE if it's not defined. The workflow and README are updated for it.Configuration menu - View commit details
-
Copy full SHA for 8218717 - Browse repository at this point
Copy the full SHA 8218717View commit details
Commits on Mar 17, 2024
-
Fix broken wireshark build workflow on macOS (#414)
### Motivation See https://github.com/apache/pulsar-client-cpp/actions/runs/8276076995/job/22644077705 ``` Error: The `brew link` step did not complete successfully The formula built, but is not symlinked into /usr/local Could not symlink bin/2to3 ``` `brew install` failed because the wireshark dependency depends on python@3.12 and it failed at `brew link`. ### Modifications Remove the existing binaries that might conflict.
Configuration menu - View commit details
-
Copy full SHA for c513f29 - Browse repository at this point
Copy the full SHA c513f29View commit details
Commits on Mar 18, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 788227e - Browse repository at this point
Copy the full SHA 788227eView commit details
Commits on Mar 27, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 763b85c - Browse repository at this point
Copy the full SHA 763b85cView commit details
Commits on Mar 28, 2024
-
Fix wrong results of hasMessageAvailable and readNext after seeking b…
…y timestamp (#422) Fixes #420 It's a catch-up for apache/pulsar#22363
Configuration menu - View commit details
-
Copy full SHA for 27d8cc0 - Browse repository at this point
Copy the full SHA 27d8cc0View commit details
Commits on Apr 6, 2024
-
fix: Incorrect acknowledgment behavior in the listener of the multi-t…
…opic consumer. (#423) ### Motivation apache/pulsar-client-node#371 ### Modifications - Add the message to the unacknowledged tracker before call the listener. ### Verifying this change - Add `testMultiConsumerListenerAndAck` to cover it.
Configuration menu - View commit details
-
Copy full SHA for 3f0b33b - Browse repository at this point
Copy the full SHA 3f0b33bView commit details
Commits on Jun 4, 2024
-
Support seek operation on a multi-topics consumer (#426)
### Motivation See apache/pulsar-client-python#213 ### Modifications Add a new `forEachValue` overload that allows users to count the number of rest running tasks through `SharedFuture` to `SynchronizedHashMap`. Leverage this overload in seek operations when the argument is a timestamp, or a MessageId that represents earliest or latest. When the argument is a MessageId whose `getTopicName()` method returns a correct topic name, seek on the internal consumer of that topic. Add `testMultiTopicsSeekAll` and `testMultiTopicsSeekSingle` to `ConsumerSeekTest` to cover these cases.
Configuration menu - View commit details
-
Copy full SHA for 37bdf5b - Browse repository at this point
Copy the full SHA 37bdf5bView commit details
Commits on Jun 17, 2024
-
Log the default location of trusted CA certificates when tlsTrustCert…
…sFilePath is not specified (#429) ### Motivation Currently when `tlsTrustCertsFilePath` is not specified, default locations of CA certificates will be used. However, these paths are determined by the compile option when building OpenSSL and they are invisible to users. If the OS uses a different path, the TLS connection will fail with no helpful error message.
Configuration menu - View commit details
-
Copy full SHA for 739f0f0 - Browse repository at this point
Copy the full SHA 739f0f0View commit details
Commits on Jun 24, 2024
-
Use Rocky Linux 8 and vcpkg to build RPM packages (#428)
### Motivation See https://lists.apache.org/thread/7o8hpv1gtoffvzx053wm0ss2s9xt0795, we will discard the support for CentOS 7 and old `std::string` ABI. ### Modifications - Switch from `centos:7` image and GCC 4.8 to `rockylinux:8` image and GCC 8 to build RPM packages. - Use vcpkg to install dependencies according to `vcpkg.json` (`dependencies.json` will be deprecated in future) - Add a new script to build `libpulsarwithdeps.a` for dependencies installed by vcpkg - Link to `libstdc++` and `libgcc_s` libraries statically Additional, with vcpkg, OpenSSL will search `/etc/ssl/certs.pem` for the default CA certificate rather than `/usr/local/ssl/ssl/certs.pem`.
Configuration menu - View commit details
-
Copy full SHA for 8aab896 - Browse repository at this point
Copy the full SHA 8aab896View commit details
Commits on Jul 4, 2024
-
Add -Bsymbolic link option to avoid symbol interposition (#432)
### Motivation There is a case that `libpulsar.so` could unexpectedly call functions from other dependencies. For example, assuming the application depends on two libraries: - `libpulsar.so`, which includes the symbols from `libcurl.a` 8.4.0 - `libfoo.so`, which includes the symbols from `libcurl.a` 7.82.0 If the link order is `libfoo.so` first, then the libcurl definitions from 7.82.0 will also be used by `libpulsar.so` and then the application might crash due to the incompatibility. This is an issue specifically with Linux ELF format. ### Modifications Add the `-Wl,-Bsymbolic` link option for GCC.
Configuration menu - View commit details
-
Copy full SHA for d736a1b - Browse repository at this point
Copy the full SHA d736a1bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 35bf161 - Browse repository at this point
Copy the full SHA 35bf161View commit details
Commits on Jul 22, 2024
-
feat: expose partitions update interval configuration to C client (#437)
* feat: expose partitions update interval configuration to C client * code format
Configuration menu - View commit details
-
Copy full SHA for 2a69168 - Browse repository at this point
Copy the full SHA 2a69168View commit details
Commits on Aug 13, 2024
-
Fix consumer might not subscribe after a reconnection (#438)
Fixes #436 ### Motivation When a consumer starts grabbing the connection, it registers a timer after the operation timeout. When that timer is expired, it will fail the connection and cancel the connection timer. However, it results a race condition that: 1. The consumer's connection is closed (e.g. the keep alive timer failed) 2. The connection timer is registered on the executor and will trigger the reconnection after 100ms 3. The connection timer is cancelled, then the reconnection won't start. ### Modifications Cancel the `creationTimer_` once `HandlerBase#start` succeeded first time. Add `testReconnectWhenFirstConnectTimedOut` to cover this case.
Configuration menu - View commit details
-
Copy full SHA for 5940cb5 - Browse repository at this point
Copy the full SHA 5940cb5View commit details
Commits on Aug 21, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 2ec734b - Browse repository at this point
Copy the full SHA 2ec734bView commit details
Commits on Aug 28, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 8df0acd - Browse repository at this point
Copy the full SHA 8df0acdView commit details
Commits on Aug 29, 2024
-
Fix buffer overflow for non-batched send when the message metadata si…
…ze exceeds 64KB (#443) See apache/pulsar-client-python#223 ### Motivation Currently a shared buffer is used to store serialized message metadata for each send request. However, its capacity is only 64KB, when the metadata size exceeds 64KB, buffer overflow could happen. ### Modifications When the metadata size is too large, allocate a new buffer instead of using the shared buffer. Add `testLargeProperties` to cover it. (cherry picked from commit 8f269e8)
Configuration menu - View commit details
-
Copy full SHA for aba8d6d - Browse repository at this point
Copy the full SHA aba8d6dView commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff v3.5.1...v3.6.0