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.