You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Anthony Baker (JIRA)" <ji...@apache.org> on 2018/05/02 18:22:16 UTC

[jira] [Closed] (GEODE-4872) JdbcReader throws serialization exception for byte[] when the field type is Object

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

Anthony Baker closed GEODE-4872.
--------------------------------

> JdbcReader throws serialization exception for byte[] when the field type is Object
> ----------------------------------------------------------------------------------
>
>                 Key: GEODE-4872
>                 URL: https://issues.apache.org/jira/browse/GEODE-4872
>             Project: Geode
>          Issue Type: Bug
>          Components: extensions, regions
>    Affects Versions: 1.4.0
>            Reporter: Anilkumar Gingade
>            Assignee: Darrel Schneider
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 1.6.0
>
>          Time Spent: 40m
>  Remaining Estimate: 0h
>
> JdbcReader when creating PdxInstance throws serialization exception for byte[] when its field type is treated as Object. This field is mapped in the table as blob column.
> {noformat}
> Caused by: org.apache.geode.cache.client.ServerOperationException: remote server on 10.118.33.196(66546:loner):64576:da7cbe2f: org.apache.geode.pdx.PdxSerializationException: Exception while serializing a PDX field
>     at org.apache.geode.cache.client.internal.OpExecutorImpl.handleException(OpExecutorImpl.java:680)
>     at org.apache.geode.cache.client.internal.OpExecutorImpl.handleException(OpExecutorImpl.java:739)
>     at org.apache.geode.cache.client.internal.OpExecutorImpl.handleException(OpExecutorImpl.java:622)
>     at org.apache.geode.cache.client.internal.OpExecutorImpl.execute(OpExecutorImpl.java:179)
>     at org.apache.geode.cache.client.internal.OpExecutorImpl.execute(OpExecutorImpl.java:127)
>     at org.apache.geode.cache.client.internal.PoolImpl.execute(PoolImpl.java:782)
>     at org.apache.geode.cache.client.internal.GetOp.execute(GetOp.java:91)
>     at org.apache.geode.cache.client.internal.ServerRegionProxy.get(ServerRegionProxy.java:113)
>     at org.apache.geode.internal.cache.LocalRegion.findObjectInSystem(LocalRegion.java:2768)
>     at org.apache.geode.internal.cache.LocalRegion.nonTxnFindObject(LocalRegion.java:1490)
>     at org.apache.geode.internal.cache.LocalRegionDataView.findObject(LocalRegionDataView.java:176)
>     at org.apache.geode.internal.cache.LocalRegion.get(LocalRegion.java:1379)
>     at org.apache.geode.internal.cache.LocalRegion.get(LocalRegion.java:1313)
>     at org.apache.geode.internal.cache.LocalRegion.get(LocalRegion.java:1298)
>     at org.apache.geode.internal.cache.AbstractRegion.get(AbstractRegion.java:313)
>     at org.apache.geode.connectors.jdbc.JdbcDUnitTest.lambda$clientGetReadsFromDBWithPdxClassName$bb17a952$1(JdbcDUnitTest.java:348)
>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>     at java.lang.reflect.Method.invoke(Method.java:498)
>     at hydra.MethExecutor.executeObject(MethExecutor.java:244)
>     at org.apache.geode.test.dunit.standalone.RemoteDUnitVM.executeMethodOnObject(RemoteDUnitVM.java:70)
>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>     at java.lang.reflect.Method.invoke(Method.java:498)
>     at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:357)
>     at sun.rmi.transport.Transport$1.run(Transport.java:200)
>     at sun.rmi.transport.Transport$1.run(Transport.java:197)
>     at java.security.AccessController.doPrivileged(Native Method)
>     at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
>     at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)
>     at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)
>     at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683)
>     at java.security.AccessController.doPrivileged(Native Method)
>     at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)
>     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>     at java.lang.Thread.run(Thread.java:748)
> Caused by: org.apache.geode.pdx.PdxSerializationException: Exception while serializing a PDX field
>     at org.apache.geode.pdx.internal.PdxOutputStream.writeObject(PdxOutputStream.java:84)
>     at org.apache.geode.pdx.internal.PdxWriterImpl.writeObject(PdxWriterImpl.java:329)
>     at org.apache.geode.pdx.internal.PdxInstanceFactoryImpl.writeObject(PdxInstanceFactoryImpl.java:210)
>     at org.apache.geode.pdx.internal.PdxInstanceFactoryImpl.writeObject(PdxInstanceFactoryImpl.java:123)
>     at org.apache.geode.connectors.jdbc.internal.SqlToPdxInstanceCreator.writeField(SqlToPdxInstanceCreator.java:172)
>     at org.apache.geode.connectors.jdbc.internal.SqlToPdxInstanceCreator.create(SqlToPdxInstanceCreator.java:54)
>     at org.apache.geode.connectors.jdbc.internal.SqlHandler.read(SqlHandler.java:74)
>     at org.apache.geode.connectors.jdbc.JdbcLoader.load(JdbcLoader.java:55)
>     at org.apache.geode.internal.cache.SearchLoadAndWriteProcessor.doLocalLoad(SearchLoadAndWriteProcessor.java:792)
>     at org.apache.geode.internal.cache.SearchLoadAndWriteProcessor.load(SearchLoadAndWriteProcessor.java:603)
>     at org.apache.geode.internal.cache.SearchLoadAndWriteProcessor.searchAndLoad(SearchLoadAndWriteProcessor.java:462)
>     at org.apache.geode.internal.cache.SearchLoadAndWriteProcessor.doSearchAndLoad(SearchLoadAndWriteProcessor.java:177)
>     at org.apache.geode.internal.cache.DistributedRegion.findUsingSearchLoad(DistributedRegion.java:2333)
>     at org.apache.geode.internal.cache.DistributedRegion.findObjectInSystem(DistributedRegion.java:2203)
>     at org.apache.geode.internal.cache.LocalRegion.nonTxnFindObject(LocalRegion.java:1490)
>     at org.apache.geode.internal.cache.LocalRegionDataView.findObject(LocalRegionDataView.java:176)
>     at org.apache.geode.internal.cache.LocalRegion.get(LocalRegion.java:1379)
>     at org.apache.geode.internal.cache.LocalRegion.getRetained(LocalRegion.java:1340)
>     at org.apache.geode.internal.cache.LocalRegion.getRetained(LocalRegion.java:1325)
>     at org.apache.geode.internal.cache.tier.sockets.command.Get70.getEntryRetained(Get70.java:342)
>     at org.apache.geode.internal.cache.tier.sockets.command.Get70.getEntry(Get70.java:236)
>     at org.apache.geode.internal.cache.tier.sockets.command.Get70.cmdExecute(Get70.java:154)
>     at org.apache.geode.internal.cache.tier.sockets.BaseCommand.execute(BaseCommand.java:163)
>     at org.apache.geode.internal.cache.tier.sockets.ServerConnection.doNormalMsg(ServerConnection.java:868)
>     at org.apache.geode.internal.cache.tier.sockets.OriginalServerConnection.doOneMessage(OriginalServerConnection.java:85)
>     at org.apache.geode.internal.cache.tier.sockets.ServerConnection.run(ServerConnection.java:1248)
>     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>     at org.apache.geode.internal.cache.tier.sockets.AcceptorImpl$4$1.run(AcceptorImpl.java:644)
>     ... 1 more
> Caused by: java.io.NotSerializableException: org.apache.derby.impl.jdbc.EmbedBlob
>     at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1184)
>     at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348)
>     at org.apache.geode.internal.InternalDataSerializer.writeSerializableObject(InternalDataSerializer.java:2372)
>     at org.apache.geode.internal.InternalDataSerializer.basicWriteObject(InternalDataSerializer.java:2247)
>     at org.apache.geode.pdx.internal.PdxOutputStream.writeObject(PdxOutputStream.java:82)
>     ... 29 more
> {noformat}
>  



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