[ 
https://issues.apache.org/jira/browse/HDFS-5050?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrew Wang updated HDFS-5050:
------------------------------

    Attachment: hdfs-5050-1.patch

Patch attached.

Big picture:
- New {{FsDatasetCache}} class manages a map of {{MmapBlock}}, which is a 
{{Block}} with mmap, mlock, and checksum operations. The expensive operation of 
adding a new block to the cache happens asynchronously via a set of per-volume 
worker pools. It's modeled after {{FsDatasetAsyncDiskService}}.
- Plumbing to hook up heartbeat responses to the {{FsDatasetCache}}
- Reasonable tests with a spoofed NN, we're getting close!

Small picture:
- Refactored FsDatasetAsyncDiskService since I'd rather key my thread pools off 
of the {{FsVolumeSpi#getBasePath}} string than the File from 
{{FsVolumeImpl#getCurrentDir}}. This isn't strictly necessary, but I think it's 
a nice change.
- I tried making FsDatasetCache lock-free, so a careful eye toward concurrency 
issues would be appreciated.

Known todos:
- Statistics regarding # of cache attempts, successes, failures, and making 
sure the FsDatasetMBean stats are getting exposed. Tests for these too.
- More tests for FsDatasetCache, not hitting all the failure modes.
                
> Add DataNode support for mlock and munlock
> ------------------------------------------
>
>                 Key: HDFS-5050
>                 URL: https://issues.apache.org/jira/browse/HDFS-5050
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: datanode, namenode
>            Reporter: Colin Patrick McCabe
>            Assignee: Andrew Wang
>         Attachments: hdfs-5050-1.patch
>
>
> Add DataNode support for mlock and munlock.  The DataNodes should respond to 
> RPCs telling them to mlock and munlock blocks.  Blocks should be uncached 
> when the NameNode asks for them to be moved or deleted.  For now, we should 
> cache only completed blocks.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to