ignite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aleksey Plekhanov (Jira)" <j...@apache.org>
Subject [jira] [Created] (IGNITE-12530) Pages list caching can cause IgniteOOME when checkpoint is triggered by "too many dirty pages" reason
Date Mon, 13 Jan 2020 14:17:00 GMT
Aleksey Plekhanov created IGNITE-12530:
------------------------------------------

             Summary: Pages list caching can cause IgniteOOME when checkpoint is triggered
by "too many dirty pages" reason
                 Key: IGNITE-12530
                 URL: https://issues.apache.org/jira/browse/IGNITE-12530
             Project: Ignite
          Issue Type: Bug
    Affects Versions: 2.8
            Reporter: Aleksey Plekhanov
            Assignee: Aleksey Plekhanov


When a checkpoint is triggered, we need some amount of page memory to store pages list on-heap
cache.

If data region is too small, a checkpoint is triggered by "too many dirty pages" reason and
pages list cache is rather big, we can get IgniteOutOfMemoryException.

Reproducer:
{code:java}
@Override protected IgniteConfiguration getConfiguration(String name) throws Exception {
    IgniteConfiguration cfg = super.getConfiguration(name);

    cfg.setDataStorageConfiguration(new DataStorageConfiguration()
        .setDefaultDataRegionConfiguration(new DataRegionConfiguration()
            .setPersistenceEnabled(true)
            .setMaxSize(50 * 1024 * 1024)
        ));

    return cfg;
}

@Test
public void testUpdatesNotFittingIntoMemoryRegion() throws Exception {
    IgniteEx ignite = startGrid(0);

    ignite.cluster().active(true);

    ignite.getOrCreateCache(DEFAULT_CACHE_NAME);

    try (IgniteDataStreamer<Object, Object> streamer = ignite.dataStreamer(DEFAULT_CACHE_NAME))
{
        for (int i = 0; i < 100_000; i++)
            streamer.addData(i, new byte[i % 2048]);
    }
}
{code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Mime
View raw message