You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-issues@hadoop.apache.org by "ConfX (Jira)" <ji...@apache.org> on 2023/09/14 00:53:00 UTC
[jira] [Updated] (HDFS-17189) GcTimeMonitor crashes with NegativeArraySizeException during initialization
[ https://issues.apache.org/jira/browse/HDFS-17189?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
ConfX updated HDFS-17189:
-------------------------
Description:
The garbage collection data buffer size equals to `dfs.namenode.gc.time.monitor.observation.window.ms` divided by `dfs.namenode.gc.time.monitor.sleep.interval.ms` plus 2. When the observation window is a large value, the caculation overflows, resulting in a negative buffer size.
To reproduce:
1. set `dfs.namenode.gc.time.monitor.observation.window.ms` to 945099495m
2. run `mvn surefire:test -Dtest=org.apache.hadoop.hdfs.TestHDFSFileSystemContract#testWriteReadAndDeleteHalfABlock`
We create a PR that provides a fix by checking the computed buffer size is not only within `128 * 1024` but also greater than 0.
was:
The garbage collection data buffer size equals to `dfs.namenode.gc.time.monitor.observation.window.ms` divided by `dfs.namenode.gc.time.monitor.sleep.interval.ms` plus 2. When the observation window is a large value, the caculation overflows, resulting in a negative buffer size.
To reproduce:
1. set `dfs.namenode.gc.time.monitor.observation.window.ms` to 945099495m
2. run `mvn surefire:test -Dtest=org.apache.hadoop.hdfs.TestHDFSFileSystemContract#testWriteReadAndDeleteHalfABlock`
This PR provides a fix by checking the computed buffer size is not only within `128 * 1024` but also greater than 0.
> GcTimeMonitor crashes with NegativeArraySizeException during initialization
> ---------------------------------------------------------------------------
>
> Key: HDFS-17189
> URL: https://issues.apache.org/jira/browse/HDFS-17189
> Project: Hadoop HDFS
> Issue Type: Bug
> Affects Versions: 3.3.6
> Reporter: ConfX
> Priority: Major
> Labels: pull-request-available
>
> The garbage collection data buffer size equals to `dfs.namenode.gc.time.monitor.observation.window.ms` divided by `dfs.namenode.gc.time.monitor.sleep.interval.ms` plus 2. When the observation window is a large value, the caculation overflows, resulting in a negative buffer size.
> To reproduce:
> 1. set `dfs.namenode.gc.time.monitor.observation.window.ms` to 945099495m
> 2. run `mvn surefire:test -Dtest=org.apache.hadoop.hdfs.TestHDFSFileSystemContract#testWriteReadAndDeleteHalfABlock`
> We create a PR that provides a fix by checking the computed buffer size is not only within `128 * 1024` but also greater than 0.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-help@hadoop.apache.org