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/

Reply via email to