rhauch commented on pull request #9306:
URL: https://github.com/apache/kafka/pull/9306#issuecomment-702443976


   Thanks for putting together this comprehensive list of AK versions, Jackson 
versions, and behavior.
   
   > * ak v2.3.0 -> j v2.9.9 [Looks like an outlier, where ak version increased 
with a decrease in jackson-databind version]
   I don't think this was an outlier. If you sort them by release dates, things 
look a bit more logical and you can see how the Jackson versions only 
continually increase over time:
   
   ak v2.1.0 (2018-11-20)-> j v2.9.7
   ak v2.1.1 (2019-02-15) -> j v2.9.8
   ak v2.2.0 (2019-03-22) -> j v2.9.8
   ak v2.2.1 (2019-06-01) -> j v2.9.8
   ak v2.3.0 (2019-06-24) -> j v2.9.9
   ak v2.3.1 (2019-10-24) -> j v2.10.0
   ak v2.2.2 (2019-12-01) -> j v2.10.0
   ak v2.4.0 (2019-12-13) -> j v2.10.0
   ak v2.4.1 (2020-03-10)-> j v2.10.0
   ak v2.5.0 (2020-04-14) -> j v2.10.2
   ak v2.6.0 (2020-08-03) -> j v2.10.2
   ak v2.5.1 (2020-08-10) -> j v2.10.2
   
   IOW, the following **versions** are all affected since they use Jackson 
2.10.x:
   * 2.3.1
   * 2.2.2
   * 2.4.0
   * 2.4.1
   * 2.5.0
   * 2.5.1
   * 2.6.0
   
   and thus the following **branches** are affected since they now use Jackson 
2.10.x:
   * `2.2`
   * `2.3`
   * `2.4`
   * `2.5`
   * `2.6`
   
   I've also gone through a number of versions of the 
https://github.com/FasterXML/jackson-databind code, looking for how MissingNode 
is used. It's obvious that MissingNode is used a lot more prevalently in 
2.10.0. But the documentation for `MissingNode` is as follows:
   
   >  In most respects this placeholder node will act as {@link NullNode};
   > for example, for purposes of value conversions, value is considered
   > to be null and represented as value zero when used for numeric
   > conversions.
   
   So I think it's pretty clear that we should treat `JsonNodeType.MISSING` as 
null. This is what this PR tries to do, and I'm now less concerned about 
unexpected behavioral changes after having read and verified this analysis.
   
   Once this PR is merged to `trunk`, this fix will need to be backported to 
the following **branches** that are all affected because they use Jackson 
2.10.x:
   * `2.2`
   * `2.3`
   * `2.4`
   * `2.5`
   * `2.6`


----------------------------------------------------------------
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:
us...@infra.apache.org


Reply via email to