Ethanlm commented on a change in pull request #3274:
URL: https://github.com/apache/storm/pull/3274#discussion_r435339674
##########
File path: storm-server/src/main/java/org/apache/storm/daemon/nimbus/Nimbus.java
##########
@@ -814,7 +814,12 @@ private static int numUsedWorkers(SchedulerAssignment
assignment) {
private boolean auditAssignmentChanges(Map<String, Assignment>
existingAssignments,
Map<String, Assignment>
newAssignments) {
- assert existingAssignments != null && newAssignments != null;
+ if (existingAssignments == null) {
Review comment:
Your second point about defensive programming kinda makes sense to me.
For the first point, "no reason to throw unchecked exceptions in a private
method because it is totally in control of the class scope", I don't disagree
with that. But with this assumption/standard, there are changes in this PR that
can be removed too since some of them are also this case, for example,
`if (TopologyStatus.ACTIVE != initStatus && TopologyStatus.INACTIVE !=
initStatus) `.
And I think those places are where we can use `assert`. My understanding of
using `assert` is to detect mistakes developers make during development. Since
we have total control of a private method, we don't expect those `null` or
invalid case to really happen. So we detect those in development, but not in
production.
----------------------------------------------------------------
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.
For queries about this service, please contact Infrastructure at:
[email protected]