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

Colin Patrick McCabe updated HDFS-5810:
---------------------------------------

    Attachment: HDFS-5810.015.patch

Some fixes:
* Don't move tcpReadsDisabledForTesting to BlockReaderFactory, to avoid code 
churn.  For now, leave it in DFSInputStream.
* Add TestBlockReaderFactory to test a few corner cases surrounding the 
BlockReaderFactory.
* Add new configuration keys to hdfs-default.xml.
* Straighten out a few issues surrounding purging replicas from the cache.  
Formerly, there were some bugs that could happen if a replica was purged while 
others held on to references to it.
* Rework the way eviction is handled somewhat.  When we run out of mmap slots, 
we now bump the replicas down into the standard eviction map, rather than 
purging them immediately.  This also motivated me to use eviction maps rather 
than eviction    lists, since otherwise this bumping would be an O(n^2) 
operation.
* Use a HashMap rather than TreeMap to store replicas.
* Rework ShortCircuitCache#getOrCreateClientMmap and 
ShortCircuitCache#fetchOrCreate

> Unify mmap cache and short-circuit file descriptor cache
> --------------------------------------------------------
>
>                 Key: HDFS-5810
>                 URL: https://issues.apache.org/jira/browse/HDFS-5810
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: hdfs-client
>    Affects Versions: 2.3.0
>            Reporter: Colin Patrick McCabe
>            Assignee: Colin Patrick McCabe
>         Attachments: HDFS-5810.001.patch, HDFS-5810.004.patch, 
> HDFS-5810.006.patch, HDFS-5810.008.patch, HDFS-5810.015.patch
>
>
> We should unify the client mmap cache and the client file descriptor cache.  
> Since mmaps are granted corresponding to file descriptors in the cache 
> (currently FileInputStreamCache), they have to be tracked together to do 
> "smarter" things like HDFS-5182.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to