Search code examples
ignite

Out of memory in data region for volatileDsMemPlc


JVM will be halted immediately due to the failure:

[failureCtx=FailureContext [type=CRITICAL_ERROR, err=class o.a.i.i.mem.IgniteOutOfMemoryException: Out of memory in data region [name=volatileDsMemPlc, initSize=40.0 MiB, maxSize=100.0 MiB, persistenceEnabled=false] Try the following:
            ^-- Increase maximum off-heap memory size (DataRegionConfiguration.maxSize)
            ^-- Enable Ignite persistence (DataRegionConfiguration.persistenceEnabled)
            ^-- Enable eviction or expiration policies]]

We are getting the above exception but we don't know how to configure the size of the 'volatileDsMemPlc' data region as this data region is the internal data region of Ignite.


Solution

  • The size of this region is equal to system data region and is configured with systemRegionInitialSize and systemRegionMaxSize parameters, which are default to 40MB and 100MB respectively:

    <?xml version="1.0" encoding="UTF-8"?>
    
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="
           http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans.xsd">
        <bean id="grid.cfg" class="org.apache.ignite.configuration.IgniteConfiguration">
    
            <property name="dataStorageConfiguration">
                <bean class="org.apache.ignite.configuration.DataStorageConfiguration">
                    <property name="systemRegionInitialSize" value="#{50 * 1024 * 1024}"/>
                    <property name="systemRegionMaxSize" value="#{200 * 1024 * 1024}"/>
                </bean>
            </property>
        </bean>
    </beans>
    

    If you are interested what is volatile region: https://issues.apache.org/jira/browse/IGNITE-13658