为什么我得到com.gemstone.gemfire.cache.query.internal.index.IMQException

时间:2018-01-31 05:22:35

标签: serialization gemfire spring-data-gemfire

我在生产环境中遇到异常。在此异常之后,我们不断获得序列化异常。

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上。 有没有人对这个问题有任何想法?

0 个答案:

没有答案