CASMCMS-8952: Improve handling of no-op situations #282
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
CSM 1.5.1 version of #281
One thing to note is that this PR contains similar "empty node list" checks for some PCS functions, but in those cases, it didn't seem as obvious how to return an "empty" value to reflect that it was a no op. Currently this PR just logs an error. I did that instead of a warning because I am pretty sure the subsequent call to PCS is guaranteed to fail if we don't give it any nodes. Ultimately if we are in this situation, it means there is a bug in BOS, so the question just is how can we fail in a way to make it easiest to debug. Personally I think it should raise an Exception of some kind if it sees that the node list is empty. I just wasn't sure what kind of exception.
But even as is, this PR hopefully would make the debugging a little easier than it otherwise would be, since the logged errors would point to why the subsequent PCS call failed.