我在生产环境中遇到异常。在此异常之后,我们不断获得序列化异常。
Heuristic completion: outcome state is mixed; nested exception is org.springframework.data.gemfire.GemfireTransactionCommitException:
Unexpected failure on commit of Cache local transaction; nested exception is com.gemstone.gemfire.cache.CommitIncompleteException:
Incomplete commit of transaction TXId: c11pcsssvc64(eisCacheServer_c11pcsssvc64.dswh.ds.adp.com:63400)<v2>:4723:70384. Caused by the following exceptions:
From member: 100.99.18.94(eisCacheServer_c13pcsssvc696.dswh.ds.adp.com:77303)<v3>:23007 com.gemstone.gemfire.cache.query.IndexMaintenanceException:
com.gemstone.gemfire.cache.query.internal.index.IMQException, caused by com.gemstone.gemfire.cache.query.internal.index.IMQException
at com.gemstone.gemfire.internal.cache.LocalRegion.txApplyPutPart2(LocalRegion.java:5090)
at com.gemstone.gemfire.internal.cache.AbstractRegionMap.txApplyPut(AbstractRegionMap.java:3488)
at com.gemstone.gemfire.internal.cache.LocalRegion.txApplyPut(LocalRegion.java:5058)
at com.gemstone.gemfire.internal.cache.TXCommitMessage$RegionCommit.txApplyEntryOp(TXCommitMessage.java:1296)
at com.gemstone.gemfire.internal.cache.TXCommitMessage$RegionCommit$FarSideEntryOp.process(TXCommitMessage.java:1566)
at com.gemstone.gemfire.internal.cache.TXCommitMessage.basicProcessOps(TXCommitMessage.java:719)
at com.gemstone.gemfire.internal.cache.TXCommitMessage.basicProcess(TXCommitMessage.java:655)
at com.gemstone.gemfire.internal.cache.TXCommitMessage$CommitProcessMessage.basicProcess(TXCommitMessage.java:1737)
at com.gemstone.gemfire.internal.cache.TXCommitMessage$CommitProcessForLockIdMessage.process(TXCommitMessage.java:1657)
at com.gemstone.gemfire.distributed.internal.DistributionMessage.scheduleAction(DistributionMessage.java:305)
at com.gemstone.gemfire.distributed.internal.DistributionMessage$1.run(DistributionMessage.java:368)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at com.gemstone.gemfire.distributed.internal.DistributionManager.runUntilShutdown(DistributionManager.java:692)
at com.gemstone.gemfire.distributed.internal.DistributionManager$4$1.run(DistributionManager.java:963)
at java.lang.Thread.run(Thread.java:745).,
此数据从区域损坏后,当我们点击任何从损坏区域带来数据的API时,我们会收到序列化异常
An IOException was thrown while deserializing; nested exception is com.gemstone.gemfire.SerializationException:
An IOException was thrown while deserializing ,Cause=org.springframework.dao.DataAccessResourceFailureException:
An IOException was thrown while deserializing; nested exception is com.gemstone.gemfire.SerializationException:
An IOException was thrown while deserializing
prod setup: 我们有2个数据节点。嵌入式tomcat gemfire节点。 Gemfire版本是7.0.2(我们无法升级到最新版本) 2个定位器 8个地区
经过分析,我们发现在2个数据节点之间数据同步时可能会发生这种情况。问题是我们无法在任何较低的环境中重现此问题。这只会间歇地发生在prod上。 有没有人对这个问题有任何想法?