blob: de6924e25f573c9d7791e7fa882f5598f75932da [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>Impala: impala::HdfsFsCache Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
$(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">Impala
</div>
<div id="projectbrief">Impalaistheopensource,nativeanalyticdatabaseforApacheHadoop.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classimpala_1_1HdfsFsCache.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="#pri-static-attribs">Static Private Attributes</a> &#124;
<a href="classimpala_1_1HdfsFsCache-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">impala::HdfsFsCache Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="hdfs-fs-cache_8h_source.html">hdfs-fs-cache.h</a>&gt;</code></p>
<div class="dynheader">
Collaboration diagram for impala::HdfsFsCache:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="classimpala_1_1HdfsFsCache__coll__graph.svg" width="394" height="350"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:ab8cd39a3e94d24aab4599df223a5c313"><td class="memItemLeft" align="right" valign="top">typedef boost::unordered_map<br class="typebreak"/>
&lt; std::string, hdfsFS &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsFsCache.html#ab8cd39a3e94d24aab4599df223a5c313">HdfsFsMap</a></td></tr>
<tr class="separator:ab8cd39a3e94d24aab4599df223a5c313"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a99ee21c26efb9d824b6f7d0363d83bf0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsFsCache.html#a99ee21c26efb9d824b6f7d0363d83bf0">GetLocalConnection</a> (hdfsFS *fs)</td></tr>
<tr class="memdesc:a99ee21c26efb9d824b6f7d0363d83bf0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get connection to the local filesystem. <a href="#a99ee21c26efb9d824b6f7d0363d83bf0">More...</a><br/></td></tr>
<tr class="separator:a99ee21c26efb9d824b6f7d0363d83bf0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51d1e4eb6eeb4cc3a0b30ebf55c690a9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsFsCache.html#a51d1e4eb6eeb4cc3a0b30ebf55c690a9">GetConnection</a> (const std::string &amp;<a class="el" href="sasl-test_8cc.html#a2db66f7b463c0e190f8933e51f43d91e">path</a>, hdfsFS *fs, <a class="el" href="classimpala_1_1HdfsFsCache.html#ab8cd39a3e94d24aab4599df223a5c313">HdfsFsMap</a> *local_cache=NULL)</td></tr>
<tr class="separator:a51d1e4eb6eeb4cc3a0b30ebf55c690a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:af7b18daf8c4da6bfce2c7612a515bf64"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classimpala_1_1HdfsFsCache.html">HdfsFsCache</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsFsCache.html#af7b18daf8c4da6bfce2c7612a515bf64">instance</a> ()</td></tr>
<tr class="separator:af7b18daf8c4da6bfce2c7612a515bf64"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e1eb21b31b3cfbaa5e94e3ceeac5152"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsFsCache.html#a3e1eb21b31b3cfbaa5e94e3ceeac5152">Init</a> ()</td></tr>
<tr class="memdesc:a3e1eb21b31b3cfbaa5e94e3ceeac5152"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the cache. Must be called before any other APIs. <a href="#a3e1eb21b31b3cfbaa5e94e3ceeac5152">More...</a><br/></td></tr>
<tr class="separator:a3e1eb21b31b3cfbaa5e94e3ceeac5152"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac7173ea32287dcfaf2b0fd196ce2b08b"><td class="memItemLeft" align="right" valign="top">static string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsFsCache.html#ac7173ea32287dcfaf2b0fd196ce2b08b">GetNameNodeFromPath</a> (const string &amp;<a class="el" href="sasl-test_8cc.html#a2db66f7b463c0e190f8933e51f43d91e">path</a>, string *err)</td></tr>
<tr class="separator:ac7173ea32287dcfaf2b0fd196ce2b08b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr class="memitem:a12cb53e1819c2ad7b8a7a0a08e81be08"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsFsCache.html#a12cb53e1819c2ad7b8a7a0a08e81be08">HdfsFsCache</a> ()</td></tr>
<tr class="separator:a12cb53e1819c2ad7b8a7a0a08e81be08"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a736a18f895634e61b7d1dac6ca64cc0e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsFsCache.html#a736a18f895634e61b7d1dac6ca64cc0e">HdfsFsCache</a> (<a class="el" href="classimpala_1_1HdfsFsCache.html">HdfsFsCache</a> const &amp;l)</td></tr>
<tr class="separator:a736a18f895634e61b7d1dac6ca64cc0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa385cb86d6df547aa62f335cae1ce0a4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1HdfsFsCache.html">HdfsFsCache</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsFsCache.html#aa385cb86d6df547aa62f335cae1ce0a4">operator=</a> (<a class="el" href="classimpala_1_1HdfsFsCache.html">HdfsFsCache</a> const &amp;l)</td></tr>
<tr class="separator:aa385cb86d6df547aa62f335cae1ce0a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:a1414b6c1288bb61278d5ec24491b8437"><td class="memItemLeft" align="right" valign="top">boost::mutex&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsFsCache.html#a1414b6c1288bb61278d5ec24491b8437">lock_</a></td></tr>
<tr class="separator:a1414b6c1288bb61278d5ec24491b8437"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4297eb1b13be517b6d59f51c71e12115"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1HdfsFsCache.html#ab8cd39a3e94d24aab4599df223a5c313">HdfsFsMap</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsFsCache.html#a4297eb1b13be517b6d59f51c71e12115">fs_map_</a></td></tr>
<tr class="separator:a4297eb1b13be517b6d59f51c71e12115"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-static-attribs"></a>
Static Private Attributes</h2></td></tr>
<tr class="memitem:abc72e9f32db5c918494d9bde77677cf2"><td class="memItemLeft" align="right" valign="top">static boost::scoped_ptr<br class="typebreak"/>
&lt; <a class="el" href="classimpala_1_1HdfsFsCache.html">HdfsFsCache</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsFsCache.html#abc72e9f32db5c918494d9bde77677cf2">instance_</a></td></tr>
<tr class="memdesc:abc72e9f32db5c918494d9bde77677cf2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Singleton instance. Instantiated in <a class="el" href="classimpala_1_1HdfsFsCache.html#a3e1eb21b31b3cfbaa5e94e3ceeac5152" title="Initializes the cache. Must be called before any other APIs. ">Init()</a>. <a href="#abc72e9f32db5c918494d9bde77677cf2">More...</a><br/></td></tr>
<tr class="separator:abc72e9f32db5c918494d9bde77677cf2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A (process-wide) cache of hdfsFS objects. These connections are shared across all threads and kept open until the process terminates. These connections are leaked, i.e. we never call hdfsDisconnect(). Calls to hdfsDisconnect() by individual threads would terminate all other connections handed out via hdfsConnect() to the same URI, and there is no simple, safe way to call hdfsDisconnect() when process terminates (the proper solution is likely to create a signal handler to detect when the process is killed, but we would still leak when impalad crashes). </p>
<p>Definition at line <a class="el" href="hdfs-fs-cache_8h_source.html#l00039">39</a> of file <a class="el" href="hdfs-fs-cache_8h_source.html">hdfs-fs-cache.h</a>.</p>
</div><h2 class="groupheader">Member Typedef Documentation</h2>
<a class="anchor" id="ab8cd39a3e94d24aab4599df223a5c313"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef boost::unordered_map&lt;std::string, hdfsFS&gt; <a class="el" href="classimpala_1_1HdfsFsCache.html#ab8cd39a3e94d24aab4599df223a5c313">impala::HdfsFsCache::HdfsFsMap</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="hdfs-fs-cache_8h_source.html#l00041">41</a> of file <a class="el" href="hdfs-fs-cache_8h_source.html">hdfs-fs-cache.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a12cb53e1819c2ad7b8a7a0a08e81be08"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">impala::HdfsFsCache::HdfsFsCache </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="hdfs-fs-cache_8h_source.html#l00069">69</a> of file <a class="el" href="hdfs-fs-cache_8h_source.html">hdfs-fs-cache.h</a>.</p>
</div>
</div>
<a class="anchor" id="a736a18f895634e61b7d1dac6ca64cc0e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">impala::HdfsFsCache::HdfsFsCache </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classimpala_1_1HdfsFsCache.html">HdfsFsCache</a> const &amp;&#160;</td>
<td class="paramname"><em>l</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a51d1e4eb6eeb4cc3a0b30ebf55c690a9"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classimpala_1_1Status.html">Status</a> impala::HdfsFsCache::GetConnection </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>path</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">hdfsFS *&#160;</td>
<td class="paramname"><em>fs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classimpala_1_1HdfsFsCache.html#ab8cd39a3e94d24aab4599df223a5c313">HdfsFsMap</a> *&#160;</td>
<td class="paramname"><em>local_cache</em> = <code>NULL</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Get connection to specific fs by specifying a path. Optionally, a local cache can be provided so that the process-wide lock can be avoided on subsequent calls for the same filesystem. The caller is responsible for synchronizing the local cache (e.g. by passing a thread-local cache). </p>
<p>Definition at line <a class="el" href="hdfs-fs-cache_8cc_source.html#l00039">39</a> of file <a class="el" href="hdfs-fs-cache_8cc_source.html">hdfs-fs-cache.cc</a>.</p>
<p>References <a class="el" href="hdfs-util_8cc_source.html#l00026">impala::GetHdfsErrorMsg()</a>, <a class="el" href="lock-benchmark_8cc_source.html#l00072">lock_</a>, and <a class="el" href="webserver_8cc_source.html#l00115">impala::OK</a>.</p>
</div>
</div>
<a class="anchor" id="a99ee21c26efb9d824b6f7d0363d83bf0"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classimpala_1_1Status.html">Status</a> impala::HdfsFsCache::GetLocalConnection </td>
<td>(</td>
<td class="paramtype">hdfsFS *&#160;</td>
<td class="paramname"><em>fs</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Get connection to the local filesystem. </p>
<p>Definition at line <a class="el" href="hdfs-fs-cache_8cc_source.html#l00078">78</a> of file <a class="el" href="hdfs-fs-cache_8cc_source.html">hdfs-fs-cache.cc</a>.</p>
</div>
</div>
<a class="anchor" id="ac7173ea32287dcfaf2b0fd196ce2b08b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">string impala::HdfsFsCache::GetNameNodeFromPath </td>
<td>(</td>
<td class="paramtype">const string &amp;&#160;</td>
<td class="paramname"><em>path</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">string *&#160;</td>
<td class="paramname"><em>err</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get NameNode info from path, set error message if path is not valid. Exposed as a static method for testing purpose. </p>
<p>Definition at line <a class="el" href="hdfs-fs-cache_8cc_source.html#l00082">82</a> of file <a class="el" href="hdfs-fs-cache_8cc_source.html">hdfs-fs-cache.cc</a>.</p>
</div>
</div>
<a class="anchor" id="a3e1eb21b31b3cfbaa5e94e3ceeac5152"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void impala::HdfsFsCache::Init </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Initializes the cache. Must be called before any other APIs. </p>
<p>Definition at line <a class="el" href="hdfs-fs-cache_8cc_source.html#l00034">34</a> of file <a class="el" href="hdfs-fs-cache_8cc_source.html">hdfs-fs-cache.cc</a>.</p>
<p>Referenced by <a class="el" href="init_8cc_source.html#l00122">impala::InitCommonRuntime()</a>.</p>
</div>
</div>
<a class="anchor" id="af7b18daf8c4da6bfce2c7612a515bf64"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="classimpala_1_1HdfsFsCache.html">HdfsFsCache</a>* impala::HdfsFsCache::instance </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="hdfs-fs-cache_8h_source.html#l00043">43</a> of file <a class="el" href="hdfs-fs-cache_8h_source.html">hdfs-fs-cache.h</a>.</p>
<p>References <a class="el" href="hdfs-fs-cache_8h_source.html#l00064">instance_</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00304">impala::HdfsScanNode::Prepare()</a>, and <a class="el" href="hdfs-table-sink_8cc_source.html#l00107">impala::HdfsTableSink::Prepare()</a>.</p>
</div>
</div>
<a class="anchor" id="aa385cb86d6df547aa62f335cae1ce0a4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classimpala_1_1HdfsFsCache.html">HdfsFsCache</a>&amp; impala::HdfsFsCache::operator= </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classimpala_1_1HdfsFsCache.html">HdfsFsCache</a> const &amp;&#160;</td>
<td class="paramname"><em>l</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="a4297eb1b13be517b6d59f51c71e12115"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classimpala_1_1HdfsFsCache.html#ab8cd39a3e94d24aab4599df223a5c313">HdfsFsMap</a> impala::HdfsFsCache::fs_map_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="hdfs-fs-cache_8h_source.html#l00067">67</a> of file <a class="el" href="hdfs-fs-cache_8h_source.html">hdfs-fs-cache.h</a>.</p>
</div>
</div>
<a class="anchor" id="abc72e9f32db5c918494d9bde77677cf2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">scoped_ptr&lt; <a class="el" href="classimpala_1_1HdfsFsCache.html">HdfsFsCache</a> &gt; impala::HdfsFsCache::instance_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Singleton instance. Instantiated in <a class="el" href="classimpala_1_1HdfsFsCache.html#a3e1eb21b31b3cfbaa5e94e3ceeac5152" title="Initializes the cache. Must be called before any other APIs. ">Init()</a>. </p>
<p>Definition at line <a class="el" href="hdfs-fs-cache_8h_source.html#l00064">64</a> of file <a class="el" href="hdfs-fs-cache_8h_source.html">hdfs-fs-cache.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-fs-cache_8h_source.html#l00043">instance()</a>.</p>
</div>
</div>
<a class="anchor" id="a1414b6c1288bb61278d5ec24491b8437"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">boost::mutex impala::HdfsFsCache::lock_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="hdfs-fs-cache_8h_source.html#l00066">66</a> of file <a class="el" href="hdfs-fs-cache_8h_source.html">hdfs-fs-cache.h</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>be/src/runtime/<a class="el" href="hdfs-fs-cache_8h_source.html">hdfs-fs-cache.h</a></li>
<li>be/src/runtime/<a class="el" href="hdfs-fs-cache_8cc_source.html">hdfs-fs-cache.cc</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespaceimpala.html">impala</a></li><li class="navelem"><a class="el" href="classimpala_1_1HdfsFsCache.html">HdfsFsCache</a></li>
<li class="footer">Generated on Thu May 7 2015 16:10:49 for Impala by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6 </li>
</ul>
</div>
</body>
</html>