This is an automated email from the ASF dual-hosted git repository.
rdhabalia pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar.git
The following commit(s) were added to refs/heads/master by this push:
new bc3e7f60574 [fix][broker] Allow broker to handle non-recoverable
schema error only if SchemaLedgerForceRecovery flag is enabled (#23428)
bc3e7f60574 is described below
commit bc3e7f60574dd25b0d3511c56d09d233d0c15f42
Author: Rajan Dhabalia <[email protected]>
AuthorDate: Thu Oct 10 12:30:16 2024 -0700
[fix][broker] Allow broker to handle non-recoverable schema error only if
SchemaLedgerForceRecovery flag is enabled (#23428)
---
.../src/main/java/org/apache/pulsar/broker/service/AbstractTopic.java | 3 ++-
.../org/apache/pulsar/broker/service/schema/ClientGetSchemaTest.java | 2 +-
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/AbstractTopic.java
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/AbstractTopic.java
index 76dd277159c..11f00fb28e3 100644
---
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/AbstractTopic.java
+++
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/AbstractTopic.java
@@ -671,7 +671,8 @@ public abstract class AbstractTopic implements Topic,
TopicPolicyListener {
return
brokerService.pulsar().getSchemaRegistryService().getSchema(getSchemaId()).thenApply(Objects::nonNull)
.exceptionally(e -> {
Throwable ex = e.getCause();
- if (ex instanceof SchemaException || !((SchemaException)
ex).isRecoverable()) {
+ if
(brokerService.pulsar().getConfig().isSchemaLedgerForceRecovery()
+ && (ex instanceof SchemaException &&
!((SchemaException) ex).isRecoverable())) {
return false;
}
throw ex instanceof CompletionException ?
(CompletionException) ex : new CompletionException(ex);
diff --git
a/pulsar-broker/src/test/java/org/apache/pulsar/broker/service/schema/ClientGetSchemaTest.java
b/pulsar-broker/src/test/java/org/apache/pulsar/broker/service/schema/ClientGetSchemaTest.java
index ec81f39fef9..f9c1042b0e9 100644
---
a/pulsar-broker/src/test/java/org/apache/pulsar/broker/service/schema/ClientGetSchemaTest.java
+++
b/pulsar-broker/src/test/java/org/apache/pulsar/broker/service/schema/ClientGetSchemaTest.java
@@ -186,7 +186,7 @@ public class ClientGetSchemaTest extends
ProducerConsumerBase {
final String topicOne = "test-deleted-schema-ledger";
final String fqtnOne = TopicName.get(TopicDomain.persistent.value(),
tenant, namespace, topicOne).toString();
- //pulsar.getConfig().setManagedLedgerForceRecovery(true);
+ pulsar.getConfig().setSchemaLedgerForceRecovery(true);
admin.namespaces().createNamespace(tenant + "/" + namespace,
Sets.newHashSet("test"));
// (1) create topic with schema