labuladong commented on code in PR #20651:
URL: https://github.com/apache/pulsar/pull/20651#discussion_r1243156941
##########
pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/internal/BrokersImpl.java:
##########
@@ -215,7 +215,13 @@ public CompletableFuture<Void>
shutDownBrokerGracefully(int maxConcurrentUnloadP
WebTarget path = adminBrokers.path("shutdown")
.queryParam("maxConcurrentUnloadPerSec",
maxConcurrentUnloadPerSec)
.queryParam("forcedTerminateTopic", forcedTerminateTopic);
- return asyncPostRequest(path, Entity.entity("",
MediaType.APPLICATION_JSON));
+ CompletableFuture<Void> completableFuture = new CompletableFuture<>();
+ try {
+ sync(() -> asyncPostRequest(path, Entity.entity("",
MediaType.APPLICATION_JSON)));
Review Comment:
I mean the broker doesn't handle the shutdown request properly now. For
example, you can try this command to the local standalone pulsar:
```bash
curl -X POST localhost:8080/admin/v2/brokers/shutdown
```
The expected behavior is the post request finished successfully, but the
actual behavior is the post request stucks and gets a timeout error.
I think broker side may need to add a `@Suspended AsyncResponse
asyncResponse` and use `asyncResponse.resume` to give client a response, like
other async APIs.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]