apache / apache/pulsar-client-cpp
disableReplication in MessageBuilder does not work in PulsarClient C++ and Java
- Dominant language
- C++
- Stars
- 71
- Forks
- 90
- Avg merge
- 2h 33m
- Merged PRs (30d)
- 3
Description
**Describe the bug**
Data is still replicated when disableReplication is enabled
**To Reproduce**
Steps to reproduce the behavior:
1. Setup Geo-Replication with 3 cluster(A,B,C)
2. Set disableReplication = true in MessageBuilder
```
Message msg = MessageBuilder().setContent("repl").disableReplication(true).build();
```
3. Producer create connect in cluster C and send ```Message msg```
```
producer.sendAsync(msg, notifySendMessage);
```
**Actual output is consumer**
1. Cluster A
```
Received message: repl
```
2. Cluster A
```
Received message: repl
```
3. Cluster C
```
Received message: repl
```
**Expected output is**
1. Cluster A
```
```
2. Cluster A
```
```
3. Cluster C
```
Received message: repl
```
Pulsar version: 2.3.0
Contributor guide
Research direction
Start by tracing MessageBuilder.disableReplication(true) through the C++ client and the producer.sendAsync path, using the three-cluster geo-replication steps to reproduce the behavior. Done means a message sent from cluster C remains in C and is not received by clusters A or B when replication is disabled.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, java
- Domain
- distributed-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100