OK, I did some more research. Two updates: 1. Filed an issue <https://github.com/FasterXML/jackson-module-scala/issues/542> about the malformed class name 2. I looked into the JsonNode thing. Basically we were creating an empty ArrayNode, and calling ArrayNode#add(Short). Previously, this inserted an IntNode, but now it inserts a ShortNode. This seems like a bugfix, so I don't think we need to take any action.
The scala bug is the only thing that I think would prevent us from upgrading right now, but I'll try to confirm in the next couple of hours. On Sat, Sep 4, 2021 at 4:27 PM Tatu Saloranta <t...@fasterxml.com> wrote: > On Fri, Sep 3, 2021 at 12:56 PM Nakamura <nakamura.mo...@gmail.com> wrote: > > > > OK, I haven't finished working through the issues yet. I'm trying to > upgrade from 2.11.4 to 2.13.0-rc2. After fixing some expected breaking > changes, here are a few I found: > > First of all, thank you for going through testing, reporting issues! > > > > > 1. We have tests that compare the values of JsonNodes. After the > upgrade, it started failing when it said that IntNode and ShortNode are not > equal. I haven't pinpointed what has changed (whether it's equality, or > how things are turned into ShortNode or IntNode). I'll update the thread > once I've figured it out. > > Interesting. I do not have a good idea here; although I do know that > the comparison across different node types and esp. for Numeric types > is challenging in general. > This is one reason why external comparator approach with JsonNode method: > > public boolean equals(Comparator<JsonNode> comparator, JsonNode other) > { > > is strongly recommended; plain `equals()` is notoriously difficult to > make work reliably (has to work "both ways" across different types > etc). > > Having said that, IntNode.equals() and ShortNode.equals() appear > unchanged between 2.11 and 2.13; and both would fail comparison > (they assume strict type equality). > So the issue is probably more with construction of ShortNode vs > IntNode for some input... > > > > > 2. We have a test that tries to read all of the resources files. When > it comes across jackson, it says "File Not Found". > > > ..../ > repo1.maven.org/com/fasterxml/jackson/core/jackson-databind/2.13.0-rc2/jackson-databind-2.13.0-rc2.jar!/META-INF/versions/11 > (No such file or directory) > > That is a weird one for sure. > > The location of `module-info.class` did move from main-level (in 2.11 > and 2.12) to under `META-INF/versions/11`: this to prevent issues with > some older Java 8 > clients. But no idea how this could cause other issues. > > > 3. I'm getting a Malformed class name exception from the > jackson-scala-module. > > > > java.lang.InternalError: Malformed class name > > at java.lang.Class.getSimpleName(Class.java:1330) > > at > java.lang.Class.getCanonicalName(Class.java:1399) > > at > com.fasterxml.jackson.module.scala.util.TastyUtil$.hasTastyFile(TastyUtil.scala:10) > > at > com.fasterxml.jackson.module.scala.util.ClassW.extendsScalaClass(Classes.scala:12) > > at > com.fasterxml.jackson.module.scala.util.ClassW.extendsScalaClass$(Classes.scala:9) > > at > com.fasterxml.jackson.module.scala.util.ClassW$$anon$1.extendsScalaClass(Classes.scala:34) > > at > com.fasterxml.jackson.module.scala.introspect.ScalaAnnotationIntrospector$._descriptorFor(ScalaAnnotationIntrospectorModule.scala:157) > > at > com.fasterxml.jackson.module.scala.introspect.ScalaAnnotationIntrospector$.fieldName(ScalaAnnotationIntrospectorModule.scala:173) > > at > com.fasterxml.jackson.module.scala.introspect.ScalaAnnotationIntrospector$.findImplicitPropertyName(ScalaAnnotationIntrospectorModule.scala:46) > > at > com.fasterxml.jackson.databind.introspect.AnnotationIntrospectorPair.findImplicitPropertyName(AnnotationIntrospectorPair.java:502) > > at > com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector._addFields(POJOPropertiesCollector.java:530) > > at > com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector.collectAll(POJOPropertiesCollector.java:421) > > at > com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector.getPropertyMap(POJOPropertiesCollector.java:386) > > at > com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector.getProperties(POJOPropertiesCollector.java:233) > > at > com.fasterxml.jackson.databind.introspect.BasicBeanDescription._properties(BasicBeanDescription.java:164) > > at > com.fasterxml.jackson.databind.introspect.BasicBeanDescription.findProperties(BasicBeanDescription.java:239) > > at > com.fasterxml.jackson.databind.deser.BasicDeserializerFactory._findCreatorsFromProperties(BasicDeserializerFactory.java:328) > > at > com.fasterxml.jackson.databind.deser.BasicDeserializerFactory._constructDefaultValueInstantiator(BasicDeserializerFactory.java:272) > > at > com.fasterxml.jackson.databind.deser.BasicDeserializerFactory.findValueInstantiator(BasicDeserializerFactory.java:223) > > at > com.fasterxml.jackson.databind.deser.BeanDeserializerFactory.buildBeanDeserializer(BeanDeserializerFactory.java:261) > > at > com.fasterxml.jackson.databind.deser.BeanDeserializerFactory.createBeanDeserializer(BeanDeserializerFactory.java:150) > > at > com.fasterxml.jackson.databind.deser.DeserializerCache._createDeserializer2(DeserializerCache.java:415) > > at > com.fasterxml.jackson.databind.deser.DeserializerCache._createDeserializer(DeserializerCache.java:350) > > at > com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCache2(DeserializerCache.java:264) > > at > com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCacheValueDeserializer(DeserializerCache.java:244) > > at > com.fasterxml.jackson.databind.deser.DeserializerCache.findValueDeserializer(DeserializerCache.java:142) > > at > com.fasterxml.jackson.databind.DeserializationContext.findNonContextualValueDeserializer(DeserializationContext.java:632) > > at > com.fasterxml.jackson.databind.deser.BeanDeserializerBase.resolve(BeanDeserializerBase.java:539) > > at > com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCache2(DeserializerCache.java:294) > > at > com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCacheValueDeserializer(DeserializerCache.java:244) > > at > com.fasterxml.jackson.databind.deser.DeserializerCache.findValueDeserializer(DeserializerCache.java:142) > > at > com.fasterxml.jackson.databind.DeserializationContext.findContextualValueDeserializer(DeserializationContext.java:609) > > at > com.fasterxml.jackson.databind.deser.std.MapDeserializer.createContextual(MapDeserializer.java:316) > > at > com.fasterxml.jackson.module.scala.deser.GenericMapFactoryDeserializerResolver$Deserializer.createContextual(GenericMapFactoryDeserializerResolver.scala:122) > > at > com.fasterxml.jackson.databind.DeserializationContext.handlePrimaryContextualization(DeserializationContext.java:825) > > at > com.fasterxml.jackson.databind.deser.BeanDeserializerBase.resolve(BeanDeserializerBase.java:550) > > at > com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCache2(DeserializerCache.java:294) > > at > com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCacheValueDeserializer(DeserializerCache.java:244) > > at > com.fasterxml.jackson.databind.deser.DeserializerCache.findValueDeserializer(DeserializerCache.java:142) > > at > com.fasterxml.jackson.databind.DeserializationContext.findRootValueDeserializer(DeserializationContext.java:642) > > at > com.fasterxml.jackson.databind.ObjectMapper._findRootDeserializer(ObjectMapper.java:4751) > > at > com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4621) > > at > com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3575) > > at > com.fasterxml.jackson.module.scala.ScalaObjectMapper.readValue(ScalaObjectMapper.scala:206) > > at > com.fasterxml.jackson.module.scala.ScalaObjectMapper.readValue$(ScalaObjectMapper.scala:205) > > Possibly worth filing separate jackson-module-scala issue? > > > > > I have been too busy with other things at work to dig in and understand > where these bugs are coming from, or how easy they are to work around, but > I'll try to update you shortly. > > Excellent work so far, looking forward to learning more! > > -+ Tatu +- > > > > > Best, > > Moses > > > > On Mon, Aug 30, 2021 at 1:00 PM Tatu Saloranta <tsalora...@gmail.com> > wrote: > >> > >> On Mon, Aug 30, 2021 at 7:02 AM Nakamura <nakamura.mo...@gmail.com> > wrote: > >>> > >>> Hi Tatu, > >>> I've started testing with RC2 across my company's monorepo, and I'm > seeing a bunch of test failures. Could you please wait until at least next > week to promote to stable? I'll need some time to figure out which are > fragile tests vs real regressions. > >>> Best, > >>> Moses > >> > >> > >> Yes, I will not be releasing 2.13.0 next weekend: probably will take at > least 2 weeks from now on. > >> > >> -+ Tatu +- > >> > >>> > >>> > >>> On Fri, Aug 27, 2021 at 1:22 PM Tatu Saloranta <tsalora...@gmail.com> > wrote: > >>>> > >>>> As per title, I decided that instead of trying to release the > official 2.13.0, it makes sense to instead push another release candidate. > >>>> Decision is due to: > >>>> > >>>> 1. Multiple fixes since rc1, including important ones (see > https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.13 -- alas, > fixes for rc1 not separated) > >>>> 2. A few bugs remain on the list of "really want to fix for 2.13.0 > final" (see > https://github.com/FasterXML/jackson-future-ideas/wiki/Jackson-Work-in-Progress > ) > >>>> > >>>> I have also had much less time to work on Jackson itself lately > (first due to vacation, but also due to starting a new job which requires a > lot of active learning at this point) so things are a bit slow on getting > PRs integrated, verified and so on. > >>>> I feel that avoiding the rush to "just get it done" makes sense here, > to minimize the possibility of regressions. > >>>> > >>>> Having said that, I do hope that the final 2.13.0 will get out by > mid-September 2021. > >>>> > >>>> At this point I would REALLY welcome help in regression/compatibility > testing Jackson 2.13.0-rc2. Thank you everyone who tested, reported issues > with 2.13.0-rc1! > >>>> > >>>> -+ Tatu +- > >>>> > >>>> > >>>> -- > >>>> You received this message because you are subscribed to the Google > Groups "jackson-user" group. > >>>> To unsubscribe from this group and stop receiving emails from it, > send an email to jackson-user+unsubscr...@googlegroups.com. > >>>> To view this discussion on the web visit > https://groups.google.com/d/msgid/jackson-user/CAGrxA25gN%2BWHoOzF9Rr_umR3%3DPEUs4JQxEM9kO%2BUDL0fYeozrA%40mail.gmail.com > . > >>> > >>> -- > >>> You received this message because you are subscribed to the Google > Groups "jackson-user" group. > >>> To unsubscribe from this group and stop receiving emails from it, send > an email to jackson-user+unsubscr...@googlegroups.com. > >>> To view this discussion on the web visit > https://groups.google.com/d/msgid/jackson-user/CAEYWR9vzobuTaw3_eNtgdfVFTCiy%2BjcsXjSkZNV5bQ%2BPhAwOSQ%40mail.gmail.com > . > >> > >> -- > >> You received this message because you are subscribed to the Google > Groups "jackson-user" group. > >> To unsubscribe from this group and stop receiving emails from it, send > an email to jackson-user+unsubscr...@googlegroups.com. > >> To view this discussion on the web visit > https://groups.google.com/d/msgid/jackson-user/CAGrxA25%2B5SowwgSWmb301qYj_nOnAdQ6wwB3tSFDLeufkndBVg%40mail.gmail.com > . > > > > -- > > You received this message because you are subscribed to the Google > Groups "jackson-user" group. > > To unsubscribe from this group and stop receiving emails from it, send > an email to jackson-user+unsubscr...@googlegroups.com. > > To view this discussion on the web visit > https://groups.google.com/d/msgid/jackson-user/CAEYWR9vUq0t%2BMy7_bKf8A1g_NL1XLXAU_kRT5sPn_hjtZz83HQ%40mail.gmail.com > . > > -- > You received this message because you are subscribed to the Google Groups > "jackson-user" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to jackson-user+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/jackson-user/CAL4a10jPtxgCE%2BELikXtO9PgPHAhQQa%2BjZj173CNtbE3ZChirA%40mail.gmail.com > . > -- You received this message because you are subscribed to the Google Groups "jackson-user" group. To unsubscribe from this group and stop receiving emails from it, send an email to jackson-user+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/jackson-user/CAEYWR9vfJj8WM4R6L9bPO502QNzsDwBADUx0G-W4HESbsdzEtg%40mail.gmail.com.