Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error in ValidateQldbHashChain operation after upgrades jackson-dataformat-ion to 2.13.1 #280

Closed
guyilin-amazon opened this issue Feb 22, 2022 · 1 comment

Comments

@guyilin-amazon
Copy link
Contributor

compile group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-ion', version: '2.12.6'

If the jackson-dataformat-ion dependency is upgraded to version 2.13.1 from current version 2.12.6, it will throw exception when performing ValidateQldbHashChain operation. It might because some changes in 2.13.1 version are not backward-compatible. We should not upgrade the jackson-dataformat-ion dependency until a new working version is released in the future.

Full stack trace when performing ValidateQldbHashChain operation with jackson-dataformat-ion 2.13.1

2022-02-22 12:50:39.057 ERROR --- [           main] s.a.q.t.ValidateQldbHashChain            : Unable to perform hash chain verification.
java.lang.IllegalStateException: com.fasterxml.jackson.databind.exc.ValueInstantiationException: Cannot construct instance of `software.amazon.qldb.tutorial.qldb.QldbRevision`, problem: 0
Exception in thread "main"  at [Source: UNKNOWN; byte offset: #UNKNOWN] (through reference chain: software.amazon.qldb.tutorial.qldb.JournalBlock["revisions"]->java.util.ArrayList[0])
java.lang.IllegalStateException: com.fasterxml.jackson.databind.exc.ValueInstantiationException: Cannot construct instance of `software.amazon.qldb.tutorial.qldb.QldbRevision`, problem: 0
        at software.amazon.qldb.tutorial.JournalS3ExportReader.getJournalBlocks(JournalS3ExportReader.java:177)
 at [Source: UNKNOWN; byte offset: #UNKNOWN] (through reference chain: software.amazon.qldb.tutorial.qldb.JournalBlock["revisions"]->java.util.ArrayList[0])
        at software.amazon.qldb.tutorial.JournalS3ExportReader.readExport(JournalS3ExportReader.java:119)
        at software.amazon.qldb.tutorial.JournalS3ExportReader.getJournalBlocks(JournalS3ExportReader.java:177)
        at software.amazon.qldb.tutorial.ValidateQldbHashChain.main(ValidateQldbHashChain.java:112)
        at software.amazon.qldb.tutorial.JournalS3ExportReader.readExport(JournalS3ExportReader.java:119)
Caused by: com.fasterxml.jackson.databind.exc.ValueInstantiationException: Cannot construct instance of `software.amazon.qldb.tutorial.qldb.QldbRevision`, problem: 0
        at software.amazon.qldb.tutorial.ValidateQldbHashChain.main(ValidateQldbHashChain.java:112)
 at [Source: UNKNOWN; byte offset: #UNKNOWN] (through reference chain: software.amazon.qldb.tutorial.qldb.JournalBlock["revisions"]->java.util.ArrayList[0])
Caused by: com.fasterxml.jackson.databind.exc.ValueInstantiationException: Cannot construct instance of `software.amazon.qldb.tutorial.qldb.QldbRevision`, problem: 0
        at com.fasterxml.jackson.databind.exc.ValueInstantiationException.from(ValueInstantiationException.java:47)
 at [Source: UNKNOWN; byte offset: #UNKNOWN] (through reference chain: software.amazon.qldb.tutorial.qldb.JournalBlock["revisions"]->java.util.ArrayList[0])
        at com.fasterxml.jackson.databind.DeserializationContext.instantiationException(DeserializationContext.java:2047)
        at com.fasterxml.jackson.databind.exc.ValueInstantiationException.from(ValueInstantiationException.java:47)
        at com.fasterxml.jackson.databind.DeserializationContext.handleInstantiationProblem(DeserializationContext.java:1400)
        at com.fasterxml.jackson.databind.DeserializationContext.instantiationException(DeserializationContext.java:2047)
        at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.wrapInstantiationProblem(BeanDeserializerBase.java:1866)
        at com.fasterxml.jackson.databind.DeserializationContext.handleInstantiationProblem(DeserializationContext.java:1400)
        at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeUsingPropertyBased(BeanDeserializer.java:520)
        at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromObjectUsingNonDefault(BeanDeserializerBase.java:1405)
        at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:351)
        at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.wrapInstantiationProblem(BeanDeserializerBase.java:1866)
        at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeUsingPropertyBased(BeanDeserializer.java:520)
        at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:184)
        at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromObjectUsingNonDefault(BeanDeserializerBase.java:1405)
        at com.fasterxm at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:351)
        at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:184)
        at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer._deserializeFromArray(CollectionDeserializer.java:355)
