Excellent! Thank you for reporting these issues and working with us on resolving them.
And PJ has done a really good job with the Scala module, as usual. Now it's just me who has to get 2.13.0 out before September ends... :) -+ Tatu +- On Thu, Sep 16, 2021 at 2:27 PM Nakamura <nakamura.mo...@gmail.com> wrote: > PJ did a great job of fixing the bug > <https://github.com/FasterXML/jackson-module-scala/issues/542>, 2.13.0 is > good to go as far as I'm concerned. Thanks again PJ! > > On Tue, Sep 14, 2021 at 6:48 PM Nakamura <nakamura.mo...@gmail.com> wrote: > >> 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/CAEYWR9tNOvwr3ObxZtTx_Zx%3DDRA_LZ-3UDqOgUNR7XBxjsBu8A%40mail.gmail.com > <https://groups.google.com/d/msgid/jackson-user/CAEYWR9tNOvwr3ObxZtTx_Zx%3DDRA_LZ-3UDqOgUNR7XBxjsBu8A%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > -- 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/CAGrxA27yX8FG6zRoE_oix_M6zHJt2p%2BOQtZ%3DZdb6K68vFvyRCw%40mail.gmail.com.