This is an automated email from the ASF dual-hosted git repository.
sdanilov pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite.git
The following commit(s) were added to refs/heads/master by this push:
new 6ad49608f0a IGNITE-18169 Fix
IoomFailureHandlerTest.testIoomErrorPdsHandling fails (#10381)
6ad49608f0a is described below
commit 6ad49608f0a88c73c45dd78121ad937673935988
Author: Semyon Danilov <[email protected]>
AuthorDate: Fri Nov 18 09:10:52 2022 +0300
IGNITE-18169 Fix IoomFailureHandlerTest.testIoomErrorPdsHandling fails
(#10381)
---
.../cache/persistence/GridCacheDatabaseSharedManager.java | 15 ++++++++++++---
.../org/apache/ignite/failure/IoomFailureHandlerTest.java | 2 +-
2 files changed, 13 insertions(+), 4 deletions(-)
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheDatabaseSharedManager.java
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheDatabaseSharedManager.java
index bd402a9b441..5730d45228a 100755
---
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheDatabaseSharedManager.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheDatabaseSharedManager.java
@@ -1185,14 +1185,22 @@ public class GridCacheDatabaseSharedManager extends
IgniteCacheDatabaseSharedMan
}
/** */
- private long[] calculateFragmentSizes(int concLvl, long cacheSize, long
chpBufSize) {
+ private long[] calculateFragmentSizes(String regionName, int concLvl, long
cacheSize, long chpBufSize) {
if (concLvl < 2)
concLvl = Runtime.getRuntime().availableProcessors();
long fragmentSize = cacheSize / concLvl;
- if (fragmentSize < 1024 * 1024)
- fragmentSize = 1024 * 1024;
+ if (fragmentSize < U.MB) {
+ // Chunk lesser than 1MiB doesn't make much sense.
+ fragmentSize = U.MB;
+
+ String curSize = U.readableSize(cacheSize, true);
+ String increasedSize = U.readableSize(U.MB * concLvl, true);
+
+ U.warn(log, "Region [" + regionName + "] size " + curSize + " is
too small for concurrency level=" +
+ concLvl + ". " + "Automatically increasing it to " +
increasedSize);
+ }
long[] sizes = new long[concLvl + 1];
@@ -1250,6 +1258,7 @@ public class GridCacheDatabaseSharedManager extends
IgniteCacheDatabaseSharedMan
PageMemoryImpl pageMem = new PageMemoryImpl(
wrapMetricsPersistentMemoryProvider(memProvider, memMetrics),
calculateFragmentSizes(
+ plcCfg.getName(),
memCfg.getConcurrencyLevel(),
cacheSize,
chpBufSize
diff --git
a/modules/core/src/test/java/org/apache/ignite/failure/IoomFailureHandlerTest.java
b/modules/core/src/test/java/org/apache/ignite/failure/IoomFailureHandlerTest.java
index 402c1a5ee38..09e1e650130 100644
---
a/modules/core/src/test/java/org/apache/ignite/failure/IoomFailureHandlerTest.java
+++
b/modules/core/src/test/java/org/apache/ignite/failure/IoomFailureHandlerTest.java
@@ -152,7 +152,7 @@ public class IoomFailureHandlerTest extends
AbstractFailureHandlerTest {
try (Transaction tx = ignite0.transactions().txStart()) {
for (Integer i : primaryKeys(cache1, ENTRIES))
- cache0.put(i, new byte[PAGE_SIZE / 3 * 2]);
+ cache0.put(i, new byte[PAGE_SIZE * 2]);
tx.commit();
}