l.jackson.databind.deser.std.CollectionDeserializer._deserializeFromArray(CollectionDeserializer.java:355)
        at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:244)
        at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:244)
        at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:28)
        at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:28)
        at com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:542)
        at com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:542)
        at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeWithErrorWrapping(BeanDeserializer.java:563)
        at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeWithErrorWrapping(BeanDeserializer.java:563)
        at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeUsingPropertyBased(BeanDeserializer.java:438)
        at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeUsingPropertyBased(BeanDeserializer.java:438)
        at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromObjectUsingNonDefault(BeanDeserializerBase.java:1405)
        at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromObjectUsingNonDefault(BeanDeserializerBase.java:1405)
        at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:351)
        at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:184)
        at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:351)
        at com.fasterxml.jackson.databind.deser.DefaultDeserializationContext.readRootValue(DefaultDeserializationContext.java:322)
        at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:184)
        at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4674)
        at com.fasterxml.jackson.databind.deser.DefaultDeserializationContext.readRootValue(DefaultDeserializationContext.java:322)
        at com.fasterxml.jackson.dataformat.ion.IonObjectMapper.readValue(IonObjectMapper.java:328)
        at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4674)
        at software.amazon.qldb.tutorial.JournalS3ExportReader.getJournalBlocks(JournalS3ExportReader.java:175)
        at com.fasterxml.jackson.dataformat.ion.IonObjectMapper.readValue(IonObjectMapper.java:328)
        ... 2 more
        at software.amazon.qldb.tutorial.JournalS3ExportReader.getJournalBlocks(JournalS3ExportReader.java:175)
Caused by: java.lang.IndexOutOfBoundsException: 0
        ... 2 more
        at com.amazon.ion.impl.lite.IonContainerLite.get_child(IonContainerLite.java:663)
Caused by: java.lang.IndexOutOfBoundsException: 0
        at com.amazon.ion.impl.lite.IonContainerLite.get(IonContainerLite.java:151)
        at com.amazon.ion.impl.lite.IonContainerLite.get_child(IonContainerLite.java:663)
        at com.fasterxml.jackson.dataformat.ion.IonParser.getIonValue(IonParser.java:424)
        at com.amazon.ion.impl.lite.IonContainerLite.get(IonContainerLite.java:151)
        at com.fasterxml.jackson.dataformat.ion.IonParser.getEmbeddedObject(IonParser.java:448)
        at com.fasterxml.jackson.dataformat.ion.IonParser.getIonVal     at com.fasterxml.jackson.dataformat.ion.ionvalue.IonValueDeserializer.getNullValue(IonValueDeserializer.java:61)
ue(IonParser.java:424)
        at com.fasterxml.jackson.dataformat.ion.ionvalue.IonValueDeserializer.getNullValue(IonValueDeserializer.java:32)
        at com.fasterxml.jackson.dataformat.ion.IonParser.getEmbeddedObject(IonParser.java:448)
        at com.fasterxml.jackson.dataformat.ion.ionvalue.IonValueDeserializer.getNullValue(IonValueDeserializer.java:61)
        at com.fas      at com.fasterxml.jackson.dataformat.ion.ionvalue.IonValueDeserializer.getNullValue(IonValueDeserializer.java:32)
terxml.jackson.databind.JsonDeserializer.getAbsentValue(JsonDeserializer.java:350)
        at com.fasterxml.jackson.databind.JsonDeserializer.getAbsentValue(JsonDeserializer.java:350)
        at com.fasterxml.jackson.databind.deser.impl.PropertyValueBuffer._findMissing(PropertyValueBuffer.java:203)
        at com.fasterxml.jackson.databind.deser.impl.PropertyValueBuffer._findMissing(PropertyValueBuffer.java:203)
        at com.fasterxml.jackson.databind.deser.impl.PropertyValueBuffer.getParameters(PropertyValueBuffer.java:158)
        at com.fasterxml.jackson.databind.deser.impl.PropertyValueBuffer.getParameters(PropertyValueBuffer.java:158)
        at com.fasterxml.jackson.databind.deser.ValueInstantiator.createFromObjectWith(ValueInstantiator.java:288)
        at com.fasterxml.jackson.databind.deser.ValueInstantiator.createFromObjectWith(ValueInstantiator.java:288)
        at com.fasterxml.jackson.databind.deser.impl.PropertyBasedCreator.build(PropertyBasedCreator.java:202)
        at com.fasterxml.jackson.databind.deser.impl.PropertyBasedCreator.build(PropertyBasedCreator.java:202)
        at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeUsingPropertyBased(BeanDeserializer.java:518)
        at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeUsingPropertyBased(BeanDeserializer.java:518)
        ... 18 more
        ... 18 more

> Task :run FAILED

FAILURE: Build failed with an exception.

@guyilin-amazon
Copy link
Contributor Author

verified the issue has been addressed in jackson-dataformat-ion v2.13.3, resolving

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant