From 068010b42bf59af0eecc1b56b78f765a71ad3670 Mon Sep 17 00:00:00 2001
From: liyujue <liyujue@ignite-service.cn>
Date: Sun, 17 Apr 2022 09:27:45 +0800
Subject: [PATCH] IGNITE-16866: Integer value is out of bounds when the
 dataregion maxSize is large enough

---
 .../cache/persistence/evict/Random2LruPageEvictionTracker.java  | 2 +-
 .../cache/persistence/evict/RandomLruPageEvictionTracker.java   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/evict/Random2LruPageEvictionTracker.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/evict/Random2LruPageEvictionTracker.java
index 35b7663110e..bed105b8f27 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/evict/Random2LruPageEvictionTracker.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/evict/Random2LruPageEvictionTracker.java
@@ -69,7 +69,7 @@ public class Random2LruPageEvictionTracker extends PageAbstractEvictionTracker {
 
     /** {@inheritDoc} */
     @Override public void start() throws IgniteException {
-        trackingArrPtr = GridUnsafe.allocateMemory(trackingSize * 8);
+        trackingArrPtr = GridUnsafe.allocateMemory((long)trackingSize * 8);
 
         GridUnsafe.setMemory(trackingArrPtr, trackingSize * 8, (byte)0);
     }
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/evict/RandomLruPageEvictionTracker.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/evict/RandomLruPageEvictionTracker.java
index ed6d2d45196..cfec86bf40c 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/evict/RandomLruPageEvictionTracker.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/evict/RandomLruPageEvictionTracker.java
@@ -71,7 +71,7 @@ public class RandomLruPageEvictionTracker extends PageAbstractEvictionTracker {
 
     /** {@inheritDoc} */
     @Override public void start() throws IgniteException {
-        trackingArrPtr = GridUnsafe.allocateMemory(trackingSize * 4);
+        trackingArrPtr = GridUnsafe.allocateMemory((long)trackingSize * 4);
 
         GridUnsafe.setMemory(trackingArrPtr, trackingSize * 4, (byte)0);
     }
-- 
2.35.1

