[
https://issues.apache.org/jira/browse/HBASE-28133?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17772455#comment-17772455
]
Istvan Toth edited comment on HBASE-28133 at 10/6/23 7:51 AM:
--------------------------------------------------------------
The difference is not due to the OS, but the host memory size, which determines
*-Xms* , which in turn determines *NewSize* and {*}OldSize{*}.
With *-Xms256m* the test requires *2200m* heap, while
with *-Xms1000m* the test requires 1800m heap.
This kind of makes sense, as the test allocates huge blocks of memory, and
moving those between the generations must affect behaviour and memory
fragmentation.
was (Author: stoty):
The difference is not due to the OS, but the host memory size, which determines
*-Xmx* , which in turn determines *NewSize* and {*}OldSize{*}.
With *-Xms256m* the test requires *2200m* heap, while
with *-Xms1000m* the test requires 1800m heap.
This kind of makes sense, as the test allocates huge blocks of memory, and
moving those between the generations must affect behaviour and memory
fragmentation.
> TestSyncTimeRangeTracker fails with OOM with small -Xms values
> --------------------------------------------------------------
>
> Key: HBASE-28133
> URL: https://issues.apache.org/jira/browse/HBASE-28133
> Project: HBase
> Issue Type: Bug
> Affects Versions: 2.4.17
> Reporter: Istvan Toth
> Assignee: Istvan Toth
> Priority: Major
> Labels: Arm64, test
>
> Edit2: It's not the OS, it's the -Xmx value determined from the host memory
> size.
> Edit: It's related to the OS and it's default java 8 , not to the processor
> architecture.
> This test seems to be cutting real close to the heap size.
> On ARM, it consistently fails on my RHEL8.8 Aarch64 VM with Java 8.
> {noformat}
> mvn test -P runDevTests -Dtest.build.data.basedirectory=/ram2G
> -Dhadoop.profile=3.0 -fn -B -Dtest=TestSyncTimeRangeTracker* -pl hbase-server
> ...
> [ERROR]
> org.apache.hadoop.hbase.regionserver.TestSyncTimeRangeTracker.testConcurrentIncludeTimestampCorrectness
> Time elapsed: 1.969 s <<< ERROR!
> java.lang.OutOfMemoryError: Java heap space
> {noformat}
> It seems that Java on ARM has some higher memory overhead than x86_64.
> Simply bumping -Xmx from the default 2200m to 2300m allows it to pass.
> {noformat}
> mvn test -P runDevTests -Dtest.build.data.basedirectory=/ram2G
> -Dhadoop.profile=3.0 -fn -B -Dtest=TestSyncTimeRangeTracker* -pl hbase-server
> -Dsurefire.Xmx=2300m
> ...
> [INFO] Running org.apache.hadoop.hbase.regionserver.TestSyncTimeRangeTracker
> [INFO] Tests run: 10, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.395
> s - in org.apache.hadoop.hbase.regionserver.TestSyncTimeRangeTracker
> {noformat}
> However, the real solution should be reducing the memory usage for this test.
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)