| <!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::ClientCacheHelper 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 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 List</span></a></li> |
| <li><a href="classes.html"><span>Class Index</span></a></li> |
| <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> |
| <li><a href="functions.html"><span>Class 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_1ClientCacheHelper.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"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </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="#nested-classes">Classes</a> | |
| <a href="#pub-types">Public Types</a> | |
| <a href="#pub-methods">Public Member Functions</a> | |
| <a href="#pri-types">Private Types</a> | |
| <a href="#pri-methods">Private Member Functions</a> | |
| <a href="#pri-attribs">Private Attributes</a> | |
| <a href="#friends">Friends</a> | |
| <a href="classimpala_1_1ClientCacheHelper-members.html">List of all members</a> </div> |
| <div class="headertitle"> |
| <div class="title">impala::ClientCacheHelper Class Reference</div> </div> |
| </div><!--header--> |
| <div class="contents"> |
| |
| <p>This class is thread-safe. |
| <a href="classimpala_1_1ClientCacheHelper.html#details">More...</a></p> |
| |
| <p><code>#include <<a class="el" href="client-cache_8h_source.html">client-cache.h</a>></code></p> |
| <div class="dynheader"> |
| Collaboration diagram for impala::ClientCacheHelper:</div> |
| <div class="dyncontent"> |
| <div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="classimpala_1_1ClientCacheHelper__coll__graph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div></div> |
| </div> |
| <table class="memberdecls"> |
| <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> |
| Classes</h2></td></tr> |
| <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structimpala_1_1ClientCacheHelper_1_1PerHostCache.html">PerHostCache</a></td></tr> |
| <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> |
| </table><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:a4da1ac222ceff2be3f798650fc4d48f9"><td class="memItemLeft" align="right" valign="top">typedef boost::function<br class="typebreak"/> |
| < <a class="el" href="classimpala_1_1ThriftClientImpl.html">ThriftClientImpl</a> *(const <br class="typebreak"/> |
| TNetworkAddress &address, <br class="typebreak"/> |
| <a class="el" href="namespaceimpala.html#af882a84ad40478dc121a6bf6dc27f201">ClientKey</a> *client_key)> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ClientCacheHelper.html#a4da1ac222ceff2be3f798650fc4d48f9">ClientFactory</a></td></tr> |
| <tr class="separator:a4da1ac222ceff2be3f798650fc4d48f9"><td class="memSeparator" colspan="2"> </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:a866e9a0ba17a9812cb2ceafbbef183d4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1Status.html">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ClientCacheHelper.html#a866e9a0ba17a9812cb2ceafbbef183d4">GetClient</a> (const TNetworkAddress &address, <a class="el" href="classimpala_1_1ClientCacheHelper.html#a4da1ac222ceff2be3f798650fc4d48f9">ClientFactory</a> factory_method, <a class="el" href="namespaceimpala.html#af882a84ad40478dc121a6bf6dc27f201">ClientKey</a> *client_key)</td></tr> |
| <tr class="memdesc:a866e9a0ba17a9812cb2ceafbbef183d4"><td class="mdescLeft"> </td><td class="mdescRight">If there is an error creating the new client, *client_key will be NULL. <a href="#a866e9a0ba17a9812cb2ceafbbef183d4">More...</a><br/></td></tr> |
| <tr class="separator:a866e9a0ba17a9812cb2ceafbbef183d4"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ad0d2e8780d700174f9fa8e8cac83b4b2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1Status.html">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ClientCacheHelper.html#ad0d2e8780d700174f9fa8e8cac83b4b2">ReopenClient</a> (<a class="el" href="classimpala_1_1ClientCacheHelper.html#a4da1ac222ceff2be3f798650fc4d48f9">ClientFactory</a> factory_method, <a class="el" href="namespaceimpala.html#af882a84ad40478dc121a6bf6dc27f201">ClientKey</a> *client_key)</td></tr> |
| <tr class="separator:ad0d2e8780d700174f9fa8e8cac83b4b2"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a952813bed7ba0ad4d5ac212d6b412855"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ClientCacheHelper.html#a952813bed7ba0ad4d5ac212d6b412855">ReleaseClient</a> (<a class="el" href="namespaceimpala.html#af882a84ad40478dc121a6bf6dc27f201">ClientKey</a> *client_key)</td></tr> |
| <tr class="separator:a952813bed7ba0ad4d5ac212d6b412855"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a216d1682a3075523b67ecc506db12ba2"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ClientCacheHelper.html#a216d1682a3075523b67ecc506db12ba2">CloseConnections</a> (const TNetworkAddress &address)</td></tr> |
| <tr class="separator:a216d1682a3075523b67ecc506db12ba2"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a2ff1124846a1e27106bb2ad47dfc7c37"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ClientCacheHelper.html#a2ff1124846a1e27106bb2ad47dfc7c37">DebugString</a> ()</td></tr> |
| <tr class="memdesc:a2ff1124846a1e27106bb2ad47dfc7c37"><td class="mdescLeft"> </td><td class="mdescRight">Return a debug representation of the contents of this cache. <a href="#a2ff1124846a1e27106bb2ad47dfc7c37">More...</a><br/></td></tr> |
| <tr class="separator:a2ff1124846a1e27106bb2ad47dfc7c37"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a0633abad539e0ed6881e31ed209967a1"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ClientCacheHelper.html#a0633abad539e0ed6881e31ed209967a1">TestShutdown</a> ()</td></tr> |
| <tr class="memdesc:a0633abad539e0ed6881e31ed209967a1"><td class="mdescLeft"> </td><td class="mdescRight">Closes every connection in the cache. Used only for testing. <a href="#a0633abad539e0ed6881e31ed209967a1">More...</a><br/></td></tr> |
| <tr class="separator:a0633abad539e0ed6881e31ed209967a1"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a655a4878f988d44bb8f0e782d2b49b51"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ClientCacheHelper.html#a655a4878f988d44bb8f0e782d2b49b51">InitMetrics</a> (<a class="el" href="classimpala_1_1MetricGroup.html">MetricGroup</a> *metrics, const std::string &key_prefix)</td></tr> |
| <tr class="separator:a655a4878f988d44bb8f0e782d2b49b51"><td class="memSeparator" colspan="2"> </td></tr> |
| </table><table class="memberdecls"> |
| <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-types"></a> |
| Private Types</h2></td></tr> |
| <tr class="memitem:a2a7dba2cc619dce959168fb5521d7cf3"><td class="memItemLeft" align="right" valign="top">typedef boost::unordered_map<br class="typebreak"/> |
| < TNetworkAddress, <br class="typebreak"/> |
| boost::shared_ptr<br class="typebreak"/> |
| < <a class="el" href="structimpala_1_1ClientCacheHelper_1_1PerHostCache.html">PerHostCache</a> > > </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ClientCacheHelper.html#a2a7dba2cc619dce959168fb5521d7cf3">PerHostCacheMap</a></td></tr> |
| <tr class="separator:a2a7dba2cc619dce959168fb5521d7cf3"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:aa5a49cf4968695cbf24f1b83ffbc61fc"><td class="memItemLeft" align="right" valign="top">typedef std::map< <a class="el" href="namespaceimpala.html#af882a84ad40478dc121a6bf6dc27f201">ClientKey</a>, <br class="typebreak"/> |
| boost::shared_ptr<br class="typebreak"/> |
| < <a class="el" href="classimpala_1_1ThriftClientImpl.html">ThriftClientImpl</a> > > </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ClientCacheHelper.html#aa5a49cf4968695cbf24f1b83ffbc61fc">ClientMap</a></td></tr> |
| <tr class="separator:aa5a49cf4968695cbf24f1b83ffbc61fc"><td class="memSeparator" colspan="2"> </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:a1b814cc326129a5e182341f88833a2ee"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ClientCacheHelper.html#a1b814cc326129a5e182341f88833a2ee">ClientCacheHelper</a> (uint32_t num_tries, <a class="el" href="classuint64__t.html">uint64_t</a> wait_ms, int32_t send_timeout_ms, int32_t recv_timeout_ms)</td></tr> |
| <tr class="memdesc:a1b814cc326129a5e182341f88833a2ee"><td class="mdescLeft"> </td><td class="mdescRight">Private constructor so that only <a class="el" href="classimpala_1_1ClientCache.html">ClientCache</a> can instantiate this class. <a href="#a1b814cc326129a5e182341f88833a2ee">More...</a><br/></td></tr> |
| <tr class="separator:a1b814cc326129a5e182341f88833a2ee"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a450ceb70e00125f966fb929b327aa4c9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1Status.html">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ClientCacheHelper.html#a450ceb70e00125f966fb929b327aa4c9">CreateClient</a> (const TNetworkAddress &address, <a class="el" href="classimpala_1_1ClientCacheHelper.html#a4da1ac222ceff2be3f798650fc4d48f9">ClientFactory</a> factory_method, <a class="el" href="namespaceimpala.html#af882a84ad40478dc121a6bf6dc27f201">ClientKey</a> *client_key)</td></tr> |
| <tr class="memdesc:a450ceb70e00125f966fb929b327aa4c9"><td class="mdescLeft"> </td><td class="mdescRight">Create a new client for specific address in 'client' and put it in client_map_. <a href="#a450ceb70e00125f966fb929b327aa4c9">More...</a><br/></td></tr> |
| <tr class="separator:a450ceb70e00125f966fb929b327aa4c9"><td class="memSeparator" colspan="2"> </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:a7f28c5c2ecae44c0e5d6f2d73b05e6f6"><td class="memItemLeft" align="right" valign="top">boost::mutex </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ClientCacheHelper.html#a7f28c5c2ecae44c0e5d6f2d73b05e6f6">cache_lock_</a></td></tr> |
| <tr class="memdesc:a7f28c5c2ecae44c0e5d6f2d73b05e6f6"><td class="mdescLeft"> </td><td class="mdescRight">Protects per_host_caches_. <a href="#a7f28c5c2ecae44c0e5d6f2d73b05e6f6">More...</a><br/></td></tr> |
| <tr class="separator:a7f28c5c2ecae44c0e5d6f2d73b05e6f6"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:aa2443d6ecc23ae8866afd0643b55a6b3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1ClientCacheHelper.html#a2a7dba2cc619dce959168fb5521d7cf3">PerHostCacheMap</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ClientCacheHelper.html#aa2443d6ecc23ae8866afd0643b55a6b3">per_host_caches_</a></td></tr> |
| <tr class="separator:aa2443d6ecc23ae8866afd0643b55a6b3"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:af32d280bf9948b02f2ae6f390ccc5277"><td class="memItemLeft" align="right" valign="top">boost::mutex </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ClientCacheHelper.html#af32d280bf9948b02f2ae6f390ccc5277">client_map_lock_</a></td></tr> |
| <tr class="memdesc:af32d280bf9948b02f2ae6f390ccc5277"><td class="mdescLeft"> </td><td class="mdescRight">Protects client_map_. <a href="#af32d280bf9948b02f2ae6f390ccc5277">More...</a><br/></td></tr> |
| <tr class="separator:af32d280bf9948b02f2ae6f390ccc5277"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a368c998c61f2e401c891358fa2474904"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1ClientCacheHelper.html#aa5a49cf4968695cbf24f1b83ffbc61fc">ClientMap</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ClientCacheHelper.html#a368c998c61f2e401c891358fa2474904">client_map_</a></td></tr> |
| <tr class="separator:a368c998c61f2e401c891358fa2474904"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:aea87a817f89cc03e6fd1177c4363d81b"><td class="memItemLeft" align="right" valign="top">const uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ClientCacheHelper.html#aea87a817f89cc03e6fd1177c4363d81b">num_tries_</a></td></tr> |
| <tr class="memdesc:aea87a817f89cc03e6fd1177c4363d81b"><td class="mdescLeft"> </td><td class="mdescRight">Number of attempts to make to open a connection. 0 means retry indefinitely. <a href="#aea87a817f89cc03e6fd1177c4363d81b">More...</a><br/></td></tr> |
| <tr class="separator:aea87a817f89cc03e6fd1177c4363d81b"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:aa6f05f2194e6acc7a1723ed1541ba677"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classuint64__t.html">uint64_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ClientCacheHelper.html#aa6f05f2194e6acc7a1723ed1541ba677">wait_ms_</a></td></tr> |
| <tr class="memdesc:aa6f05f2194e6acc7a1723ed1541ba677"><td class="mdescLeft"> </td><td class="mdescRight">Time to wait between failed connection attempts. <a href="#aa6f05f2194e6acc7a1723ed1541ba677">More...</a><br/></td></tr> |
| <tr class="separator:aa6f05f2194e6acc7a1723ed1541ba677"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:aaa00024d1bc2bd1b114f917f7b067e8f"><td class="memItemLeft" align="right" valign="top">const int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ClientCacheHelper.html#aaa00024d1bc2bd1b114f917f7b067e8f">send_timeout_ms_</a></td></tr> |
| <tr class="memdesc:aaa00024d1bc2bd1b114f917f7b067e8f"><td class="mdescLeft"> </td><td class="mdescRight">Time to wait for the underlying socket to send data, e.g., for an RPC. <a href="#aaa00024d1bc2bd1b114f917f7b067e8f">More...</a><br/></td></tr> |
| <tr class="separator:aaa00024d1bc2bd1b114f917f7b067e8f"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a8bed620b75773576dbb4ae5f76b23350"><td class="memItemLeft" align="right" valign="top">const int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ClientCacheHelper.html#a8bed620b75773576dbb4ae5f76b23350">recv_timeout_ms_</a></td></tr> |
| <tr class="memdesc:a8bed620b75773576dbb4ae5f76b23350"><td class="mdescLeft"> </td><td class="mdescRight">Time to wait for the underlying socket to receive data, e.g., for an RPC response. <a href="#a8bed620b75773576dbb4ae5f76b23350">More...</a><br/></td></tr> |
| <tr class="separator:a8bed620b75773576dbb4ae5f76b23350"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a72626f83388532e065e9f37b9e73e1e2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbool.html">bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ClientCacheHelper.html#a72626f83388532e065e9f37b9e73e1e2">metrics_enabled_</a></td></tr> |
| <tr class="separator:a72626f83388532e065e9f37b9e73e1e2"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a2cd7d0a889c3b3fa9dc6f9c6a4458e81"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceimpala.html#aa5fe574b057692843a420853cf325bbe">IntGauge</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ClientCacheHelper.html#a2cd7d0a889c3b3fa9dc6f9c6a4458e81">clients_in_use_metric_</a></td></tr> |
| <tr class="memdesc:a2cd7d0a889c3b3fa9dc6f9c6a4458e81"><td class="mdescLeft"> </td><td class="mdescRight">Number of clients 'checked-out' from the cache. <a href="#a2cd7d0a889c3b3fa9dc6f9c6a4458e81">More...</a><br/></td></tr> |
| <tr class="separator:a2cd7d0a889c3b3fa9dc6f9c6a4458e81"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ab76ef9db08fbe52cde5aa8e6850c6616"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceimpala.html#aa5fe574b057692843a420853cf325bbe">IntGauge</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ClientCacheHelper.html#ab76ef9db08fbe52cde5aa8e6850c6616">total_clients_metric_</a></td></tr> |
| <tr class="memdesc:ab76ef9db08fbe52cde5aa8e6850c6616"><td class="mdescLeft"> </td><td class="mdescRight">Total clients in the cache, including those in use. <a href="#ab76ef9db08fbe52cde5aa8e6850c6616">More...</a><br/></td></tr> |
| <tr class="separator:ab76ef9db08fbe52cde5aa8e6850c6616"><td class="memSeparator" colspan="2"> </td></tr> |
| </table><table class="memberdecls"> |
| <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a> |
| Friends</h2></td></tr> |
| <tr class="memitem:a430dce1ab5a6f30a141b20e1da13ad6a"><td class="memTemplParams" colspan="2">template<class T > </td></tr> |
| <tr class="memitem:a430dce1ab5a6f30a141b20e1da13ad6a"><td class="memTemplItemLeft" align="right" valign="top">class </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classimpala_1_1ClientCacheHelper.html#a430dce1ab5a6f30a141b20e1da13ad6a">ClientCache</a></td></tr> |
| <tr class="separator:a430dce1ab5a6f30a141b20e1da13ad6a"><td class="memSeparator" colspan="2"> </td></tr> |
| </table> |
| <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> |
| <div class="textblock"><p>This class is thread-safe. </p> |
| <p>Helper class which implements the majority of the caching functionality without using templates (i.e. pointers to the superclass of all ThriftClients and a void* for the key). This class is for internal use only; the public interface is in <a class="el" href="classimpala_1_1ClientCache.html">ClientCache</a> below. A client is either 'in-use' (the user of the cache is between <a class="el" href="classimpala_1_1ClientCacheHelper.html#a866e9a0ba17a9812cb2ceafbbef183d4" title="If there is an error creating the new client, *client_key will be NULL. ">GetClient()</a> and <a class="el" href="classimpala_1_1ClientCacheHelper.html#a952813bed7ba0ad4d5ac212d6b412855">ReleaseClient()</a> pairs) or 'cached', in which case it is available for the next <a class="el" href="classimpala_1_1ClientCacheHelper.html#a866e9a0ba17a9812cb2ceafbbef183d4" title="If there is an error creating the new client, *client_key will be NULL. ">GetClient()</a> call. Internally, this class maintains a map of all clients, in use or not, which is indexed by their ClientKey (see below), and a map from server address to a list of the keys of all clients that are not currently in use. The user of this class only sees RPC proxy classes, but we have to track the <a class="el" href="classimpala_1_1ThriftClient.html">ThriftClient</a> to manipulate the underlying transport. To do this, we use an opaque ClientKey pointer type to act as the key for a particular client. We actually know the type of the value at the end of pointer (it's the type parameter to <a class="el" href="classimpala_1_1ClientCache.html">ClientCache</a>), but we deliberately avoid using it so that we don't have to parameterise this class by type, and thus this entire class doesn't get inlined every time it gets used.TODO: shut down clients in the background if they don't get used for a period of time TODO: More graceful handling of clients that have failed (maybe better handled by a smart-wrapper of the interface object). TODO: limits on total number of clients, and clients per-backend TODO: move this to a separate header file, so that the public interface is more prominent in this file </p> |
| |
| <p>Definition at line <a class="el" href="client-cache_8h_source.html#l00063">63</a> of file <a class="el" href="client-cache_8h_source.html">client-cache.h</a>.</p> |
| </div><h2 class="groupheader">Member Typedef Documentation</h2> |
| <a class="anchor" id="a4da1ac222ceff2be3f798650fc4d48f9"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">typedef boost::function<<a class="el" href="classimpala_1_1ThriftClientImpl.html">ThriftClientImpl</a>* (const TNetworkAddress& address, <a class="el" href="namespaceimpala.html#af882a84ad40478dc121a6bf6dc27f201">ClientKey</a>* client_key)> <a class="el" href="classimpala_1_1ClientCacheHelper.html#a4da1ac222ceff2be3f798650fc4d48f9">impala::ClientCacheHelper::ClientFactory</a></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Callback method which produces a client object when one cannot be found in the cache. Supplied by the <a class="el" href="classimpala_1_1ClientCache.html">ClientCache</a> wrapper. </p> |
| |
| <p>Definition at line <a class="el" href="client-cache_8h_source.html#l00068">68</a> of file <a class="el" href="client-cache_8h_source.html">client-cache.h</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="aa5a49cf4968695cbf24f1b83ffbc61fc"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">typedef std::map<<a class="el" href="namespaceimpala.html#af882a84ad40478dc121a6bf6dc27f201">ClientKey</a>, boost::shared_ptr<<a class="el" href="classimpala_1_1ThriftClientImpl.html">ThriftClientImpl</a>> > <a class="el" href="classimpala_1_1ClientCacheHelper.html#aa5a49cf4968695cbf24f1b83ffbc61fc">impala::ClientCacheHelper::ClientMap</a></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>Map from client key back to its associated <a class="el" href="classimpala_1_1ThriftClientImpl.html" title="Super class for templatized thrift clients. ">ThriftClientImpl</a> transport. This is where all the clients are actually stored, and client instances are owned by this class and persist for exactly as long as they are present in this map. We use a map (vs. unordered_map) so we get iterator consistency across operations. </p> |
| |
| <p>Definition at line <a class="el" href="client-cache_8h_source.html#l00156">156</a> of file <a class="el" href="client-cache_8h_source.html">client-cache.h</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a2a7dba2cc619dce959168fb5521d7cf3"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">typedef boost::unordered_map< TNetworkAddress, boost::shared_ptr<<a class="el" href="structimpala_1_1ClientCacheHelper_1_1PerHostCache.html">PerHostCache</a>> > <a class="el" href="classimpala_1_1ClientCacheHelper.html#a2a7dba2cc619dce959168fb5521d7cf3">impala::ClientCacheHelper::PerHostCacheMap</a></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>Map from an address to a <a class="el" href="structimpala_1_1ClientCacheHelper_1_1PerHostCache.html">PerHostCache</a> containing a list of keys that have entries in client_map_ for that host. The value type is wrapped in a shared_ptr so that the copy c'tor for <a class="el" href="structimpala_1_1ClientCacheHelper_1_1PerHostCache.html">PerHostCache</a> is not required. </p> |
| |
| <p>Definition at line <a class="el" href="client-cache_8h_source.html#l00146">146</a> of file <a class="el" href="client-cache_8h_source.html">client-cache.h</a>.</p> |
| |
| </div> |
| </div> |
| <h2 class="groupheader">Constructor & Destructor Documentation</h2> |
| <a class="anchor" id="a1b814cc326129a5e182341f88833a2ee"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">impala::ClientCacheHelper::ClientCacheHelper </td> |
| <td>(</td> |
| <td class="paramtype">uint32_t </td> |
| <td class="paramname"><em>num_tries</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="classuint64__t.html">uint64_t</a> </td> |
| <td class="paramname"><em>wait_ms</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">int32_t </td> |
| <td class="paramname"><em>send_timeout_ms</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">int32_t </td> |
| <td class="paramname"><em>recv_timeout_ms</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</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>Private constructor so that only <a class="el" href="classimpala_1_1ClientCache.html">ClientCache</a> can instantiate this class. </p> |
| |
| <p>Definition at line <a class="el" href="client-cache_8h_source.html#l00107">107</a> of file <a class="el" href="client-cache_8h_source.html">client-cache.h</a>.</p> |
| |
| </div> |
| </div> |
| <h2 class="groupheader">Member Function Documentation</h2> |
| <a class="anchor" id="a216d1682a3075523b67ecc506db12ba2"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void impala::ClientCacheHelper::CloseConnections </td> |
| <td>(</td> |
| <td class="paramtype">const TNetworkAddress & </td> |
| <td class="paramname"><em>address</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Close all connections to a host (e.g., in case of failure) so that on their next use they will have to be reopened via <a class="el" href="classimpala_1_1ClientCacheHelper.html#ad0d2e8780d700174f9fa8e8cac83b4b2">ReopenClient()</a>. </p> |
| |
| <p>Definition at line <a class="el" href="client-cache_8cc_source.html#l00148">148</a> of file <a class="el" href="client-cache_8cc_source.html">client-cache.cc</a>.</p> |
| |
| <p>References <a class="el" href="client-cache_8h_source.html#l00136">impala::ClientCacheHelper::PerHostCache::clients</a>, and <a class="el" href="client-cache_8h_source.html#l00133">impala::ClientCacheHelper::PerHostCache::lock</a>.</p> |
| |
| <p>Referenced by <a class="el" href="client-cache_8h_source.html#l00277">impala::ClientCache< T >::CloseConnections()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a450ceb70e00125f966fb929b327aa4c9"></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_1Status.html">Status</a> impala::ClientCacheHelper::CreateClient </td> |
| <td>(</td> |
| <td class="paramtype">const TNetworkAddress & </td> |
| <td class="paramname"><em>address</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="classimpala_1_1ClientCacheHelper.html#a4da1ac222ceff2be3f798650fc4d48f9">ClientFactory</a> </td> |
| <td class="paramname"><em>factory_method</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="namespaceimpala.html#af882a84ad40478dc121a6bf6dc27f201">ClientKey</a> * </td> |
| <td class="paramname"><em>client_key</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</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"> |
| |
| <p>Create a new client for specific address in 'client' and put it in client_map_. </p> |
| |
| <p>Definition at line <a class="el" href="client-cache_8cc_source.html#l00104">104</a> of file <a class="el" href="client-cache_8cc_source.html">client-cache.cc</a>.</p> |
| |
| <p>References <a class="el" href="webserver_8cc_source.html#l00115">impala::OK</a>, and <a class="el" href="status_8h_source.html#l00172">impala::Status::ok()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a2ff1124846a1e27106bb2ad47dfc7c37"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">string impala::ClientCacheHelper::DebugString </td> |
| <td>(</td> |
| <td class="paramname"></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Return a debug representation of the contents of this cache. </p> |
| |
| <p>Definition at line <a class="el" href="client-cache_8cc_source.html#l00170">170</a> of file <a class="el" href="client-cache_8cc_source.html">client-cache.cc</a>.</p> |
| |
| <p>Referenced by <a class="el" href="client-cache_8h_source.html#l00282">impala::ClientCache< T >::DebugString()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a866e9a0ba17a9812cb2ceafbbef183d4"></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::ClientCacheHelper::GetClient </td> |
| <td>(</td> |
| <td class="paramtype">const TNetworkAddress & </td> |
| <td class="paramname"><em>address</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="classimpala_1_1ClientCacheHelper.html#a4da1ac222ceff2be3f798650fc4d48f9">ClientFactory</a> </td> |
| <td class="paramname"><em>factory_method</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="namespaceimpala.html#af882a84ad40478dc121a6bf6dc27f201">ClientKey</a> * </td> |
| <td class="paramname"><em>client_key</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>If there is an error creating the new client, *client_key will be NULL. </p> |
| <p>Returns a client for the given address in 'client_key'. If a previously created client is not available (i.e. there are no entries in the per-host cache), a new client is created by calling the supplied 'factory_method'. As a postcondition, the returned client will not be present in the per-host cache. </p> |
| |
| <p>Definition at line <a class="el" href="client-cache_8cc_source.html#l00040">40</a> of file <a class="el" href="client-cache_8cc_source.html">client-cache.cc</a>.</p> |
| |
| <p>References <a class="el" href="webserver_8cc_source.html#l00115">impala::OK</a>, and <a class="el" href="status_8h_source.html#l00242">RETURN_IF_ERROR</a>.</p> |
| |
| <p>Referenced by <a class="el" href="client-cache_8h_source.html#l00313">impala::ClientCache< T >::GetClient()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a655a4878f988d44bb8f0e782d2b49b51"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void impala::ClientCacheHelper::InitMetrics </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="classimpala_1_1MetricGroup.html">MetricGroup</a> * </td> |
| <td class="paramname"><em>metrics</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">const std::string & </td> |
| <td class="paramname"><em>key_prefix</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Creates two metrics for this cache measuring the number of clients currently used, and the total number in the cache. </p> |
| |
| <p>Definition at line <a class="el" href="client-cache_8cc_source.html#l00199">199</a> of file <a class="el" href="client-cache_8cc_source.html">client-cache.cc</a>.</p> |
| |
| <p>References <a class="el" href="metrics_8h_source.html#l00223">impala::MetricGroup::AddGauge()</a>.</p> |
| |
| <p>Referenced by <a class="el" href="client-cache_8h_source.html#l00295">impala::ClientCache< T >::InitMetrics()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a952813bed7ba0ad4d5ac212d6b412855"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void impala::ClientCacheHelper::ReleaseClient </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="namespaceimpala.html#af882a84ad40478dc121a6bf6dc27f201">ClientKey</a> * </td> |
| <td class="paramname"><em>client_key</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Returns a client to the cache. Upon return, *client_key will be NULL, and the associated client will be available in the per-host cache.. </p> |
| |
| <p>Definition at line <a class="el" href="client-cache_8cc_source.html#l00127">127</a> of file <a class="el" href="client-cache_8cc_source.html">client-cache.cc</a>.</p> |
| |
| <p>Referenced by <a class="el" href="client-cache_8h_source.html#l00328">impala::ClientCache< T >::ReleaseClient()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="ad0d2e8780d700174f9fa8e8cac83b4b2"></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::ClientCacheHelper::ReopenClient </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="classimpala_1_1ClientCacheHelper.html#a4da1ac222ceff2be3f798650fc4d48f9">ClientFactory</a> </td> |
| <td class="paramname"><em>factory_method</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="namespaceimpala.html#af882a84ad40478dc121a6bf6dc27f201">ClientKey</a> * </td> |
| <td class="paramname"><em>client_key</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Returns a newly-opened client in client_key. May reopen the existing client, or may replace it with a new one (created using 'factory_method'). Returns an error status and sets 'client_key' to NULL if a new client cannot created. </p> |
| |
| <p>Definition at line <a class="el" href="client-cache_8cc_source.html#l00068">68</a> of file <a class="el" href="client-cache_8cc_source.html">client-cache.cc</a>.</p> |
| |
| <p>References <a class="el" href="status_8h_source.html#l00172">impala::Status::ok()</a>.</p> |
| |
| <p>Referenced by <a class="el" href="client-cache_8h_source.html#l00322">impala::ClientCache< T >::ReopenClient()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a0633abad539e0ed6881e31ed209967a1"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void impala::ClientCacheHelper::TestShutdown </td> |
| <td>(</td> |
| <td class="paramname"></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Closes every connection in the cache. Used only for testing. </p> |
| |
| <p>Definition at line <a class="el" href="client-cache_8cc_source.html#l00186">186</a> of file <a class="el" href="client-cache_8cc_source.html">client-cache.cc</a>.</p> |
| |
| <p>Referenced by <a class="el" href="client-cache_8h_source.html#l00287">impala::ClientCache< T >::TestShutdown()</a>.</p> |
| |
| </div> |
| </div> |
| <h2 class="groupheader">Friends And Related Function Documentation</h2> |
| <a class="anchor" id="a430dce1ab5a6f30a141b20e1da13ad6a"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <div class="memtemplate"> |
| template<class T > </div> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">friend class <a class="el" href="classimpala_1_1ClientCache.html">ClientCache</a></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">friend</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Definition at line <a class="el" href="client-cache_8h_source.html#l00105">105</a> of file <a class="el" href="client-cache_8h_source.html">client-cache.h</a>.</p> |
| |
| </div> |
| </div> |
| <h2 class="groupheader">Member Data Documentation</h2> |
| <a class="anchor" id="a7f28c5c2ecae44c0e5d6f2d73b05e6f6"></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::ClientCacheHelper::cache_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>Protects per_host_caches_. </p> |
| |
| <p>Definition at line <a class="el" href="client-cache_8h_source.html#l00140">140</a> of file <a class="el" href="client-cache_8h_source.html">client-cache.h</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a368c998c61f2e401c891358fa2474904"></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_1ClientCacheHelper.html#aa5a49cf4968695cbf24f1b83ffbc61fc">ClientMap</a> impala::ClientCacheHelper::client_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="client-cache_8h_source.html#l00157">157</a> of file <a class="el" href="client-cache_8h_source.html">client-cache.h</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="af32d280bf9948b02f2ae6f390ccc5277"></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::ClientCacheHelper::client_map_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>Protects client_map_. </p> |
| |
| <p>Definition at line <a class="el" href="client-cache_8h_source.html#l00150">150</a> of file <a class="el" href="client-cache_8h_source.html">client-cache.h</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a2cd7d0a889c3b3fa9dc6f9c6a4458e81"></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="namespaceimpala.html#aa5fe574b057692843a420853cf325bbe">IntGauge</a>* impala::ClientCacheHelper::clients_in_use_metric_</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>Number of clients 'checked-out' from the cache. </p> |
| |
| <p>Definition at line <a class="el" href="client-cache_8h_source.html#l00176">176</a> of file <a class="el" href="client-cache_8h_source.html">client-cache.h</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a72626f83388532e065e9f37b9e73e1e2"></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="classbool.html">bool</a> impala::ClientCacheHelper::metrics_enabled_</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>True if metrics have been registered (i.e. <a class="el" href="classimpala_1_1ClientCacheHelper.html#a655a4878f988d44bb8f0e782d2b49b51">InitMetrics()</a> was called)), and *_metric_ are valid pointers. </p> |
| |
| <p>Definition at line <a class="el" href="client-cache_8h_source.html#l00173">173</a> of file <a class="el" href="client-cache_8h_source.html">client-cache.h</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="aea87a817f89cc03e6fd1177c4363d81b"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">const uint32_t impala::ClientCacheHelper::num_tries_</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>Number of attempts to make to open a connection. 0 means retry indefinitely. </p> |
| |
| <p>Definition at line <a class="el" href="client-cache_8h_source.html#l00160">160</a> of file <a class="el" href="client-cache_8h_source.html">client-cache.h</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="aa2443d6ecc23ae8866afd0643b55a6b3"></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_1ClientCacheHelper.html#a2a7dba2cc619dce959168fb5521d7cf3">PerHostCacheMap</a> impala::ClientCacheHelper::per_host_caches_</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="client-cache_8h_source.html#l00147">147</a> of file <a class="el" href="client-cache_8h_source.html">client-cache.h</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a8bed620b75773576dbb4ae5f76b23350"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">const int32_t impala::ClientCacheHelper::recv_timeout_ms_</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>Time to wait for the underlying socket to receive data, e.g., for an RPC response. </p> |
| |
| <p>Definition at line <a class="el" href="client-cache_8h_source.html#l00169">169</a> of file <a class="el" href="client-cache_8h_source.html">client-cache.h</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="aaa00024d1bc2bd1b114f917f7b067e8f"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">const int32_t impala::ClientCacheHelper::send_timeout_ms_</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>Time to wait for the underlying socket to send data, e.g., for an RPC. </p> |
| |
| <p>Definition at line <a class="el" href="client-cache_8h_source.html#l00166">166</a> of file <a class="el" href="client-cache_8h_source.html">client-cache.h</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="ab76ef9db08fbe52cde5aa8e6850c6616"></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="namespaceimpala.html#aa5fe574b057692843a420853cf325bbe">IntGauge</a>* impala::ClientCacheHelper::total_clients_metric_</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>Total clients in the cache, including those in use. </p> |
| |
| <p>Definition at line <a class="el" href="client-cache_8h_source.html#l00179">179</a> of file <a class="el" href="client-cache_8h_source.html">client-cache.h</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="aa6f05f2194e6acc7a1723ed1541ba677"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">const <a class="el" href="classuint64__t.html">uint64_t</a> impala::ClientCacheHelper::wait_ms_</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>Time to wait between failed connection attempts. </p> |
| |
| <p>Definition at line <a class="el" href="client-cache_8h_source.html#l00163">163</a> of file <a class="el" href="client-cache_8h_source.html">client-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="client-cache_8h_source.html">client-cache.h</a></li> |
| <li>be/src/runtime/<a class="el" href="client-cache_8cc_source.html">client-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_1ClientCacheHelper.html">ClientCacheHelper</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> |