Hi all,
Some time i got this exception and service crash after that. I think that
Ignite got exception during
remove expired records. I have few Caches with expiry but only this Cache got
exception.
Anyone know how to sort this issue?
Here are exception details and configuration:
StackTrace:
```
[11:27:17,451][SEVERE][ttl-cleanup-worker-#39%TravelInventory%][] Critical
system error detected. Will be handled accordingly to configured handler
[hnd=class o.a.i.failure.StopNodeOrHaltFailureHandler,
failureCtx=FailureContext [type=SYSTEM_WORKER_TERMINATION, err=class
o.a.i.IgniteException: Runtime failure on search row: Row@6a4eb016[ key:
8bbcac6f-3219-48e3-a1cf-cae8be90752e, val: GoQuoEngine.Data.Domain.PackageQuery
[idHash=793518907, hash=1245385215 .... ]]]
class org.apache.ignite.IgniteException: Runtime failure on search row:
Row@6a4eb016[ key: 8bbcac6f-3219-48e3-a1cf-cae8be90752e, val:
GoQuoEngine.Data.Domain.PackageQuery [idHash=793518907, hash=1245385215 .... ]]
at
org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.doRemove(BPlusTree.java:1800)
at
org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.removex(BPlusTree.java:1595)
at
org.apache.ignite.internal.processors.query.h2.database.H2TreeIndex.removex(H2TreeIndex.java:289)
at
org.apache.ignite.internal.processors.query.h2.opt.GridH2Table.remove(GridH2Table.java:522)
at
org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.remove(IgniteH2Indexing.java:703)
at
org.apache.ignite.internal.processors.query.GridQueryProcessor.remove(GridQueryProcessor.java:2518)
at
org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager.remove(GridCacheQueryManager.java:457)
at
org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.finishRemove(IgniteCacheOffheapManagerImpl.java:1456)
at
org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.remove(IgniteCacheOffheapManagerImpl.java:1426)
at
org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.remove(IgniteCacheOffheapManagerImpl.java:377)
at
org.apache.ignite.internal.processors.cache.GridCacheMapEntry.removeValue(GridCacheMapEntry.java:3679)
at
org.apache.ignite.internal.processors.cache.GridCacheMapEntry.onExpired(GridCacheMapEntry.java:3409)
at
org.apache.ignite.internal.processors.cache.GridCacheMapEntry.onTtlExpired(GridCacheMapEntry.java:3341)
at
org.apache.ignite.internal.processors.cache.GridCacheTtlManager$1.applyx(GridCacheTtlManager.java:60)
at
org.apache.ignite.internal.processors.cache.GridCacheTtlManager$1.applyx(GridCacheTtlManager.java:51)
at
org.apache.ignite.internal.util.lang.IgniteInClosure2X.apply(IgniteInClosure2X.java:38)
at
org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.expire(IgniteCacheOffheapManagerImpl.java:1049)
at
org.apache.ignite.internal.processors.cache.GridCacheTtlManager.expire(GridCacheTtlManager.java:197)
at
org.apache.ignite.internal.processors.cache.GridCacheSharedTtlCleanupManager$CleanupWorker.body(GridCacheSharedTtlCleanupManager.java:137)
at
org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
at java.lang.Thread.run(Thread.java:748)
```
Configuration:
```XML
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util.xsd">
<bean class="org.apache.ignite.configuration.IgniteConfiguration">
<property name="igniteInstanceName" value="Sample"/>
<property name="localHost" value="127.0.0.1"/>
<property name="discoverySpi">
<bean class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi">
<property name="ipFinder">
<bean
class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder">
<property name="addresses">
<list>
<value>127.0.0.1:47500..47510</value>
</list>
</property>
</bean>
</property>
</bean>
</property>
<property name="communicationSpi">
<bean
class="org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi">
<property name="localAddress" value="127.0.0.1"/>
</bean>
</property>
<property name="deploymentMode" value="CONTINUOUS"/>
<property name="loadBalancingSpi">
<list>
<bean
class="org.apache.ignite.spi.loadbalancing.weightedrandom.WeightedRandomLoadBalancingSpi">
</bean>
</list>
</property>
<property name="dataStorageConfiguration">
<bean
class="org.apache.ignite.configuration.DataStorageConfiguration">
<property name="writeThrottlingEnabled" value="true"/>
<property name="dataRegionConfigurations">
<list>
<bean
class="org.apache.ignite.configuration.DataRegionConfiguration">
<property name="name" value="StaticRegion"/>
<property name="maxSize" value="#{2* 1024L * 1024 *
1024}"/>
<property name="initialSize" value="#{1 *1024L *
1024 * 1024}"/>
<property name="pageEvictionMode"
value="RANDOM_LRU"/>
<property name="persistenceEnabled" value="true"/>
</bean>
</list>
</property>
<property name="defaultDataRegionConfiguration">
<bean
class="org.apache.ignite.configuration.DataRegionConfiguration">
<property name="name" value="NonPersistentRegion"/>
</bean>
</property>
<property name="walMode" value="BACKGROUND"/>
<property name="fileIOFactory">
<bean
class="org.apache.ignite.internal.processors.cache.persistence.file.AsyncFileIOFactory">
</bean>
</property>
</bean>
</property>
<property name="cacheConfiguration">
<list>
<bean
class="org.apache.ignite.configuration.CacheConfiguration">
<property name="name" value="PackageQuery"/>
<property name="cacheMode" value="PARTITIONED"/>
<property name="atomicityMode" value="ATOMIC"/>
<property name="backups" value="0"/>
<property name="readFromBackup" value="False"/>
<property name="dataRegionName"
value="NonPersistentRegion"/>
<property name="partitionLossPolicy" value="IGNORE"/>
<property name="rebalanceMode" value="ASYNC"/>
<property name="rebalanceBatchSize" value="1000"/>
<property name="rebalanceBatchesPrefetchCount"
value="1000"/>
<property name="rebalanceOrder" value="0"/>
<property name="sqlSchema" value="public"/>
<property name="expiryPolicyFactory">
<bean class="javax.cache.expiry.CreatedExpiryPolicy"
factory-method="factoryOf">
<constructor-arg>
<bean class="javax.cache.expiry.Duration">
<constructor-arg value="MINUTES"/>
<constructor-arg value="30"/>
</bean>
</constructor-arg>
</bean>
</property>
<property name="onheapCacheEnabled" value="true"/>
<property name="evictionPolicy">
<bean
class="org.apache.ignite.cache.eviction.lru.LruEvictionPolicy">
<property name="maxSize" value="10000"/>
</bean>
</property>
<property name="queryEntities">
<list>
<bean class="org.apache.ignite.cache.QueryEntity">
<property name="keyType"
value="java.util.UUID"/>
<property name="valueType"
value="GoQuoEngine.Data.Domain.PackageQuery"/>
<property name="keyFields">
<list>
</list>
</property>
<property name="fields">
<map>
<entry key="CabinClass"
value="GoQuoEngine.Flights.CabinClass"/>
<entry key="CheckIn"
value="java.sql.Timestamp"/>
<entry key="CheckOut"
value="java.sql.Timestamp"/>
<entry key="CreatedAt"
value="java.sql.Timestamp"/>
<entry key="CultureCode"
value="java.lang.String"/>
<entry key="Currency"
value="java.lang.String"/>
<entry key="DepartureDate"
value="java.sql.Timestamp"/>
<entry key="DirectFlightsOnly"
value="java.lang.Boolean"/>
<entry key="From"
value="java.lang.String"/>
<entry key="HashingInfo"
value="java.lang.String"/>
<entry key="IsInternationalFlight"
value="java.lang.Boolean"/>
<entry key="JourneyType"
value="GoQuoEngine.Flights.JourneyType"/>
<entry key="PackageType"
value="java.lang.String"/>
<entry key="ProductId"
value="java.util.UUID"/>
<entry key="PromoCode"
value="java.lang.String"/>
<entry key="ReturnDate"
value="java.sql.Timestamp"/>
<entry key="SessionId"
value="java.lang.String"/>
<entry key="SiteId"
value="java.util.UUID"/>
<entry key="To"
value="java.lang.String"/>
<entry key="Id" value="java.util.UUID"/>
</map>
</property>
<property name="notNullFields">
<list>
</list>
</property>
<property name="indexes">
<list>
<bean
class="org.apache.ignite.cache.QueryIndex">
<property name="name"
value="PACKAGEQUERY_PRODUCTID_IDX"/>
<property name="indexType"
value="SORTED"/>
<property name="fields">
<map>
<entry key="ProductId"
value="True"/>
</map>
</property>
</bean>
<bean
class="org.apache.ignite.cache.QueryIndex">
<property name="name"
value="PACKAGEQUERY_FROM_IDX"/>
<property name="indexType"
value="SORTED"/>
<property name="fields">
<map>
<entry key="From"
value="True"/>
</map>
</property>
</bean>
<bean
class="org.apache.ignite.cache.QueryIndex">
<property name="name"
value="PACKAGEQUERY_TO_IDX"/>
<property name="indexType"
value="SORTED"/>
<property name="fields">
<map>
<entry key="To"
value="True"/>
</map>
</property>
</bean>
<bean
class="org.apache.ignite.cache.QueryIndex">
<property name="name"
value="PACKAGEQUERY_DEPARTUREDATE_IDX"/>
<property name="indexType"
value="SORTED"/>
<property name="fields">
<map>
<entry key="DepartureDate"
value="True"/>
</map>
</property>
</bean>
<bean
class="org.apache.ignite.cache.QueryIndex">
<property name="name"
value="PACKAGEQUERY_RETURNDATE_IDX"/>
<property name="indexType"
value="SORTED"/>
<property name="fields">
<map>
<entry key="ReturnDate"
value="True"/>
</map>
</property>
</bean>
<bean
class="org.apache.ignite.cache.QueryIndex">
<property name="name"
value="PACKAGEQUERY_CHECKIN_IDX"/>
<property name="indexType"
value="SORTED"/>
<property name="fields">
<map>
<entry key="CheckIn"
value="True"/>
</map>
</property>
</bean>
<bean
class="org.apache.ignite.cache.QueryIndex">
<property name="name"
value="PACKAGEQUERY_CHECKOUT_IDX"/>
<property name="indexType"
value="SORTED"/>
<property name="fields">
<map>
<entry key="CheckOut"
value="True"/>
</map>
</property>
</bean>
<bean
class="org.apache.ignite.cache.QueryIndex">
<property name="name"
value="PACKAGEQUERY_ISINTERNATIONALFLIGHT_IDX"/>
<property name="indexType"
value="SORTED"/>
<property name="fields">
<map>
<entry
key="IsInternationalFlight" value="True"/>
</map>
</property>
</bean>
<bean
class="org.apache.ignite.cache.QueryIndex">
<property name="name"
value="PACKAGEQUERY_CURRENCY_IDX"/>
<property name="indexType"
value="SORTED"/>
<property name="fields">
<map>
<entry key="Currency"
value="True"/>
</map>
</property>
</bean>
<bean
class="org.apache.ignite.cache.QueryIndex">
<property name="name"
value="PACKAGEQUERY_JOURNEYTYPE_IDX"/>
<property name="indexType"
value="SORTED"/>
<property name="fields">
<map>
<entry key="JourneyType"
value="True"/>
</map>
</property>
</bean>
<bean
class="org.apache.ignite.cache.QueryIndex">
<property name="name"
value="PACKAGEQUERY_CABINCLASS_IDX"/>
<property name="indexType"
value="SORTED"/>
<property name="fields">
<map>
<entry key="CabinClass"
value="True"/>
</map>
</property>
</bean>
<bean
class="org.apache.ignite.cache.QueryIndex">
<property name="name"
value="PACKAGEQUERY_DIRECTFLIGHTSONLY_IDX"/>
<property name="indexType"
value="SORTED"/>
<property name="fields">
<map>
<entry
key="DirectFlightsOnly" value="True"/>
</map>
</property>
</bean>
<bean
class="org.apache.ignite.cache.QueryIndex">
<property name="name"
value="PACKAGEQUERY_PROMOCODE_IDX"/>
<property name="indexType"
value="SORTED"/>
<property name="fields">
<map>
<entry key="PromoCode"
value="True"/>
</map>
</property>
</bean>
<bean
class="org.apache.ignite.cache.QueryIndex">
<property name="name"
value="PACKAGEQUERY_HASHINGINFO_IDX"/>
<property name="indexType"
value="SORTED"/>
<property name="fields">
<map>
<entry key="HashingInfo"
value="True"/>
</map>
</property>
</bean>
<bean
class="org.apache.ignite.cache.QueryIndex">
<property name="name"
value="PACKAGEQUERY_SESSIONID_IDX"/>
<property name="indexType"
value="SORTED"/>
<property name="fields">
<map>
<entry key="SessionId"
value="True"/>
</map>
</property>
</bean>
<bean
class="org.apache.ignite.cache.QueryIndex">
<property name="name"
value="PACKAGEQUERY_CULTURECODE_IDX"/>
<property name="indexType"
value="SORTED"/>
<property name="fields">
<map>
<entry key="CultureCode"
value="True"/>
</map>
</property>
</bean>
<bean
class="org.apache.ignite.cache.QueryIndex">
<property name="name"
value="PACKAGEQUERY_CREATEDAT_IDX"/>
<property name="indexType"
value="SORTED"/>
<property name="fields">
<map>
<entry key="CreatedAt"
value="False"/>
</map>
</property>
</bean>
<bean
class="org.apache.ignite.cache.QueryIndex">
<property name="name"
value="PACKAGEQUERY_SITEID_IDX"/>
<property name="indexType"
value="SORTED"/>
<property name="fields">
<map>
<entry key="SiteId"
value="True"/>
</map>
</property>
</bean>
<bean
class="org.apache.ignite.cache.QueryIndex">
<property name="name"
value="PACKAGEQUERY_PACKAGETYPE_IDX"/>
<property name="indexType"
value="SORTED"/>
<property name="fields">
<map>
<entry key="PackageType"
value="True"/>
</map>
</property>
</bean>
</list>
</property>
</bean>
</list>
</property>
</bean>
</list>
</property>
</bean>
</beans>
```
Sent from Mail for Windows 10