You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "ASF subversion and git services (JIRA)" <ji...@apache.org> on 2018/10/19 22:17:00 UTC

[jira] [Commented] (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:comment-tabpanel&focusedCommentId=16657514#comment-16657514 ] 

ASF subversion and git services commented on GEODE-4872:
--------------------------------------------------------

Commit cc30e4868f75945061666f633e2953f0a0dea612 in geode's branch refs/heads/develop from Dan Smith
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=cc30e48 ]

GEODE-4872: Fixing logging tests in PersistentColocatedPartitionedRegionDUnitTest

This test had a number of tests making assertions about log messages.
Unfortunately, these tests had assertions inside of a try/finally block,
and the finally had a return. Therefore the assertion failures were
simply ignored, and the test was just a test that the callables returned
in 60 seconds.

Fixing this test by removing the bad verify calls and returns in finally
blocks.

Cleaning up the way the tests hooked into the logging system.


> 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: 1h
>  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)