[
https://issues.apache.org/jira/browse/HADOOP-10840?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
shanyu zhao updated HADOOP-10840:
---------------------------------
Attachment: HADOOP-10840.2.patch
Hi [~cnauroth], sorry I missed the live test scenarios which I have to manually
configure a storage account. The problem with TestAzureConcurrentOutOfBandIo is
I removed the registration code with DefaultFileSystem in production code but
not the unit test files. I fixed that in the new patch (v2).
Regarding the two windows test failure, looks like they are not related to my
changes. It has something to do with system clock. Do they always fail or just
transient? I cannot reproduce in my Ubuntu box. Let me try it on Windows box.
I removed the publishMetricsNow() from fileSystemClosed() because I moved it to
unregisterSource(). The expectation is the caller calls unregisterSource()
before calling fileSystemClosed() which will push the last metrics out. To
prevent confusion when someone doesn't call unregisterSource() but just call
fileSystemClosed() I just added publishMetricsNow() to fileSystemClosed() under
the condition that "numFileSystems==1", this way before we are going to
shutdown the metrics system, we'll do another "safety" push, usually at this
point the metrics sources should be empty.
> Fix OutOfMemoryError caused by metrics system in Azure File System
> ------------------------------------------------------------------
>
> Key: HADOOP-10840
> URL: https://issues.apache.org/jira/browse/HADOOP-10840
> Project: Hadoop Common
> Issue Type: Bug
> Components: metrics
> Affects Versions: 2.4.1
> Reporter: shanyu zhao
> Assignee: shanyu zhao
> Attachments: HADOOP-10840.1.patch, HADOOP-10840.2.patch,
> HADOOP-10840.patch
>
>
> In Hadoop 2.x the Hadoop File System framework changed and no cache is
> implemented (refer to HADOOP-6356). This means for every WASB access, a new
> NativeAzureFileSystem is created, along which a Metrics source created and
> added to MetricsSystemImpl. Over time the sources accumulated, eating memory
> and causing Java OutOfMemoryError.
> The fix is to utilize the unregisterSource() method added to MetricsSystem in
> HADOOP-10839.
--
This message was sent by Atlassian JIRA
(v6.2#6252)