Skip to content

Commit 69fd978

Browse files
ibessonovsergey-chugunov-1985
authored andcommitted
IGNITE-13813 Fixed assertion in page snapshot apply method. - Fixes #8541.
Signed-off-by: Sergey Chugunov <sergey.chugunov@gmail.com>
1 parent c4ab185 commit 69fd978

File tree

2 files changed

+19
-1
lines changed

2 files changed

+19
-1
lines changed

modules/compress/src/test/java/org/apache/ignite/internal/processors/compress/WalPageCompressionIntegrationTest.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
package org.apache.ignite.internal.processors.compress;
1919

2020
import org.apache.ignite.IgniteCache;
21+
import org.apache.ignite.cluster.ClusterState;
2122
import org.apache.ignite.configuration.CacheConfiguration;
2223
import org.apache.ignite.configuration.DataRegionConfiguration;
2324
import org.apache.ignite.configuration.DataStorageConfiguration;
@@ -28,6 +29,7 @@
2829
import org.apache.ignite.internal.processors.cache.persistence.wal.WALPointer;
2930
import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi;
3031
import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder;
32+
import org.junit.Test;
3133

3234
import static org.apache.ignite.cache.CacheAtomicityMode.ATOMIC;
3335

@@ -97,4 +99,20 @@ public class WalPageCompressionIntegrationTest extends AbstractPageCompressionIn
9799
assertTrue("Compressed WAL must be smaller than uncompressed [ptr0=" + ptr0 + ", ptr1=" + ptr1 + ']',
98100
ptr0.compareTo(ptr1) < 0);
99101
}
102+
103+
/** */
104+
@Test
105+
public void testSkipGarbageApplyPageSnapshotWrongAssertion() throws Exception {
106+
compression = DiskPageCompression.SKIP_GARBAGE;
107+
108+
IgniteEx ignite = startGrid(0);
109+
110+
ignite.cluster().state(ClusterState.ACTIVE);
111+
112+
ignite.getOrCreateCache(DEFAULT_CACHE_NAME);
113+
114+
stopGrid(0, true);
115+
116+
startGrid(0);
117+
}
100118
}

modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheDatabaseSharedManager.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2358,7 +2358,7 @@ public void applyPageSnapshot(PageMemoryEx pageMem, PageSnapshot pageSnapshotRec
23582358
if (PageIO.getCompressionType(pageAddr) != CompressionProcessor.UNCOMPRESSED_PAGE) {
23592359
int realPageSize = pageMem.realPageSize(pageSnapshotRecord.groupId());
23602360

2361-
assert pageSnapshotRecord.pageDataSize() < realPageSize : pageSnapshotRecord.pageDataSize();
2361+
assert pageSnapshotRecord.pageDataSize() <= realPageSize : pageSnapshotRecord.pageDataSize();
23622362

23632363
cctx.kernalContext().compress().decompressPage(pageMem.pageBuffer(pageAddr), realPageSize);
23642364
}

0 commit comments

Comments
 (0)