Hi Team,

Could you guide us with below exception?

How did we get that?

Step1: Our region is already loaded with 1M+ records 
[Region<String,PdxInstance> -- PDXInstance is JsonString using JsonFormatter]
Step2: When client is instructed about bulk updates in database, we calculate 
diff of keys using (cache - database) to remove stale deleted entries from 
region
Step3: To do the same, we run below loop,


for(Object key : cacheKeys ){
template.remove(key);
}

Region def:

<geode:replicated-region id="Event"
                     cache-ref="geodeCache"
                     scope="distributed-ack"
                     key-constraint="java.lang.String"
                     value-constraint="org.apache.geode.pdx.PdxInstance"
                     shortcut="REPLICATE_PERSISTENT_OVERFLOW"
                     persistent="true"
                     disk-synchronous="false"
                     disk-store-ref="event_disk_store">
                     <geode:cache-loader ref="eventCacheMissDbLoader"/>
       </geode:replicated-region>

       <geode:index id="event_uuid_indx" expression="i.uuid" from="/Event i" 
cache-ref="geodeCache"/>
       <geode:index id="event_intField_indx" expression="i.intField" 
from="/Event i" cache-ref="geodeCache" type="FUNCTIONAL"/>

Which results into below exception >>

java.lang.ClassCastException: org.apache.geode.pdx.internal.PdxString cannot be 
cast to java.lang.Integer
        at java.lang.Integer.compareTo(Integer.java:52)
        at 
org.apache.geode.cache.query.internal.types.ExtendedNumericComparator.compare(ExtendedNumericComparator.java:49)
        at 
java.util.concurrent.ConcurrentSkipListMap.cpr(ConcurrentSkipListMap.java:655)
        at 
java.util.concurrent.ConcurrentSkipListMap.findPredecessor(ConcurrentSkipListMap.java:682)
        at 
java.util.concurrent.ConcurrentSkipListMap.doGet(ConcurrentSkipListMap.java:781)
        at 
java.util.concurrent.ConcurrentSkipListMap.get(ConcurrentSkipListMap.java:1546)
        at 
org.apache.geode.cache.query.internal.index.MemoryIndexStore.basicRemoveMapping(MemoryIndexStore.java:308)
        at 
org.apache.geode.cache.query.internal.index.MemoryIndexStore.removeMapping(MemoryIndexStore.java:286)
        at 
org.apache.geode.cache.query.internal.index.CompactRangeIndex$IMQEvaluator.applyProjection(CompactRangeIndex.java:1695)
        at 
org.apache.geode.cache.query.internal.index.CompactRangeIndex$IMQEvaluator.doNestedIterations(CompactRangeIndex.java:1627)
        at 
org.apache.geode.cache.query.internal.index.CompactRangeIndex$IMQEvaluator.doNestedIterations(CompactRangeIndex.java:1637)
        at 
org.apache.geode.cache.query.internal.index.CompactRangeIndex$IMQEvaluator.evaluate(CompactRangeIndex.java:1477)
        ... 23 common frames omitted
Wrapped by: org.apache.geode.cache.query.internal.index.IMQException: null
        at 
org.apache.geode.cache.query.internal.index.CompactRangeIndex$IMQEvaluator.evaluate(CompactRangeIndex.java:1491)
        at 
org.apache.geode.cache.query.internal.index.CompactRangeIndex.removeMapping(CompactRangeIndex.java:167)
        at 
org.apache.geode.cache.query.internal.index.AbstractIndex.removeIndexMapping(AbstractIndex.java:511)
        at 
org.apache.geode.cache.query.internal.index.IndexManager.processAction(IndexManager.java:1111)
        at 
org.apache.geode.cache.query.internal.index.IndexManager.updateIndexes(IndexManager.java:967)
        at 
org.apache.geode.cache.query.internal.index.IndexManager.updateIndexes(IndexManager.java:941)
        at 
