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.

Reply via email to