Hello Everyone, *For those experienced with Beam*:
PR/26413 [1] begins the long journey of addressing [2] which is a subtask of [3]. 千里之行,始於足下 :-) *For those beginning on the learning path*: The pull request referenced in the email is not directly related to Beam but involves a Java annotation called SuppressWarnings. Per its namesake, it suppresses warnings according to the values you set in the annotation. In [2] and [3]'s context the particular setting is "nullness" that suppresses any warnings related to potentially null references in the code. In the Beam repository, we utilize The Checker Framework [4] to help maintain a clean codebase. When such annotation applies, it will essentially mask these warnings and let the code pass without errors. When removing the SuppressWarnings with "nullness" annotation, the checks fail. Why is this a big deal? The danger of nullness and the validity of the warnings depend on the code context. However, as of this writing there are many Java classes in our repository with the SuppressWarnings annotation. What is the likelihood they are masking something serious? Here in our discussion would be a great place to be practical and relay what can be done when receiving a null-related error from the checker framework. However, I want to wait after I do more of these and find validation through peer review. Then, I will follow-up with the dev list. Meanwhile, you can take a look at my attempt in the PR [1]. Best, Damon *References*: 1. https://github.com/apache/beam/pull/26413 2. https://github.com/apache/beam/issues/20498 3. https://github.com/apache/beam/issues/20497 4. https://checkerframework.org/