heesung-sn commented on code in PR #23297:
URL: https://github.com/apache/pulsar/pull/23297#discussion_r1758067307
##########
pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/extensions/ExtensibleLoadManagerImpl.java:
##########
@@ -521,38 +471,33 @@ public void start() throws PulsarServerException {
MONITOR_INTERVAL_IN_MILLIS,
TimeUnit.MILLISECONDS);
this.splitScheduler.start();
- this.initWaiter.complete(null);
+ this.initWaiter.complete(true);
this.started = true;
log.info("Started load manager.");
- } catch (Exception ex) {
- failStarting(ex);
+ } catch (Throwable e) {
+ failStarting(e);
}
});
- } catch (Exception ex) {
+ } catch (Throwable ex) {
failStarting(ex);
}
}
- private void failStarting(Exception ex) {
- log.error("Failed to start the extensible load balance and close
broker registry {}.",
- this.brokerRegistry, ex);
+ private void failStarting(Throwable throwable) {
if (this.brokerRegistry != null) {
try {
- brokerRegistry.unregister();
- } catch (MetadataStoreException e) {
- // ignore
- }
- }
- if (this.serviceUnitStateChannel != null) {
- try {
- serviceUnitStateChannel.close();
- } catch (IOException e) {
- // ignore
+ brokerRegistry.close();
+ } catch (PulsarServerException e) {
+ // If close failed, this broker might still exist in the
metadata store. Then it could be found by other
+ // brokers as an available broker. Hence, print a warning log
for it.
+ log.warn("Failed to close the broker registry: {}",
e.getMessage());
Review Comment:
I thought we are using ephemeral lock for this "ephemeral" ownership. No?
--
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]