On Fri, Sep 3, 2021 at 12:56 PM Nakamura <[email protected]> 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 <[email protected]> wrote:
>>
>> On Mon, Aug 30, 2021 at 7:02 AM Nakamura <[email protected]> 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 <[email protected]> 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 [email protected].
>>>> 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 [email protected].
>>> 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 [email protected].
>> 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 [email protected].
> 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 [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/jackson-user/CAL4a10jPtxgCE%2BELikXtO9PgPHAhQQa%2BjZj173CNtbE3ZChirA%40mail.gmail.com.