[jira] [Created] (IGNITE-12530) Pages list caching can cause IgniteOOME when checkpoint is triggered by "too many dirty pages" reason

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Created] (IGNITE-12530) Pages list caching can cause IgniteOOME when checkpoint is triggered by "too many dirty pages" reason

Anton Vinogradov (Jira)
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)