Trying to rerun the cache loading and creating the index for only a
particular cache, I encountered the following NPE. This time around the
exception is not based on the content being indexed.
2020-08-16 20:40:39,958 ERROR o.a.i.l.l.Log4J2Logger
[jdbc-cache-loader-#117%ig_svc_cluster%] Critical system error detected.
Will be handled accordingly to configured handler
[hnd=StopNodeOrHaltFailureHandler [tryStop=false, timeout=0,
super=AbstractFailureHandler [ignoredFailureTypes=UnmodifiableSet
[SYSTEM_WORKER_BLOCKED, SYSTEM_CRITICAL_OPERATION_TIMEOUT]]],
failureCtx=FailureContext [type=CRITICAL_ERROR, err=class
o.a.i.i.processors.cache.persistence.tree.CorruptedTreeException: B+Tree is
corrupted [pages(groupId, pageId)=[IgniteBiTuple [val1=521424340,
val2=281767034487301]], msg=Runtime failure on search row: SearchRow
[key=KeyCacheObjectImpl [part=68, val=525900, hasValBytes=true],
hash=525900, cacheId=0]]]]
org.apache.ignite.internal.processors.cache.persistence.tree.CorruptedTreeException:
B+Tree is corrupted [pages(groupId, pageId)=[IgniteBiTuple [val1=521424340,
val2=281767034487301]], msg=Runtime failure on search row: SearchRow
[key=KeyCacheObjectImpl [part=68, val=525900, hasValBytes=true],
hash=525900, cacheId=0]]
at
org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.corruptedTreeException(BPlusTree.java:5929)
[ignite-core-2.8.1.jar!/:2.8.1]
at
org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.invoke(BPlusTree.java:1872)
[ignite-core-2.8.1.jar!/:2.8.1]
at
org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.invoke0(IgniteCacheOffheapManagerImpl.java:1705)
[ignite-core-2.8.1.jar!/:2.8.1]
at
org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.invoke(IgniteCacheOffheapManagerImpl.java:1688)
[ignite-core-2.8.1.jar!/:2.8.1]
at
org.apache.ignite.internal.processors.cache.persistence.GridCacheOffheapManager$GridCacheDataStore.invoke(GridCacheOffheapManager.java:2444)
[ignite-core-2.8.1.jar!/:2.8.1]
at
org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.invoke(IgniteCacheOffheapManagerImpl.java:445)
[ignite-core-2.8.1.jar!/:2.8.1]
at
org.apache.ignite.internal.processors.cache.GridCacheMapEntry.storeValue(GridCacheMapEntry.java:4285)
[ignite-core-2.8.1.jar!/:2.8.1]
at
org.apache.ignite.internal.processors.cache.GridCacheMapEntry.initialValue(GridCacheMapEntry.java:3426)
[ignite-core-2.8.1.jar!/:2.8.1]
at
org.apache.ignite.internal.processors.cache.GridCacheEntryEx.initialValue(GridCacheEntryEx.java:807)
[ignite-core-2.8.1.jar!/:2.8.1]
at
org.apache.ignite.internal.processors.cache.GridCacheEntryEx.initialValue(GridCacheEntryEx.java:772)
[ignite-core-2.8.1.jar!/:2.8.1]
at
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtCacheAdapter.loadEntry(GridDhtCacheAdapter.java:690)
[ignite-core-2.8.1.jar!/:2.8.1]
at
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtCacheAdapter.access$600(GridDhtCacheAdapter.java:104)
[ignite-core-2.8.1.jar!/:2.8.1]
at
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtCacheAdapter$5.apply(GridDhtCacheAdapter.java:640)
[ignite-core-2.8.1.jar!/:2.8.1]
at
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtCacheAdapter$5.apply(GridDhtCacheAdapter.java:636)
[ignite-core-2.8.1.jar!/:2.8.1]
at
org.apache.ignite.internal.processors.cache.store.GridCacheStoreManagerAdapter$3.apply(GridCacheStoreManagerAdapter.java:535)
[ignite-core-2.8.1.jar!/:2.8.1]
at
org.apache.ignite.cache.store.jdbc.CacheAbstractJdbcStore$1.call(CacheAbstractJdbcStore.java:470)
[ignite-core-2.8.1.jar!/:2.8.1]
at
org.apache.ignite.cache.store.jdbc.CacheAbstractJdbcStore$1.call(CacheAbstractJdbcStore.java:434)
[ignite-core-2.8.1.jar!/:2.8.1]
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[?:1.8.0_161]
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[?:1.8.0_161]
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[?:1.8.0_161]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_161]
Caused by: java.lang.NullPointerException
at
org.apache.ignite.internal.processors.cache.GridCacheAtomicVersionComparator.compare(GridCacheAtomicVersionComparator.java:34)
~[ignite-core-2.8.1.jar!/:2.8.1]
at
org.apache.ignite.internal.processors.cache.GridCacheMapEntry$1.apply(GridCacheMapEntry.java:3355)
~[ignite-core-2.8.1.jar!/:2.8.1]
at
org.apache.ignite.internal.processors.cache.GridCacheMapEntry$1.apply(GridCacheMapEntry.java:3344)
~[ignite-core-2.8.1.jar!/:2.8.1]
at
org.apache.ignite.internal.processors.cache.GridCacheMapEntry$UpdateClosure.call(GridCacheMapEntry.java:5759)
~[ignite-core-2.8.1.jar!/:2.8.1]
at
org.apache.ignite.internal.processors.cache.GridCacheMapEntry$UpdateClosure.call(GridCacheMapEntry.java:5707)
~[ignite-core-2.8.1.jar!/:2.8.1]
at
org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Invoke.invokeClosure(BPlusTree.java:3817)
~[ignite-core-2.8.1.jar!/:2.8.1]
at
org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Invoke.access$5700(BPlusTree.java:3711)
~[ignite-core-2.8.1.jar!/:2.8.1]
at
org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.invokeDown(BPlusTree.java:1961)
~[ignite-core-2.8.1.jar!/:2.8.1]
at
org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.invokeDown(BPlusTree.java:1932)
~[ignite-core-2.8.1.jar!/:2.8.1]
at
org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.invokeDown(BPlusTree.java:1932)
~[ignite-core-2.8.1.jar!/:2.8.1]
at
org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.invoke(BPlusTree.java:1839)
[ignite-core-2.8.1.jar!/:2.8.1]
... 19 more
2020-08-16 20:40:40,184 ERROR o.a.i.l.l.Log4J2Logger
[jdbc-cache-loader-#117%ig_svc_cluster%] A critical problem with
persistence data structures was detected. Please make backup of persistence
storage and WAL files for further analysis. Persistence storage path: null
WAL path: db/wal WAL archive path: db/wal/archive
On Sun, Aug 16, 2020 at 4:11 PM Srikanta Patanjali <[email protected]>
wrote:
> Found the below exception with further analysis of the logs :
>
> 2020-08-16 13:34:14,306 ERROR o.a.i.l.l.Log4J2Logger
> [jdbc-cache-loader-#10199%ig_svc_cluster%] Critical system error detected.
> Will be handled accordingly to configured handler
> [hnd=StopNodeOrHaltFailureHandler [tryStop=false, timeout=0,
> super=AbstractFailureHandler [ignoredFailureTypes=UnmodifiableSet
> [SYSTEM_WORKER_BLOCKED, SYSTEM_CRITICAL_OPERATION_TIMEOUT]]],
> failureCtx=FailureContext [type=CRITICAL_ERROR, err=class
> o.a.i.i.processors.cache.persistence.tree.CorruptedTreeException: B+Tree is
> corrupted [pages(groupId, pageId)=[IgniteBiTuple [val1=795360926,
> val2=844420635324779]], cacheId=-1799995498, cacheName=T_NAME,
> indexName=FOO_NAMESEARCH_BRN_DESC_IDX, msg=Runtime failure on row:
> Row@6a714d32[ key: 311822, val: foo.TName [...REDACTED...] ][
> ...REDACTED... ]]]]
> org.apache.ignite.internal.processors.cache.persistence.tree.CorruptedTreeException:
> B+Tree is corrupted [pages(groupId, pageId)=[IgniteBiTuple [val1=795360926,
> val2=844420635324779]], cacheId=-1799995498, cacheName=T_NAME,
> indexName=FOO_NAMESEARCH_BRN_DESC_IDX, msg=Runtime failure on row:
> Row@6a714d32[ key: 311822, val: foo.TName [...REDACTED...]
> ][...REDACTED... ]]
> at
> org.apache.ignite.internal.processors.query.h2.database.H2Tree.corruptedTreeException(H2Tree.java:673)
> [ignite-indexing-2.8.1.jar!/:2.8.1]
> at
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.doPut(BPlusTree.java:2380)
> [ignite-core-2.8.1.jar!/:2.8.1]
> at
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.putx(BPlusTree.java:2327)
> [ignite-core-2.8.1.jar!/:2.8.1]
> at
> org.apache.ignite.internal.processors.query.h2.database.H2TreeIndex.putx(H2TreeIndex.java:428)
> [ignite-indexing-2.8.1.jar!/:2.8.1]
> at
> org.apache.ignite.internal.processors.query.h2.opt.GridH2Table.addToIndex(GridH2Table.java:844)
> [ignite-indexing-2.8.1.jar!/:2.8.1]
> at
> org.apache.ignite.internal.processors.query.h2.opt.GridH2Table.update(GridH2Table.java:782)
> [ignite-indexing-2.8.1.jar!/:2.8.1]
> at
> org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.store(IgniteH2Indexing.java:380)
> [ignite-indexing-2.8.1.jar!/:2.8.1]
> at
> org.apache.ignite.internal.processors.query.GridQueryProcessor.store(GridQueryProcessor.java:2079)
> [ignite-core-2.8.1.jar!/:2.8.1]
> at
> org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager.store(GridCacheQueryManager.java:409)
> [ignite-core-2.8.1.jar!/:2.8.1]
> at
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.finishUpdate(IgniteCacheOffheapManagerImpl.java:2627)
> [ignite-core-2.8.1.jar!/:2.8.1]
> at
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.invoke0(IgniteCacheOffheapManagerImpl.java:1713)
> [ignite-core-2.8.1.jar!/:2.8.1]
> at
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.invoke(IgniteCacheOffheapManagerImpl.java:1688)
> [ignite-core-2.8.1.jar!/:2.8.1]
> at
> org.apache.ignite.internal.processors.cache.persistence.GridCacheOffheapManager$GridCacheDataStore.invoke(GridCacheOffheapManager.java:2444)
> [ignite-core-2.8.1.jar!/:2.8.1]
> at
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.invoke(IgniteCacheOffheapManagerImpl.java:445)
> [ignite-core-2.8.1.jar!/:2.8.1]
> at
> org.apache.ignite.internal.processors.cache.GridCacheMapEntry.storeValue(GridCacheMapEntry.java:4285)
> [ignite-core-2.8.1.jar!/:2.8.1]
> at
> org.apache.ignite.internal.processors.cache.GridCacheMapEntry.initialValue(GridCacheMapEntry.java:3426)
> [ignite-core-2.8.1.jar!/:2.8.1]
> at
> org.apache.ignite.internal.processors.cache.GridCacheEntryEx.initialValue(GridCacheEntryEx.java:807)
> [ignite-core-2.8.1.jar!/:2.8.1]
> at
> org.apache.ignite.internal.processors.cache.GridCacheEntryEx.initialValue(GridCacheEntryEx.java:772)
> [ignite-core-2.8.1.jar!/:2.8.1]
> at
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtCacheAdapter.loadEntry(GridDhtCacheAdapter.java:690)
> [ignite-core-2.8.1.jar!/:2.8.1]
> at
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtCacheAdapter.access$600(GridDhtCacheAdapter.java:104)
> [ignite-core-2.8.1.jar!/:2.8.1]
> at
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtCacheAdapter$5.apply(GridDhtCacheAdapter.java:640)
> [ignite-core-2.8.1.jar!/:2.8.1]
> at
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtCacheAdapter$5.apply(GridDhtCacheAdapter.java:636)
> [ignite-core-2.8.1.jar!/:2.8.1]
> at
> org.apache.ignite.internal.processors.cache.store.GridCacheStoreManagerAdapter$3.apply(GridCacheStoreManagerAdapter.java:535)
> [ignite-core-2.8.1.jar!/:2.8.1]
> at
> org.apache.ignite.cache.store.jdbc.CacheAbstractJdbcStore$1.call(CacheAbstractJdbcStore.java:470)
> [ignite-core-2.8.1.jar!/:2.8.1]
> at
> org.apache.ignite.cache.store.jdbc.CacheAbstractJdbcStore$1.call(CacheAbstractJdbcStore.java:434)
> [ignite-core-2.8.1.jar!/:2.8.1]
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> [?:1.8.0_161]
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> [?:1.8.0_161]
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> [?:1.8.0_161]
> at java.lang.Thread.run(Thread.java:748) [?:1.8.0_161]
> Caused by: java.lang.IllegalStateException: Duplicate row in index.
> at
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Insert.run0(BPlusTree.java:442)
> ~[ignite-core-2.8.1.jar!/:2.8.1]
> at
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Insert.run0(BPlusTree.java:428)
> ~[ignite-core-2.8.1.jar!/:2.8.1]
> at
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$GetPageHandler.run(BPlusTree.java:5711)
> ~[ignite-core-2.8.1.jar!/:2.8.1]
> at
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$GetPageHandler.run(BPlusTree.java:5697)
> ~[ignite-core-2.8.1.jar!/:2.8.1]
> at
> org.apache.ignite.internal.processors.cache.persistence.tree.util.PageHandler.writePage(PageHandler.java:360)
> ~[ignite-core-2.8.1.jar!/:2.8.1]
> at
> org.apache.ignite.internal.processors.cache.persistence.DataStructure.write(DataStructure.java:297)
> ~[ignite-core-2.8.1.jar!/:2.8.1]
> at
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.access$11300(BPlusTree.java:94)
> ~[ignite-core-2.8.1.jar!/:2.8.1]
> at
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Put.tryInsert(BPlusTree.java:3681)
> ~[ignite-core-2.8.1.jar!/:2.8.1]
> at
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Put.access$7100(BPlusTree.java:3361)
> ~[ignite-core-2.8.1.jar!/:2.8.1]
> at
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.putDown(BPlusTree.java:2625)
> ~[ignite-core-2.8.1.jar!/:2.8.1]
> at
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.putDown(BPlusTree.java:2606)
> ~[ignite-core-2.8.1.jar!/:2.8.1]
> at
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.putDown(BPlusTree.java:2606)
> ~[ignite-core-2.8.1.jar!/:2.8.1]
> at
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.doPut(BPlusTree.java:2347)
> [ignite-core-2.8.1.jar!/:2.8.1]
> ... 27 more
>
> I also observe a bug with the same exception being fixed recently as part
> of https://issues.apache.org/jira/browse/IGNITE-10873
>
> Are there any known reasons for the trigger of " Caused by:
> java.lang.IllegalStateException: Duplicate row in index. " ?
>
> On Sat, Aug 15, 2020 at 1:56 PM Srikanta Patanjali <[email protected]>
> wrote:
>
>> Resharing the cache settings as it got snipped in the previous email:
>>
>> <bean class="org.apache.ignite.configuration.IgniteConfiguration">
>> <property name="clientMode" value="true"/>
>> <property name="igniteInstanceName" value="ig_svc_cluster"/>
>> <property name="metricsLogFrequency" value="0"/>
>>
>> <property name="discoverySpi">
>> <bean
>> class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi">
>> <property name="ipFinder">
>> <bean
>> class="org.apache.ignite.spi.discovery.tcp.ipfinder.multicast.TcpDiscoveryMulticastIpFinder">
>> <property name="addresses">
>> <list>
>> <value>127.0.0.1:47500..47510</value>
>> </list>
>> </property>
>> </bean>
>> </property>
>> </bean>
>> </property>
>>
>> <!-- Enabling Apache Ignite native persistence. -->
>> <property name="dataStorageConfiguration">
>> <bean
>> class="org.apache.ignite.configuration.DataStorageConfiguration">
>> <property name="defaultDataRegionConfiguration">
>> <bean
>> class="org.apache.ignite.configuration.DataRegionConfiguration">
>> <property name="name" value="Default_Region"/>
>> <!-- 500 MB initial size. -->
>> <property name="initialSize" value="#{500L * 1024
>> * 1024}"/>
>> <!-- Setting the size of the default region to
>> 1GB. -->
>> <property name="maxSize" value="#{1L * 1024 *
>> 1024 * 1024}"/>
>> </bean>
>> </property>
>> <property name="dataRegionConfigurations">
>> <list>
>> <bean
>> class="org.apache.ignite.configuration.DataRegionConfiguration">
>> <property name="name"
>> value="FooNamesCache_Region"/>
>> <!-- 500 MB initial size. -->
>> <property name="initialSize" value="#{500L *
>> 1024 * 1024}"/>
>> <!-- Setting the size of the default region
>> to 2GB. -->
>> <property name="maxSize" value="#{2L * 1024 *
>> 1024 * 1024}"/>
>> <property name="persistenceEnabled"
>> value="true"/>
>> </bean>
>> </list>
>> </property>
>> </bean>
>> </property>
>>
>> <property name="cacheConfiguration">
>> <list>
>> <bean class="org.apache.ignite.configuration.CacheConfiguration">
>> <property name="dataRegionName"
>> value="FooNamesCache_Region"/>
>> <property name="name" value="foo_TNameCache"/>
>> <property name="cacheMode" value="REPLICATED"/>
>> <property name="atomicityMode" value="ATOMIC"/>
>> <property name="copyOnRead" value="true"/>
>> <property name="onheapCacheEnabled" value="true"/>
>> <property name="eagerTtl" value="true"/>
>>
>> <property name="evictionPolicyFactory">
>> <bean
>> class="org.apache.ignite.cache.eviction.lru.LruEvictionPolicyFactory">
>> <property name="batchSize" value="200"/>
>> <property name="maxMemorySize"
>> value="100000"/>
>> </bean>
>> </property>
>>
>> <property name="sqlOnheapCacheEnabled" value="true"/>
>> <property name="sqlOnheapCacheMaxSize" value="100"/>
>>
>> <property name="cacheStoreFactory">
>> <bean
>> class="org.apache.ignite.cache.store.jdbc.CacheJdbcPojoStoreFactory">
>> <property name="dataSourceBean"
>> value="dsPostgreSQL_FooNames"/>
>> <property name="dialect">
>> <bean
>> class="org.apache.ignite.cache.store.jdbc.dialect.BasicJdbcDialect">
>> </bean>
>> </property>
>>
>> <property name="types">
>> <list>
>> <bean
>> class="org.apache.ignite.cache.store.jdbc.JdbcType">
>> <property name="cacheName"
>> value="foo_TNameCache"/>
>> <property name="keyType"
>> value="java.lang.Integer"/>
>> <property name="valueType"
>> value="foo.TName"/>
>> <property name="databaseSchema"
>> value="public"/>
>> <property name="databaseTable"
>> value="t_name"/>
>>
>> <property name="keyFields">
>> <list>
>> <bean
>> class="org.apache.ignite.cache.store.jdbc.JdbcTypeField">
>> <constructor-arg>
>> <util:constant
>> static-field="java.sql.Types.INTEGER"/>
>> </constructor-arg>
>> <constructor-arg
>> value="id"/>
>> <constructor-arg
>> value="int"/>
>> <constructor-arg
>> value="id"/>
>> </bean>
>> </list>
>> </property>
>>
>> <property name="valueFields">
>> <list>
>> <bean
>> class="org.apache.ignite.cache.store.jdbc.JdbcTypeField">
>> <constructor-arg>
>> <util:constant
>> static-field="java.sql.Types.TIMESTAMP"/>
>> </constructor-arg>
>> <constructor-arg
>> value="date"/>
>> <constructor-arg
>> value="java.sql.Timestamp"/>
>> <constructor-arg
>> value="date"/>
>> </bean>
>>
>> <bean
>> class="org.apache.ignite.cache.store.jdbc.JdbcTypeField">
>> <constructor-arg>
>> <util:constant
>> static-field="java.sql.Types.TIMESTAMP"/>
>> </constructor-arg>
>> <constructor-arg
>> value="modified_date"/>
>> <constructor-arg
>> value="java.sql.Timestamp"/>
>> <constructor-arg
>> value="modified_date"/>
>> </bean>
>>
>> <bean
>> class="org.apache.ignite.cache.store.jdbc.JdbcTypeField">
>> <constructor-arg>
>> <util:constant
>> static-field="java.sql.Types.NUMERIC"/>
>> </constructor-arg>
>> <constructor-arg
>> value="secondary_id"/>
>> <constructor-arg
>> value="java.math.BigDecimal"/>
>> <constructor-arg
>> value="secondary_id"/>
>> </bean>
>>
>> <bean
>> class="org.apache.ignite.cache.store.jdbc.JdbcTypeField">
>> <constructor-arg>
>> <util:constant
>> static-field="java.sql.Types.VARCHAR"/>
>> </constructor-arg>
>> <constructor-arg
>> value="name_orig"/>
>> <constructor-arg
>> value="java.lang.String"/>
>> <constructor-arg
>> value="nameOrig"/>
>> </bean>
>>
>> <bean
>> class="org.apache.ignite.cache.store.jdbc.JdbcTypeField">
>> <constructor-arg>
>> <util:constant
>> static-field="java.sql.Types.VARCHAR"/>
>> </constructor-arg>
>> <constructor-arg
>> value="name_search"/>
>> <constructor-arg
>> value="java.lang.String"/>
>> <constructor-arg
>> value="nameSearch"/>
>> </bean>
>> </list>
>> </property>
>> </bean>
>> </list>
>> </property>
>> </bean>
>> </property>
>>
>> <property name="readThrough" value="true"/>
>> <property name="writeThrough" value="true"/>
>>
>> <property name="queryEntities">
>> <list>
>> <bean
>> class="org.apache.ignite.cache.QueryEntity">
>> <property name="keyType"
>> value="java.lang.Integer"/>
>> <property name="valueType"
>> value="foo.TName"/>
>> <property name="tableName"
>> value="t_name"/>
>> <property name="keyFieldName" value="id"/>
>>
>> <property name="keyFields">
>> <list>
>> <value>id</value>
>> </list>
>> </property>
>>
>> <property name="fields">
>> <map>
>> <entry key="secondary_id"
>> value="java.math.BigDecimal"/>
>> <entry key="nameSearch"
>> value="java.lang.String"/>
>> <entry key="id"
>> value="java.lang.Integer"/>
>> </map>
>> </property>
>>
>> <property name="aliases">
>> <map>
>> <entry key="nameOrig"
>> value="name_orig"/>
>> <entry key="nameSearch"
>> value="name_search"/>
>> </map>
>> </property>
>>
>> <!-- Defining indexed fields.-->
>> <property name="indexes">
>> <list>
>> <!-- Single field (aka. column)
>> index -->
>> <bean
>> class="org.apache.ignite.cache.QueryIndex">
>> <constructor-arg
>> value="nameSearch"/>
>> </bean>
>> </list>
>> </property>
>> </bean>
>> </list>
>> </property>
>> </bean>
>> </list>
>> </property>
>> </bean>
>>
>>
>> On Sat, Aug 15, 2020 at 1:32 PM p.srikanta <[email protected]> wrote:
>>
>>> I've been consistently getting a error "class
>>> o.a.i.i.processors.cache.persistence.tree.CorruptedTreeException: B+Tree
>>> is
>>> corrupted".
>>>
>>> I know a related bug was recently fixed in v2.8
>>> (https://issues.apache.org/jira/browse/IGNITE-12593) and another one is
>>> in
>>> progress (https://issues.apache.org/jira/browse/IGNITE-12911. However
>>> I'm
>>> not sure if my scenario is related to either one of them (though it is
>>> close
>>> to IGNITE-12593).
>>>
>>> Sharing more details to seek help in either identifying the bug or
>>> suggestion for possible work around, thanks in advance!
>>>
>>> *Note*: The below excpetion was not observed when the mentioned cache was
>>> initialized without any indexed field i.e without any QueryIndex within
>>> the
>>> QueryEntity config.
>>>
>>> *Ignite Version*: 2.8.1
>>>
>>> *Encountered Exception*
>>>
>>>
>>> *Size of the DB table*: 25M rows
>>>
>>> *Cache Settings*
>>>
>>>
>>>
>>>
>>>
>>> --
>>> Sent from: http://apache-ignite-users.70518.x6.nabble.com/
>>>
>>