[ 
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)

Reply via email to