Skip to content

Commit

Permalink
Add @JsonIgnore for isReplicateSubscriptionState and remove usage
Browse files Browse the repository at this point in the history
Signed-off-by: Zixuan Liu <nodeces@gmail.com>
  • Loading branch information
nodece committed Dec 20, 2024
1 parent d62c897 commit e2b4c99
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@

import static com.google.common.base.Preconditions.checkArgument;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.common.collect.Sets;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
Expand Down Expand Up @@ -381,6 +382,7 @@ public int getMaxPendingChuckedMessage() {
value = "If `replicateSubscriptionState` is enabled, a subscription state is replicated to geo-replicated"
+ " clusters."
)
@JsonProperty(access = JsonProperty.Access.READ_WRITE)
private Boolean replicateSubscriptionState;

private boolean resetIncludeHead = false;
Expand Down Expand Up @@ -439,8 +441,10 @@ public ConsumerConfigurationData<T> clone() {
}

/**
* Backward compatibility with the old `replicateSubscriptionState` field.
* @deprecated Using {@link #getReplicateSubscriptionState()} instead.
*/
@JsonIgnore
@Deprecated
public boolean isReplicateSubscriptionState() {
return replicateSubscriptionState != null && replicateSubscriptionState;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -504,7 +504,7 @@ public void testLoadConf() throws Exception {
assertTrue(configurationData.isRetryEnable());
assertFalse(configurationData.isAutoUpdatePartitions());
assertEquals(configurationData.getAutoUpdatePartitionsIntervalSeconds(), 2);
assertTrue(configurationData.isReplicateSubscriptionState());
assertEquals(configurationData.getReplicateSubscriptionState(), Boolean.TRUE);
assertTrue(configurationData.isResetIncludeHead());
assertTrue(configurationData.isBatchIndexAckEnabled());
assertTrue(configurationData.isAckReceiptEnabled());
Expand Down Expand Up @@ -564,7 +564,7 @@ public void testLoadConfNotModified() {
assertFalse(configurationData.isRetryEnable());
assertTrue(configurationData.isAutoUpdatePartitions());
assertEquals(configurationData.getAutoUpdatePartitionsIntervalSeconds(), 60);
assertFalse(configurationData.isReplicateSubscriptionState());
assertNull(configurationData.getReplicateSubscriptionState());
assertFalse(configurationData.isResetIncludeHead());
assertFalse(configurationData.isBatchIndexAckEnabled());
assertFalse(configurationData.isAckReceiptEnabled());
Expand All @@ -584,6 +584,38 @@ public void testLoadConfNotModified() {
assertNull(configurationData.getPayloadProcessor());
}

@Test
public void testReplicateSubscriptionState() {
ConsumerBuilderImpl<byte[]> consumerBuilder = createConsumerBuilder();
assertNull(consumerBuilder.getConf().getReplicateSubscriptionState());

consumerBuilder.replicateSubscriptionState(true);
assertEquals(consumerBuilder.getConf().getReplicateSubscriptionState(), Boolean.TRUE);

consumerBuilder.replicateSubscriptionState(false);
assertEquals(consumerBuilder.getConf().getReplicateSubscriptionState(), Boolean.FALSE);

Map<String, Object> conf = new HashMap<>();
consumerBuilder = createConsumerBuilder();
consumerBuilder.loadConf(conf);
assertNull(consumerBuilder.getConf().getReplicateSubscriptionState());

conf.put("replicateSubscriptionState", true);
consumerBuilder = createConsumerBuilder();
consumerBuilder.loadConf(conf);
assertEquals(consumerBuilder.getConf().getReplicateSubscriptionState(), Boolean.TRUE);

conf.put("replicateSubscriptionState", false);
consumerBuilder = createConsumerBuilder();
consumerBuilder.loadConf(conf);
assertEquals(consumerBuilder.getConf().getReplicateSubscriptionState(), Boolean.FALSE);

conf.put("replicateSubscriptionState", null);
consumerBuilder = createConsumerBuilder();
consumerBuilder.loadConf(conf);
assertNull(consumerBuilder.getConf().getReplicateSubscriptionState());
}

private ConsumerBuilderImpl<byte[]> createConsumerBuilder() {
ConsumerBuilderImpl<byte[]> consumerBuilder = new ConsumerBuilderImpl<>(null, Schema.BYTES);
Map<String, String> properties = new HashMap<>();
Expand Down

0 comments on commit e2b4c99

Please sign in to comment.