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