org.apache.geode.internal.cache.AbstractRegionEntry.destroy(AbstractRegionEntry.java:815)
        ... 17 common frames omitted
Wrapped by: org.apache.geode.cache.query.IndexMaintenanceException: 
org.apache.geode.cache.query.internal.index.IMQException
        at 
org.apache.geode.internal.cache.AbstractRegionEntry.destroy(AbstractRegionEntry.java:820)
        at 
org.apache.geode.internal.cache.AbstractRegionMap.destroyEntry(AbstractRegionMap.java:3038)
        at 
org.apache.geode.internal.cache.AbstractRegionMap.destroy(AbstractRegionMap.java:1386)
        at 
org.apache.geode.internal.cache.LocalRegion.mapDestroy(LocalRegion.java:7019)
        at 
org.apache.geode.internal.cache.LocalRegion.mapDestroy(LocalRegion.java:6991)
        at 
org.apache.geode.internal.cache.LocalRegionDataView.destroyExistingEntry(LocalRegionDataView.java:55)
        at 
org.apache.geode.internal.cache.LocalRegion.basicDestroy(LocalRegion.java:6956)
        at 
org.apache.geode.internal.cache.DistributedRegion.basicDestroy(DistributedRegion.java:1738)
        at 
org.apache.geode.internal.cache.LocalRegion.basicBridgeDestroy(LocalRegion.java:5801)
        at 
org.apache.geode.internal.cache.tier.sockets.command.Destroy65.cmdExecute(Destroy65.java:232)
        at 
org.apache.geode.internal.cache.tier.sockets.BaseCommand.execute(BaseCommand.java:147)
        at 
org.apache.geode.internal.cache.tier.sockets.ServerConnection.doNormalMsg(ServerConnection.java:783)
        at 
org.apache.geode.internal.cache.tier.sockets.ServerConnection.doOneMessage(ServerConnection.java:913)
        at 
org.apache.geode.internal.cache.tier.sockets.ServerConnection.run(ServerConnection.java:1143)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at 
org.apache.geode.internal.cache.tier.sockets.AcceptorImpl$1$1.run(AcceptorImpl.java:546)
        ... 1 common frames omitted
Wrapped by: org.apache.geode.cache.client.ServerOperationException: remote 
server on XXXXXX: : While performing a remote destroy
        at 
org.apache.geode.cache.client.internal.AbstractOp.processAck(AbstractOp.java:263)
        at 
org.apache.geode.cache.client.internal.DestroyOp$DestroyOpImpl.processResponse(DestroyOp.java:201)
        at 
org.apache.geode.cache.client.internal.AbstractOp.attemptReadResponse(AbstractOp.java:176)
        at 
org.apache.geode.cache.client.internal.AbstractOp.attempt(AbstractOp.java:388)
        at 
org.apache.geode.cache.client.internal.ConnectionImpl.execute(ConnectionImpl.java:272)
        at 
org.apache.geode.cache.client.internal.pooling.PooledConnection.execute(PooledConnection.java:328)
        at 
org.apache.geode.cache.client.internal.OpExecutorImpl.executeWithPossibleReAuthentication(OpExecutorImpl.java:937)
        at 
org.apache.geode.cache.client.internal.OpExecutorImpl.execute(OpExecutorImpl.java:155)
        at 
org.apache.geode.cache.client.internal.OpExecutorImpl.execute(OpExecutorImpl.java:110)
        at 
org.apache.geode.cache.client.internal.PoolImpl.execute(PoolImpl.java:697)
        at 
org.apache.geode.cache.client.internal.DestroyOp.execute(DestroyOp.java:93)

Regards,
Dharam

This message is confidential and subject to terms at: 
http://www.jpmorgan.com/emaildisclaimer including on confidentiality, legal 
privilege, viruses and monitoring of electronic messages. If you are not the 
intended recipient, please delete this message and notify the sender 
immediately. Any unauthorized use is strictly prohibited.

Reply via email to