[ 
https://issues.apache.org/jira/browse/GEODE-9532?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17403929#comment-17403929
 ] 

Jianxia Chen commented on GEODE-9532:
-------------------------------------

This bug is not easy to reproduce. Based on the analysis with additional 
logging, this is more like a test issue. VM2 disconnected and registered a 
customized DataSerializer before reconnect. Then VM2 did a put and get on a 
persistent replicated region. When the asynchronous disk store were trying to 
flush the data to disk on the other two VMs VM0 and VM1, these two VMs were not 
aware of the new customized DataSerializer, therefore they throw serialization 
exception when serializing the instance of LongWrapper class. It depends on 
timing. Most of the time, when the async disk store is flushing, VM0 and VM1 
have already got the customized DataSerializer after VM2 reconnects, so there 
is no serialization issue and the test passes.

> CI Failure: DiskDistributedNoAckAsyncRegionDUnitTest > testNoDataSerializer 
> fails with NotSerializableException
> ---------------------------------------------------------------------------------------------------------------
>
>                 Key: GEODE-9532
>                 URL: https://issues.apache.org/jira/browse/GEODE-9532
>             Project: Geode
>          Issue Type: Bug
>    Affects Versions: 1.14.0
>            Reporter: Donal Evans
>            Assignee: Jianxia Chen
>            Priority: Major
>              Labels: GeodeOperationAPI, blocks-1.14.0​
>
> {noformat}
> org.apache.geode.cache30.DiskDistributedNoAckAsyncRegionDUnitTest > 
> testNoDataSerializer FAILED
>     java.lang.AssertionError: Suspicious strings were written to the log 
> during this run.
>     Fix the strings or use IgnoredException.addIgnoredException to ignore.
>     -----------------------------------------------------------------------
>     Found suspect string in 'dunit_suspect-vm0.log' at line 570
>     [fatal 2021/06/15 17:11:03.722 GMT <Asynchronous disk writer for region 
> DiskDistributedNoAckAsyncRegionDUnitTest_testNoDataSerializer> tid=2145] 
> Fatal error from asynchronous flusher thread
>     org.apache.geode.SerializationException: An IOException was thrown while 
> serializing.
>       at 
> org.apache.geode.internal.cache.EntryEventImpl.serialize(EntryEventImpl.java:2105)
>       at 
> org.apache.geode.internal.cache.EntryEventImpl.serialize(EntryEventImpl.java:2088)
>       at 
> org.apache.geode.internal.cache.VMCachedDeserializable.getSerializedValue(VMCachedDeserializable.java:200)
>       at 
> org.apache.geode.internal.cache.entries.DiskEntry$Helper.createValueWrapper(DiskEntry.java:753)
>       at 
> org.apache.geode.internal.cache.entries.DiskEntry$Helper.createValueWrapperFromEntry(DiskEntry.java:807)
>       at 
> org.apache.geode.internal.cache.entries.DiskEntry$Helper.writeToDisk(DiskEntry.java:825)
>       at 
> org.apache.geode.internal.cache.entries.DiskEntry$Helper.writeToDisk(DiskEntry.java:815)
>       at 
> org.apache.geode.internal.cache.entries.DiskEntry$Helper.writeEntryToDisk(DiskEntry.java:1493)
>       at 
> org.apache.geode.internal.cache.entries.DiskEntry$Helper.doAsyncFlush(DiskEntry.java:1445)
>       at 
> org.apache.geode.internal.cache.DiskStoreImpl$FlusherThread.doAsyncFlush(DiskStoreImpl.java:1765)
>       at 
> org.apache.geode.internal.cache.DiskStoreImpl$FlusherThread.run(DiskStoreImpl.java:1723)
>       at java.lang.Thread.run(Thread.java:748)
>     Caused by: java.io.NotSerializableException: 
> org.apache.geode.cache30.MultiVMRegionTestCase$LongWrapper
>       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:2186)
>       at 
> org.apache.geode.internal.InternalDataSerializer.basicWriteObject(InternalDataSerializer.java:2055)
>       at org.apache.geode.DataSerializer.writeObject(DataSerializer.java:2839)
>       at 
> org.apache.geode.internal.util.BlobHelper.serializeToBlob(BlobHelper.java:54)
>       at 
> org.apache.geode.internal.cache.EntryEventImpl.serialize(EntryEventImpl.java:2103)
>       ... 11 more
>     -----------------------------------------------------------------------
>     Found suspect string in 'dunit_suspect-vm0.log' at line 594
>     [error 2021/06/15 17:11:03.734 GMT <Asynchronous disk writer for region 
> DiskDistributedNoAckAsyncRegionDUnitTest_testNoDataSerializer> tid=2145] A 
> DiskAccessException has occurred while writing to the disk for disk store 
> DiskDistributedNoAckAsyncRegionDUnitTest_testNoDataSerializer. The cache will 
> be closed.
>     org.apache.geode.cache.DiskAccessException: For DiskStore: 
> DiskDistributedNoAckAsyncRegionDUnitTest_testNoDataSerializer: Fatal error 
> from asynchronous flusher thread, caused by 
> org.apache.geode.SerializationException: An IOException was thrown while 
> serializing.
>       at 
> org.apache.geode.internal.cache.DiskStoreImpl$FlusherThread.doAsyncFlush(DiskStoreImpl.java:1809)
>       at 
> org.apache.geode.internal.cache.DiskStoreImpl$FlusherThread.run(DiskStoreImpl.java:1723)
>       at java.lang.Thread.run(Thread.java:748)
>     Caused by: org.apache.geode.SerializationException: An IOException was 
> thrown while serializing.
>       at 
> org.apache.geode.internal.cache.EntryEventImpl.serialize(EntryEventImpl.java:2105)
>       at 
> org.apache.geode.internal.cache.EntryEventImpl.serialize(EntryEventImpl.java:2088)
>       at 
> org.apache.geode.internal.cache.VMCachedDeserializable.getSerializedValue(VMCachedDeserializable.java:200)
>       at 
> org.apache.geode.internal.cache.entries.DiskEntry$Helper.createValueWrapper(DiskEntry.java:753)
>       at 
> org.apache.geode.internal.cache.entries.DiskEntry$Helper.createValueWrapperFromEntry(DiskEntry.java:807)
>       at 
> org.apache.geode.internal.cache.entries.DiskEntry$Helper.writeToDisk(DiskEntry.java:825)
>       at 
> org.apache.geode.internal.cache.entries.DiskEntry$Helper.writeToDisk(DiskEntry.java:815)
>       at 
> org.apache.geode.internal.cache.entries.DiskEntry$Helper.writeEntryToDisk(DiskEntry.java:1493)
>       at 
> org.apache.geode.internal.cache.entries.DiskEntry$Helper.doAsyncFlush(DiskEntry.java:1445)
>       at 
> org.apache.geode.internal.cache.DiskStoreImpl$FlusherThread.doAsyncFlush(DiskStoreImpl.java:1765)
>       ... 2 more
>     Caused by: java.io.NotSerializableException: 
> org.apache.geode.cache30.MultiVMRegionTestCase$LongWrapper
>       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:2186)
>       at 
> org.apache.geode.internal.InternalDataSerializer.basicWriteObject(InternalDataSerializer.java:2055)
>       at org.apache.geode.DataSerializer.writeObject(DataSerializer.java:2839)
>       at 
> org.apache.geode.internal.util.BlobHelper.serializeToBlob(BlobHelper.java:54)
>       at 
> org.apache.geode.internal.cache.EntryEventImpl.serialize(EntryEventImpl.java:2103)
>       ... 11 more
> 8907 tests completed, 1 failed, 467 skipped
> {noformat}
> =-=-=-=-=-=-=-=-=-=-=-=-=-=-=  Test Results URI 
> =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
> http://files.apachegeode-ci.info/builds/apache-support-1-14-main/1.14.0-build.0809/test-results/distributedTest/1623780601/
> =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
> Test report artifacts from this job are available at:
> http://files.apachegeode-ci.info/builds/apache-support-1-14-main/1.14.0-build.0809/test-artifacts/1623780601/distributedtestfiles-openjdk8-1.14.0-build.0809.tgz



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to