[ 
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)

Reply via email to