cmccabe commented on a change in pull request #11577:
URL: https://github.com/apache/kafka/pull/11577#discussion_r765467726
##########
File path:
metadata/src/main/java/org/apache/kafka/controller/QuorumController.java
##########
@@ -251,6 +254,36 @@ public QuorumController build() throws Exception {
}
}
+ class ConfigResourceExistenceChecker implements Consumer<ConfigResource> {
Review comment:
> We should add a comment that this thing should only be called by the
event queue thread.
Sounds good, will add.
> Also, it might be nicer in terms of control flow to return an ApiError
instance instead of throwing exceptions. Since these are all unchecked errors,
the caller has to know to capture one and convert it to an ApiError
I did do that for a bunch of other controller code, but over time I've been
converting it to use exceptions. The problem is that there are a lot of places
where exceptions can be thrown, so you always end up setting up a catch block
anyway. If there's no catch block there will inevitably be a bug where
something is thrown and not caught.
I wish we were using a language like Rust or Go where exceptions were
reserved for logic errors, but it's unfortunately not the case. So, when in
Rome...
--
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]