[ https://issues.apache.org/jira/browse/IGNITE-12530?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Stanilovsky Evgeny updated IGNITE-12530: ---------------------------------------- Attachment: screenshot-2.png > 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 > Components: persistence > Affects Versions: 2.8 > Reporter: Aleksey Plekhanov > Assignee: Aleksey Plekhanov > Priority: Major > Attachments: screenshot-1.png, screenshot-2.png > > Time Spent: 1.5h > Remaining Estimate: 0h > > 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)