IllegalStateException "Partition <?> does not exist at PartitionSplittingBackingMap" (Doc ID 1076459.1)

Last updated on FEBRUARY 24, 2017

Applies to:

Oracle Coherence - Version: 3.5.2 to 3.5.2 - Release: AS10g to AS10g
Information in this document applies to any platform.

Symptoms

Node 1 has started. As part of the start-up it reads data from a database and places the data as objects  into a cache. A backing map listener detects these objects and on a separate thread processes them.  That cache has a write-behind CacheStore which writes to a DB.

As soon as Node 2 joins the cluster a message like the following can be observed in the Node 1 log:

2009-10-27 18:31:46,910 DEBUG lccohd1-1 [1.8.607] Log4j [Logger@9226098 3.5.2/463] - 13.796 <D5> (thread=WriteBehindThread:CacheStoreWrapper(com.core.cache.cachestores.TradeOverviewCacheStore), member=1): An entry was inserted into the backing map for the partitioned cache "tradeoverview" that is not owned by this member; the entry will be removed.
ReadWriteBackingMap$5{ReadWriteBackingMap updated: key=Binary(length=22, value=0x0D810115A80F000042A89AAAC5FA88812101408F0A40), old value=Binary(length=184, value=)x...), new value=Binary(length=176, value=0x...)}
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$Storage.onBackingMapEvent(DistributedCache.CDB:163)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$Storage$PrimaryListener.entryUpdated(DistributedCache.CDB:1)
at com.tangosol.util.MapEvent.dispatch(MapEvent.java:210)
at com.tangosol.util.MapEvent.dispatch(MapEvent.java:166)
at com.tangosol.util.MapListenerSupport.fireEvent(MapListenerSupport.java:556)
at com.tangosol.net.cache.ReadWriteBackingMap$InternalMapListener.dispatch(ReadWriteBackingMap.java:2087)
at com.tangosol.net.cache.ReadWriteBackingMap$InternalMapListener.entryUpdated(ReadWriteBackingMap.java:1957)
at com.tangosol.util.MapEvent.dispatch(MapEvent.java:210)
at com.tangosol.util.MapEvent.dispatch(MapEvent.java:166)
at com.tangosol.util.MapListenerSupport.fireEvent(MapListenerSupport.java:556)
at com.tangosol.net.cache.OldCache.dispatchEvent(OldCache.java:1916)
at com.tangosol.net.cache.OldCache$Entry.setValue(OldCache.java:2042)
at com.tangosol.net.cache.OldCache.put(OldCache.java:273)
at com.tangosol.net.cache.ReadWriteBackingMap$CacheStoreWrapper.replaceInternal(ReadWriteBackingMap.java:4268)
at com.tangosol.net.cache.ReadWriteBackingMap$CacheStoreWrapper.storeInternal(ReadWriteBackingMap.java:4090)
at com.tangosol.net.cache.ReadWriteBackingMap$WriteThread.run(ReadWriteBackingMap.java:3715)
at com.tangosol.util.Daemon$DaemonWorker.run(Daemon.java:714)
at java.lang.Thread.run(Thread.java:619)

Node 2 log shows the following:

java.lang.IllegalStateException: Partition 166 does not exist at PartitionSplittingBackingMap
Unknown macro: {Name=tradeoverview$Backup,Partitions=[...]}

at com.tangosol.net.partition.PartitionSplittingBackingMap.reportMissingPartition(PartitionSplittingBackingMap.java:566)
at com.tangosol.net.partition.PartitionSplittingBackingMap.putAll(PartitionSplittingBackingMap.java:161)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache.onPutRequest(DistributedCache.CDB:132)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$PutRequest.run(DistributedCache.CDB:1)
at com.tangosol.coherence.component.net.message.requestMessage.distributedCacheKeyRequest.ExtendedKeyRequest.onReceived(ExtendedKeyRequest.CDB:8)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.onMessage(Grid.CDB:9)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.onNotify(Grid.CDB:136)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache.onNotify(DistributedCache.CDB:3)
at com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:42)
at java.lang.Thread.run(Thread.java:619)
2009-10-27 18:31:48,214 INFO lccohd1-2 [1.8.607] Log4j [Logger@9227652 3.5.2/463] - 5.100 <Info> (thread=DistributedCache:EventDispatcher, member=2): Restarting NamedCache: token-services
2009-10-27 18:31:48,215 INFO lccohd1-2 [1.8.607] Log4j [Logger@9227652 3.5.2/463] - 5.100 <Info> (thread=DistributedCache:EventDispatcher, member=2): Restarting Service: DistributedCache
2009-10-27 18:31:48,215 DEBUG lccohd1-2 [1.8.607] Log4j [Logger@9227652 3.5.2/463] - 5.100 <D5> (thread=DistributedCache, member=2): Service DistributedCache left the cluster
2009-10-27 18:31:48,416 ERROR lccohd1-2 [1.8.607] AbstractQTGServer [main] - Failed to start Ems Server
java.lang.RuntimeException: Service has been terminated
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$BinaryMap.onMissingStorage(DistributedCache.CDB:9)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$BinaryMap.ensureRequestTarget(DistributedCache.CDB:34)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$BinaryMap.put(DistributedCache.CDB:22)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$BinaryMap.put(DistributedCache.CDB:1)
at com.tangosol.util.ConverterCollections$ConverterMap.put(ConverterCollections.java:1541)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$ViewMap.put(DistributedCache.CDB:1)
at com.tangosol.coherence.component.util.SafeNamedCache.put(SafeNamedCache.CDB:1)
at com.core.cache.IdentifiableCoherenceCache.put(IdentifiableCoherenceCache.java:99)
at com.core.services.AbstractService.updateServiceStatus(AbstractService.java:147)
at com.core.services.AbstractService.refreshServiceToken(AbstractService.java:225)
at com.core.AbstractQTGServer.startService(AbstractQTGServer.java:355)

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms