Skip to content

Commit 8f8637a

Browse files
authored
[improve][client]When namespace is deleted, the client is constantly reconnecting (apache#18194)
1 parent b193051 commit 8f8637a

File tree

9 files changed

+175
-143
lines changed

9 files changed

+175
-143
lines changed

pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/v1/Namespaces.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -881,6 +881,7 @@ public void unloadNamespace(@Suspended final AsyncResponse asyncResponse, @PathP
881881
@ApiOperation(hidden = true, value = "Unload a namespace bundle")
882882
@ApiResponses(value = {
883883
@ApiResponse(code = 307, message = "Current broker doesn't serve the namespace"),
884+
@ApiResponse(code = 404, message = "Namespace doesn't exist"),
884885
@ApiResponse(code = 403, message = "Don't have admin permission") })
885886
public void unloadNamespaceBundle(@Suspended final AsyncResponse asyncResponse,
886887
@PathParam("property") String property, @PathParam("cluster") String cluster,
@@ -907,6 +908,7 @@ public void unloadNamespaceBundle(@Suspended final AsyncResponse asyncResponse,
907908
@ApiOperation(hidden = true, value = "Split a namespace bundle")
908909
@ApiResponses(value = {
909910
@ApiResponse(code = 307, message = "Current broker doesn't serve the namespace"),
911+
@ApiResponse(code = 404, message = "Namespace doesn't exist"),
910912
@ApiResponse(code = 403, message = "Don't have admin permission") })
911913
public void splitNamespaceBundle(
912914
@Suspended final AsyncResponse asyncResponse,

pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/v1/NonPersistentTopics.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,9 @@ public void getInternalStats(
121121
@Path("/{property}/{cluster}/{namespace}/{topic}/partitions")
122122
@ApiOperation(hidden = true, value = "Create a partitioned topic.",
123123
notes = "It needs to be called before creating a producer on a partitioned topic.")
124-
@ApiResponses(value = {@ApiResponse(code = 403, message = "Don't have admin permission"),
124+
@ApiResponses(value = {
125+
@ApiResponse(code = 403, message = "Don't have admin permission"),
126+
@ApiResponse(code = 404, message = "Namespace doesn't exist"),
125127
@ApiResponse(code = 406, message = "The number of partitions should be more than 0 and less than or equal"
126128
+ " to maxNumPartitionsPerPartitionedTopic"),
127129
@ApiResponse(code = 409, message = "Partitioned topic already exist")})
@@ -148,7 +150,7 @@ public void createPartitionedTopic(
148150
@ApiResponses(value = {
149151
@ApiResponse(code = 307, message = "Current broker doesn't serve the namespace of this topic"),
150152
@ApiResponse(code = 403, message = "Don't have admin permission"),
151-
@ApiResponse(code = 404, message = "Topic does not exist")})
153+
@ApiResponse(code = 404, message = "Namespace or topic does not exist")})
152154
public void unloadTopic(@Suspended final AsyncResponse asyncResponse, @PathParam("property") String property,
153155
@PathParam("cluster") String cluster, @PathParam("namespace") String namespace,
154156
@PathParam("topic") @Encoded String encodedTopic,

pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/v1/PersistentTopics.java

Lines changed: 35 additions & 30 deletions
Large diffs are not rendered by default.

pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/v2/Namespaces.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -808,6 +808,7 @@ public void unloadNamespace(@Suspended final AsyncResponse asyncResponse,
808808
@ApiOperation(value = "Unload a namespace bundle")
809809
@ApiResponses(value = {
810810
@ApiResponse(code = 307, message = "Current broker doesn't serve the namespace"),
811+
@ApiResponse(code = 404, message = "Namespace doesn't exist"),
811812
@ApiResponse(code = 403, message = "Don't have admin permission") })
812813
public void unloadNamespaceBundle(@Suspended final AsyncResponse asyncResponse,
813814
@PathParam("tenant") String tenant, @PathParam("namespace") String namespace,
@@ -834,6 +835,7 @@ public void unloadNamespaceBundle(@Suspended final AsyncResponse asyncResponse,
834835
@ApiOperation(value = "Split a namespace bundle")
835836
@ApiResponses(value = {
836837
@ApiResponse(code = 307, message = "Current broker doesn't serve the namespace"),
838+
@ApiResponse(code = 404, message = "Namespace doesn't exist"),
837839
@ApiResponse(code = 403, message = "Don't have admin permission") })
838840
public void splitNamespaceBundle(
839841
@Suspended final AsyncResponse asyncResponse,

pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/v2/NonPersistentTopics.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ public void createPartitionedTopic(
189189
@ApiResponse(code = 307, message = "Current broker doesn't serve the namespace of this topic"),
190190
@ApiResponse(code = 401, message = "Don't have permission to administrate resources on this tenant"),
191191
@ApiResponse(code = 403, message = "Don't have admin permission"),
192-
@ApiResponse(code = 404, message = "Topic does not exist"),
192+
@ApiResponse(code = 404, message = "Namespace or topic does not exist"),
193193
@ApiResponse(code = 412, message = "Partitioned topic name is invalid"),
194194
@ApiResponse(code = 500, message = "Internal server error"),
195195
@ApiResponse(code = 503, message = "Failed to validate global cluster configuration")
@@ -541,7 +541,7 @@ public void getEntryFilters(@Suspended AsyncResponse asyncResponse,
541541
@Path("/{tenant}/{namespace}/{topic}/entryFilters")
542542
@ApiOperation(value = "Set entry filters for specified topic")
543543
@ApiResponses(value = {@ApiResponse(code = 403, message = "Don't have admin permission"),
544-
@ApiResponse(code = 404, message = "Topic does not exist"),
544+
@ApiResponse(code = 404, message = "Tenant or namespace or topic doesn't exist"),
545545
@ApiResponse(code = 405,
546546
message = "Topic level policy is disabled, please enable the topic level policy and retry"),
547547
@ApiResponse(code = 409, message = "Concurrent modification")})
@@ -569,7 +569,7 @@ public void setEntryFilters(@Suspended final AsyncResponse asyncResponse,
569569
@Path("/{tenant}/{namespace}/{topic}/entryFilters")
570570
@ApiOperation(value = "Remove entry filters for specified topic.")
571571
@ApiResponses(value = {@ApiResponse(code = 403, message = "Don't have admin permission"),
572-
@ApiResponse(code = 404, message = "Topic does not exist"),
572+
@ApiResponse(code = 404, message = "Tenant or namespace or topic doesn't exist"),
573573
@ApiResponse(code = 405,
574574
message = "Topic level policy is disabled, please enable the topic level policy and retry"),
575575
@ApiResponse(code = 409, message = "Concurrent modification")})

0 commit comments

Comments
 (0)