This is an automated email from the ASF dual-hosted git repository.
penghui pushed a commit to branch branch-2.7
in repository https://gitbox.apache.org/repos/asf/pulsar.git
The following commit(s) were added to refs/heads/branch-2.7 by this push:
new 2eca431 [pulsar-client-api] Fix Unavailable Hash Range Condition
(#9041)
2eca431 is described below
commit 2eca431fafb576e33171bd5f2be1306213ba2e51
Author: k2la <[email protected]>
AuthorDate: Thu Dec 24 16:02:05 2020 +0900
[pulsar-client-api] Fix Unavailable Hash Range Condition (#9041)
### Motivation
https://github.com/apache/pulsar/blob/3b2c8526a96fc90e948dbeb510e8400a628c749a/pulsar-client-api/src/main/java/org/apache/pulsar/client/api/KeySharedPolicy.java#L110-L112
When range is [0, 65536], the above condition is false.
### Modification
Change from `range1.getEnd() > DEFAULT_HASH_RANGE_SIZE` to `range1.getEnd()
>= DEFAULT_HASH_RANGE_SIZE`.
(cherry picked from commit 48779bd78632c4fee3ce54f3914333501fb3ff2f)
---
.../org/apache/pulsar/client/api/KeySharedSubscriptionTest.java | 6 +++---
.../src/main/java/org/apache/pulsar/client/api/KeySharedPolicy.java | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git
a/pulsar-broker/src/test/java/org/apache/pulsar/client/api/KeySharedSubscriptionTest.java
b/pulsar-broker/src/test/java/org/apache/pulsar/client/api/KeySharedSubscriptionTest.java
index 9d914e1..50011d4 100644
---
a/pulsar-broker/src/test/java/org/apache/pulsar/client/api/KeySharedSubscriptionTest.java
+++
b/pulsar-broker/src/test/java/org/apache/pulsar/client/api/KeySharedSubscriptionTest.java
@@ -175,7 +175,7 @@ public class KeySharedSubscriptionTest extends
ProducerConsumerBase {
@Cleanup
Consumer<Integer> consumer3 = createConsumer(topic,
KeySharedPolicy.stickyHashRange()
- .ranges(Range.of(40001,
KeySharedPolicy.DEFAULT_HASH_RANGE_SIZE)));
+ .ranges(Range.of(40001,
KeySharedPolicy.DEFAULT_HASH_RANGE_SIZE-1)));
@Cleanup
Producer<Integer> producer = createProducer(topic, enableBatch);
@@ -296,7 +296,7 @@ public class KeySharedSubscriptionTest extends
ProducerConsumerBase {
@Cleanup
Consumer<Integer> consumer3 = createConsumer(topic,
KeySharedPolicy.stickyHashRange()
- .ranges(Range.of(40001,
KeySharedPolicy.DEFAULT_HASH_RANGE_SIZE)));
+ .ranges(Range.of(40001,
KeySharedPolicy.DEFAULT_HASH_RANGE_SIZE-1)));
@Cleanup
Producer<Integer> producer = createProducer(topic, enableBatch);
@@ -362,7 +362,7 @@ public class KeySharedSubscriptionTest extends
ProducerConsumerBase {
@Cleanup
Consumer<Integer> consumer3 = createConsumer(topic,
KeySharedPolicy.stickyHashRange()
- .ranges(Range.of(40001,
KeySharedPolicy.DEFAULT_HASH_RANGE_SIZE)));
+ .ranges(Range.of(40001,
KeySharedPolicy.DEFAULT_HASH_RANGE_SIZE-1)));
@Cleanup
Producer<Integer> producer = createProducer(topic, enableBatch);
diff --git
a/pulsar-client-api/src/main/java/org/apache/pulsar/client/api/KeySharedPolicy.java
b/pulsar-client-api/src/main/java/org/apache/pulsar/client/api/KeySharedPolicy.java
index b9f0694..92ff3d2 100644
---
a/pulsar-client-api/src/main/java/org/apache/pulsar/client/api/KeySharedPolicy.java
+++
b/pulsar-client-api/src/main/java/org/apache/pulsar/client/api/KeySharedPolicy.java
@@ -107,7 +107,7 @@ public abstract class KeySharedPolicy {
}
for (int i = 0; i < ranges.size(); i++) {
Range range1 = ranges.get(i);
- if (range1.getStart() < 0 || range1.getEnd() >
DEFAULT_HASH_RANGE_SIZE) {
+ if (range1.getStart() < 0 || range1.getEnd() >=
DEFAULT_HASH_RANGE_SIZE) {
throw new IllegalArgumentException("Ranges must be [0,
65535] but provided range is " + range1);
}
for (int j = 0; j < ranges.size(); j++) {