You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Roman Guseinov (JIRA)" <ji...@apache.org> on 2019/03/27 03:07:00 UTC

[jira] [Updated] (IGNITE-11634) SQL delete query failed to deserialize entryModifier

     [ https://issues.apache.org/jira/browse/IGNITE-11634?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Roman Guseinov updated IGNITE-11634:
------------------------------------
    Summary: SQL delete query failed to deserialize entryModifier  (was: SQL delete query failed to deserialize DmlStatementsProcessor$ModifyingEntryProcessor)

> SQL delete query failed to deserialize entryModifier
> ----------------------------------------------------
>
>                 Key: IGNITE-11634
>                 URL: https://issues.apache.org/jira/browse/IGNITE-11634
>             Project: Ignite
>          Issue Type: Bug
>          Components: sql
>    Affects Versions: 2.7
>            Reporter: Roman Guseinov
>            Assignee: Roman Guseinov
>            Priority: Major
>
> Here is a stack trace
> {code:java}
> Exception in thread "main" javax.cache.CacheException: Failed to deserialize object [typeName=org.apache.ignite.internal.processors.query.h2.DmlStatementsProcessor$ModifyingEntryProcessor]
> 	at org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.query(IgniteCacheProxyImpl.java:635)
> 	at org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.query(IgniteCacheProxyImpl.java:574)
> 	at org.apache.ignite.internal.processors.cache.GatewayProtectedCacheProxy.query(GatewayProtectedCacheProxy.java:356)
> 	at org.gridgain.reproducers.sql.JavaSqlClient.deleteRow(JavaSqlClient.java:42)
> 	at org.gridgain.reproducers.sql.JavaSqlClient.run(JavaSqlClient.java:33)
> 	at org.gridgain.reproducers.sql.JavaSqlClient.main(JavaSqlClient.java:28)
> Caused by: class org.apache.ignite.internal.processors.query.IgniteSQLException: Failed to deserialize object [typeName=org.apache.ignite.internal.processors.query.h2.DmlStatementsProcessor$ModifyingEntryProcessor]
> 	at org.apache.ignite.internal.processors.query.h2.DmlStatementsProcessor.doDelete(DmlStatementsProcessor.java:686)
> 	at org.apache.ignite.internal.processors.query.h2.DmlStatementsProcessor.processDmlSelectResult(DmlStatementsProcessor.java:587)
> 	at org.apache.ignite.internal.processors.query.h2.DmlStatementsProcessor.executeUpdateStatement(DmlStatementsProcessor.java:539)
> 	at org.apache.ignite.internal.processors.query.h2.DmlStatementsProcessor.updateSqlFields(DmlStatementsProcessor.java:171)
> 	at org.apache.ignite.internal.processors.query.h2.DmlStatementsProcessor.updateSqlFieldsDistributed(DmlStatementsProcessor.java:345)
> 	at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.doRunPrepared(IgniteH2Indexing.java:1753)
> 	at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.querySqlFields(IgniteH2Indexing.java:1718)
> 	at org.apache.ignite.internal.processors.query.GridQueryProcessor$3.applyx(GridQueryProcessor.java:2007)
> 	at org.apache.ignite.internal.processors.query.GridQueryProcessor$3.applyx(GridQueryProcessor.java:2002)
> 	at org.apache.ignite.internal.util.lang.IgniteOutClosureX.apply(IgniteOutClosureX.java:36)
> 	at org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuery(GridQueryProcessor.java:2550)
> 	at org.apache.ignite.internal.processors.query.GridQueryProcessor.querySqlFields(GridQueryProcessor.java:2016)
> 	at org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.query(IgniteCacheProxyImpl.java:623)
> 	... 5 more
> Caused by: java.sql.SQLException: Failed to deserialize object [typeName=org.apache.ignite.internal.processors.query.h2.DmlStatementsProcessor$ModifyingEntryProcessor]
> 	at org.apache.ignite.internal.processors.query.h2.dml.DmlBatchSender.processPage(DmlBatchSender.java:225)
> 	at org.apache.ignite.internal.processors.query.h2.dml.DmlBatchSender.sendBatch(DmlBatchSender.java:184)
> 	at org.apache.ignite.internal.processors.query.h2.dml.DmlBatchSender.flush(DmlBatchSender.java:135)
> 	at org.apache.ignite.internal.processors.query.h2.DmlStatementsProcessor.doDelete(DmlStatementsProcessor.java:668)
> 	... 17 more
> Caused by: class org.apache.ignite.IgniteCheckedException: Failed to deserialize object [typeName=org.apache.ignite.internal.processors.query.h2.DmlStatementsProcessor$ModifyingEntryProcessor]
> 	at org.apache.ignite.internal.util.IgniteUtils.unmarshal(IgniteUtils.java:10045)
> 	at org.apache.ignite.internal.processors.cache.GridCacheMessage.unmarshalCollection(GridCacheMessage.java:650)
> 	at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicFullUpdateRequest.finishUnmarshal(GridNearAtomicFullUpdateRequest.java:405)
> 	at org.apache.ignite.internal.processors.cache.GridCacheIoManager.unmarshall(GridCacheIoManager.java:1609)
> 	at org.apache.ignite.internal.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:586)
> 	at org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:392)
> 	at org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:318)
> 	at org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$100(GridCacheIoManager.java:109)
> 	at org.apache.ignite.internal.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:308)
> Disconnected from the target VM, address: '127.0.0.1:2839', transport: 'socket'
> 	at org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1561)
> 	at org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1189)
> 	at org.apache.ignite.internal.managers.communication.GridIoManager.access$4200(GridIoManager.java:127)
> 	at org.apache.ignite.internal.managers.communication.GridIoManager$8.run(GridIoManager.java:1086)
> 	at org.apache.ignite.internal.util.StripedExecutor$Stripe.body(StripedExecutor.java:550)
> 	at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120)
> 	at java.lang.Thread.run(Thread.java:748)
> Caused by: class org.apache.ignite.binary.BinaryObjectException: Failed to deserialize object [typeName=org.apache.ignite.internal.processors.query.h2.DmlStatementsProcessor$ModifyingEntryProcessor]
> 	at org.apache.ignite.internal.binary.BinaryClassDescriptor.read(BinaryClassDescriptor.java:913)
> 	at org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize0(BinaryReaderExImpl.java:1763)
> 	at org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize(BinaryReaderExImpl.java:1715)
> 	at org.apache.ignite.internal.binary.GridBinaryMarshaller.deserialize(GridBinaryMarshaller.java:307)
> 	at org.apache.ignite.internal.binary.BinaryMarshaller.unmarshal0(BinaryMarshaller.java:101)
> 	at org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller.unmarshal(AbstractNodeNameAwareMarshaller.java:81)
> 	at org.apache.ignite.internal.util.IgniteUtils.unmarshal(IgniteUtils.java:10039)
> 	... 15 more
> Caused by: class org.apache.ignite.binary.BinaryObjectException: Failed to read field [name=entryModifier]
> 	at org.apache.ignite.internal.binary.BinaryFieldAccessor.read(BinaryFieldAccessor.java:192)
> 	at org.apache.ignite.internal.binary.BinaryClassDescriptor.read(BinaryClassDescriptor.java:874)
> 	... 21 more
> Caused by: java.lang.IllegalArgumentException: Can not set final org.apache.ignite.lang.IgniteInClosure field org.apache.ignite.internal.processors.query.h2.DmlStatementsProcessor$ModifyingEntryProcessor.entryModifier to org.apache.ignite.internal.processors.query.h2.DmlStatementsProcessor$4
> 	at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:167)
> 	at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:171)
> 	at sun.reflect.UnsafeQualifiedObjectFieldAccessorImpl.set(UnsafeQualifiedObjectFieldAccessorImpl.java:83)
> 	at java.lang.reflect.Field.set(Field.java:764)
> 	at org.apache.ignite.internal.binary.BinaryFieldAccessor$DefaultFinalClassAccessor.read0(BinaryFieldAccessor.java:707)
> 	at org.apache.ignite.internal.binary.BinaryFieldAccessor.read(BinaryFieldAccessor.java:188)
> 	... 22 more
> {code}
> This happens because RMV closure was moved from DmlStatementsProcessor$4 to DmlStatementsProcessor$5 (changed the position of anonymous class).



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)