ignite-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sergey Sergeev <webs.supp...@gmail.com>
Subject And again... Failed to get page IO instance (page content is corrupted)
Date Sun, 18 Feb 2018 15:24:58 GMT
Hi Igniters

I can't defeat the bug. It is reproducing on ignite version community 2.3.0
and on trial professional 2.3.2 editions.

The Cache has configuration like:

final CacheConfiguration<Pk, Message> cacheConfiguration
= new CacheConfiguration<>(getEntityClass().getSimpleName());

cacheConfiguration.setCacheMode(CacheMode.PARTITIONED);
cacheConfiguration.setBackups(0);
cacheConfiguration.setRebalanceMode(CacheRebalanceMode.ASYNC);
cacheConfiguration.setDataRegionName("messagePartSentRegion");
cacheConfiguration.setEagerTtl(true);
cacheConfiguration.setManagementEnabled(true);
cacheConfiguration.setStatisticsEnabled(true);

IgniteCache<Pk, Message> cache = ignite.getOrCreateCache(cacheConfiguration)
.withExpiryPolicy(new CreatedExpiryPolicy(new Duration(DAYS, 7)));

The data storage has configuration:
...
<property name="dataStorageConfiguration">
    <bean class="org.apache.ignite.configuration.DataStorageConfiguration">
        <property name="walMode" value="LOG_ONLY" />
        <property name="writeThrottlingEnabled" value="true" />
        <property name="metricsEnabled" value="true" />
        <property name="defaultDataRegionConfiguration">
            <bean
class="org.apache.ignite.configuration.DataRegionConfiguration">
                <property name="metricsEnabled" value="true" />
                <property name="persistenceEnabled" value="true" />
                <!-- 2Gb maximum size -->
                <property name="maxSize" value="#{2L * 1024 * 1024 * 1024}"/>
            </bean>
        </property>
        <property name="dataRegionConfigurations">
            <list>
                ...

                <bean
class="org.apache.ignite.configuration.DataRegionConfiguration">
                    <property name="metricsEnabled" value="true" />
                    <property name="name" value="messagePartSentRegion" />
                    *<property name="persistenceEnabled" value="true" />*
                    <!-- 2Gb maximum size -->
                    <property name="maxSize" value="#{2L * 1024 * 1024
* 1024}"/>
                </bean>
                ...
            </list>
        </property>
    </bean>
</property>
...

After 7 days, I've exception:

ERROR  GridCacheIoManager - Failed to process message
[senderId=e9e71d4c-e1dc-4647-8fd4-72fb281907a4, messageType=class
o.a.i.i.processors.cache.distributed.dht.atomic.GridNearAtomicFullUpdateRequest]
org.apache.ignite.IgniteException: Runtime failure on bounds:
[lower=null, upper=PendingRow []]
    at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.find(BPlusTree.java:954)
~[ignite-core-2.3.2.jar:2.3.2]
    at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.find(BPlusTree.java:933)
~[ignite-core-2.3.2.jar:2.3.2]
    at org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.expire(IgniteCacheOffheapManagerImpl.java:979)
~[ignite-core-2.3.2.jar:2.3.2]
    at org.apache.ignite.internal.processors.cache.GridCacheTtlManager.expire(GridCacheTtlManager.java:197)
~[ignite-core-2.3.2.jar:2.3.2]
    at org.apache.ignite.internal.processors.cache.GridCacheUtils.unwindEvicts(GridCacheUtils.java:833)
~[ignite-core-2.3.2.jar:2.3.2]
    at org.apache.ignite.internal.processors.cache.GridCacheIoManager.onMessageProcessed(GridCacheIoManager.java:1099)
~[ignite-core-2.3.2.jar:2.3.2]
    at org.apache.ignite.internal.processors.cache.GridCacheIoManager.processMessage(GridCacheIoManager.java:1072)
