[
https://issues.apache.org/jira/browse/IGNITE-725?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14491912#comment-14491912
]
Alexey Goncharuk commented on IGNITE-725:
-----------------------------------------
This happens because marshaller cache is stopped before indexing has finished
processing requests.
> NPE in GridDhtAtomicCache
> -------------------------
>
> Key: IGNITE-725
> URL: https://issues.apache.org/jira/browse/IGNITE-725
> Project: Ignite
> Issue Type: Bug
> Affects Versions: sprint-3
> Reporter: Alexey Kuznetsov
> Assignee: Alexey Goncharuk
> Priority: Blocker
> Fix For: sprint-4
>
>
> NPE is in GridDhtAtomicCache:795
> To reproduce: run VisorSelfTestSuite in ignite-sprint-3 branch
> test "properly retrieve query results from PARTITIONED cache" failing from
> time to time.
> {code}
> [10:19:11,727][ERROR][ignite-#1786%pub-testGrid-0%][GridMapQueryExecutor]
> Failed to execute local query: GridQueryRequest [reqId=1, pageSize=1,
> space=partitioned, qrys=[GridCacheSqlQuery [qry=SELECT
> PERSON._KEY __C0,
> PERSON._VAL __C1
> FROM "partitioned".PERSON, params=[]]]]
> org.h2.message.DbException: Ошибка сериализации, причина:
> "java.lang.NullPointerException"
> Serialization failed, cause: "java.lang.NullPointerException" [90026-175]
> at org.h2.message.DbException.get(DbException.java:161)
> at org.h2.util.Utils.serialize(Utils.java:355)
> at
> org.h2.value.ValueJavaObject$NotSerialized.getBytesNoCopy(ValueJavaObject.java:94)
> at org.h2.store.Data.getValueLen(Data.java:1001)
> at org.h2.store.Data.getValueLen(Data.java:878)
> at
> org.apache.ignite.internal.processors.query.h2.twostep.GridMapQueryExecutor.marshallRows(GridMapQueryExecutor.java:379)
> at
> org.apache.ignite.internal.processors.query.h2.twostep.GridMapQueryExecutor.sendNextPage(GridMapQueryExecutor.java:317)
> at
> org.apache.ignite.internal.processors.query.h2.twostep.GridMapQueryExecutor.onQueryRequest(GridMapQueryExecutor.java:234)
> at
> org.apache.ignite.internal.processors.query.h2.twostep.GridMapQueryExecutor.onMessage(GridMapQueryExecutor.java:118)
> at
> org.apache.ignite.internal.managers.communication.GridIoManager$ArrayListener.onMessage(GridIoManager.java:1554)
> at
> org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:664)
> at
> org.apache.ignite.internal.managers.communication.GridIoManager.access$1500(GridIoManager.java:57)
> at
> org.apache.ignite.internal.managers.communication.GridIoManager$5.run(GridIoManager.java:627)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run(Thread.java:745)
> Caused by: org.h2.jdbc.JdbcSQLException: Ошибка сериализации, причина:
> "java.lang.NullPointerException"
> Serialization failed, cause: "java.lang.NullPointerException" [90026-175]
> at org.h2.message.DbException.getJdbcSQLException(DbException.java:332)
> ... 16 more
> Caused by: java.lang.NullPointerException
> at
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateAllAsync0(GridDhtAtomicCache.java:792)
> at
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.tryPutIfAbsent(GridDhtAtomicCache.java:359)
> at
> org.apache.ignite.internal.MarshallerContextImpl.registerClassName(MarshallerContextImpl.java:91)
> at
> org.apache.ignite.internal.MarshallerContextAdapter.registerClass(MarshallerContextAdapter.java:88)
> at
> org.apache.ignite.marshaller.optimized.OptimizedMarshallerUtils.classDescriptor(OptimizedMarshallerUtils.java:192)
> at
> org.apache.ignite.marshaller.optimized.OptimizedObjectOutputStream.writeObject0(OptimizedObjectOutputStream.java:178)
> at
> org.apache.ignite.marshaller.optimized.OptimizedObjectOutputStream.writeObjectOverride(OptimizedObjectOutputStream.java:131)
> at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:343)
> at
> org.apache.ignite.marshaller.optimized.OptimizedMarshaller.marshal(OptimizedMarshaller.java:181)
> at
> org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing$4.serialize(IgniteH2Indexing.java:1180)
> at org.h2.util.Utils.serialize(Utils.java:348)
> ... 14 more
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)