2.8.1 : MutableEntry.getValue().toBuilder throws NullPointerException

classic Classic list List threaded Threaded
3 messages Options
VeenaMithare VeenaMithare
Reply | Threaded
Open this post in threaded view
|

2.8.1 : MutableEntry.getValue().toBuilder throws NullPointerException

Hello,

In some rare scenarios , we get this exception when we update records .


java.lang.NullPointerException: null
        at
org.apache.ignite.internal.binary.builder.BinaryBuilderReader.<init>(BinaryBuilderReader.java:72)
~[ignite-core-2.8.1.jar:2.8.1]
        at
org.apache.ignite.internal.binary.builder.BinaryObjectBuilderImpl.<init>(BinaryObjectBuilderImpl.java:122)
~[ignite-core-2.8.1.jar:2.8.1]
        at
org.apache.ignite.internal.binary.builder.BinaryObjectBuilderImpl.wrap(BinaryObjectBuilderImpl.java:617)
~[ignite-core-2.8.1.jar:2.8.1]
        at
org.apache.ignite.internal.binary.BinaryObjectExImpl.toBuilder(BinaryObjectExImpl.java:159)
~[ignite-core-2.8.1.jar:2.8.1]
        at
com.company.project.projectname.helper.ProjectCacheEntryBinaryObjectProcessor.process(ProjectCacheEntryBinaryObjectProcessor.java:134)
~[dao-2.9.14.jar:?]
        at
com.company.project.projectname.helper.ProjectCacheEntryBinaryObjectProcessor.process(ProjectCacheEntryBinaryObjectProcessor.java:34)
~[dao-2.9.14.jar:?]

===================

As shown, the exception happens at this point in the project code :
        at
org.apache.ignite.internal.binary.BinaryObjectExImpl.toBuilder(BinaryObjectExImpl.java:159)
~[ignite-core-2.8.1.jar:2.8.1]
        at
com.company.project.projectname.helper.CacheEntryBinaryObjectProcessor.process(ProjectCacheEntryBinaryObjectProcessor.java:134)
~[dao-2.9.14.jar:?]


Line 134 of ProjectCacheEntryBinaryObjectProcessor says :

132:            BinaryObject currentValueObject = mutableEntry.getValue();
133:            if (currentValueObject !=null) {
134:                binaryObjectBuilder = currentValueObject.toBuilder();

================
The exception happens at this position in the BinaryBuilderReader.java

        reader = new BinaryReaderExImpl(ctx,
            BinaryHeapInputStream.create(arr, pos),
            ctx.configuration().getClassLoader(),
            false);

=====================

The exception log in the try/catch prints the mutableentry.getValue as :
2020-09-30T16:58:23,989 ERROR
c.c.p.c.h.ProjectCacheEntryBinaryObjectProcessor [sys-stripe-12-#13]: CACHE
ENTRY PROCESSOR EXCEPTION for record MutableEntry.keyPRODUCTKEY
[idHash=219577898, hash=-978873982,
NAME=xxx],MutableEntry.valueBinaryObjectImpl [arr= true, ctx=false, start=0]

====================

Please note we dont get this exception always. Kindly request your guidance
on how to find out the root cause for this exception.

regards,
Veena.







--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/
Vladimir Pligin Vladimir Pligin
Reply | Threaded
Open this post in threaded view
|

Re: 2.8.1 : MutableEntry.getValue().toBuilder throws NullPointerException

Do you get it on every cache or with some subset of caches?
Do you have assertions enabled?



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/
VeenaMithare VeenaMithare
Reply | Threaded
Open this post in threaded view
|

Re: 2.8.1 : MutableEntry.getValue().toBuilder throws NullPointerException

I have observed it on a subset of caches .  We do not have assertions
enabled.



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/