~[ignite-core-2.3.2.jar:2.3.2]
    at org.apache.ignite.internal.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:579)
~[ignite-core-2.3.2.jar:2.3.2]
    at org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:378)
~[ignite-core-2.3.2.jar:2.3.2]
    at org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:304)
~[ignite-core-2.3.2.jar:2.3.2]
    at org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$100(GridCacheIoManager.java:99)
~[ignite-core-2.3.2.jar:2.3.2]
    at org.apache.ignite.internal.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:293)
~[ignite-core-2.3.2.jar:2.3.2]
    at org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1555)
~[ignite-core-2.3.2.jar:2.3.2]
    at org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1183)
~[ignite-core-2.3.2.jar:2.3.2]
    at org.apache.ignite.internal.managers.communication.GridIoManager.access$4200(GridIoManager.java:126)
~[ignite-core-2.3.2.jar:2.3.2]
    at org.apache.ignite.internal.managers.communication.GridIoManager$9.run(GridIoManager.java:1090)
~[ignite-core-2.3.2.jar:2.3.2]
    at org.apache.ignite.internal.util.StripedExecutor$Stripe.run(StripedExecutor.java:505)
~[ignite-core-2.3.2.jar:2.3.2]
    at java.lang.Thread.run(Thread.java:748) [?:1.8.0_151]
Caused by: java.lang.IllegalStateException: Failed to get page IO
instance (page content is corrupted)
    at org.apache.ignite.internal.processors.cache.persistence.tree.io.IOVersions.forVersion(IOVersions.java:83)
~[ignite-core-2.3.2.jar:2.3.2]
    at org.apache.ignite.internal.processors.cache.persistence.tree.io.IOVersions.forPage(IOVersions.java:95)
~[ignite-core-2.3.2.jar:2.3.2]
    at org.apache.ignite.internal.processors.cache.persistence.CacheDataRowAdapter.initFromLink(CacheDataRowAdapter.java:148)
~[ignite-core-2.3.2.jar:2.3.2]
    at org.apache.ignite.internal.processors.cache.persistence.CacheDataRowAdapter.initFromLink(CacheDataRowAdapter.java:102)
~[ignite-core-2.3.2.jar:2.3.2]
    at org.apache.ignite.internal.processors.cache.tree.PendingRow.initKey(PendingRow.java:72)
~[ignite-core-2.3.2.jar:2.3.2]
    at org.apache.ignite.internal.processors.cache.tree.PendingEntriesTree.getRow(PendingEntriesTree.java:118)
~[ignite-core-2.3.2.jar:2.3.2]
    at org.apache.ignite.internal.processors.cache.tree.PendingEntriesTree.getRow(PendingEntriesTree.java:31)
~[ignite-core-2.3.2.jar:2.3.2]
    at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$ForwardCursor.fillFromBuffer(BPlusTree.java:4539)
~[ignite-core-2.3.2.jar:2.3.2]
    at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$ForwardCursor.init(BPlusTree.java:4441)
~[ignite-core-2.3.2.jar:2.3.2]
    at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$ForwardCursor.access$5300(BPlusTree.java:4380)
~[ignite-core-2.3.2.jar:2.3.2]
    at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.findLowerUnbounded(BPlusTree.java:910)
~[ignite-core-2.3.2.jar:2.3.2]
    at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.find(BPlusTree.java:942)
~[ignite-core-2.3.2.jar:2.3.2]
    ... 17 more


The description of such a problem:
http://apache-ignite-users.70518.x6.nabble.com/Partition-eviction-failed-this-can-cause-grid-hang-Caused-by-java-lang-IllegalStateException-Failed--td19122.html

Issues:
https://issues.apache.org/jira/browse/IGNITE-6423
https://issues.apache.org/jira/browse/IGNITE-7278

And... When do you plan to release the 2.4.0 version? May be fix?


-- 
Best regards,
Sergey S. Sergeev
exit(0);

Mime
View raw message