| <!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::TimeoutFailureDetector 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_1TimeoutFailureDetector.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="#pub-types">Public Types</a> | |
| <a href="#pub-methods">Public Member Functions</a> | |
| <a href="#pub-static-methods">Static Public Member Functions</a> | |
| <a href="#pri-attribs">Private Attributes</a> | |
| <a href="classimpala_1_1TimeoutFailureDetector-members.html">List of all members</a> </div> |
| <div class="headertitle"> |
| <div class="title">impala::TimeoutFailureDetector Class Reference</div> </div> |
| </div><!--header--> |
| <div class="contents"> |
| |
| <p><code>#include <<a class="el" href="failure-detector_8h_source.html">failure-detector.h</a>></code></p> |
| <div class="dynheader"> |
| Inheritance diagram for impala::TimeoutFailureDetector:</div> |
| <div class="dyncontent"> |
| <div class="center"><iframe scrolling="no" frameborder="0" src="classimpala_1_1TimeoutFailureDetector__inherit__graph.svg" width="214" height="360"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div> |
| </div> |
| <div class="dynheader"> |
| Collaboration diagram for impala::TimeoutFailureDetector:</div> |
| <div class="dyncontent"> |
| <div class="center"><iframe scrolling="no" frameborder="0" src="classimpala_1_1TimeoutFailureDetector__coll__graph.svg" width="587" height="347"><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:ab1f72b41f370a931fd4e44dd90fdf7e1"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1FailureDetector.html#ab1f72b41f370a931fd4e44dd90fdf7e1">PeerState</a> { <a class="el" href="classimpala_1_1FailureDetector.html#ab1f72b41f370a931fd4e44dd90fdf7e1a7c97d056ffa22a9374fe409d077d435b">FAILED</a> = 0, |
| <a class="el" href="classimpala_1_1FailureDetector.html#ab1f72b41f370a931fd4e44dd90fdf7e1a1a216dc7ef5758aa03241a1d4ec5b6a8">SUSPECTED</a> = 1, |
| <a class="el" href="classimpala_1_1FailureDetector.html#ab1f72b41f370a931fd4e44dd90fdf7e1ad2e75929255cff0cb9e588675644e38e">OK</a> = 2, |
| <a class="el" href="classimpala_1_1FailureDetector.html#ab1f72b41f370a931fd4e44dd90fdf7e1a42ed1b1f2aef3d9215182c95e3b1b857">UNKNOWN</a> = 3 |
| }</td></tr> |
| <tr class="separator:ab1f72b41f370a931fd4e44dd90fdf7e1"><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:a4c6a639366a5ad8a681908f732154595"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1TimeoutFailureDetector.html#a4c6a639366a5ad8a681908f732154595">TimeoutFailureDetector</a> (boost::posix_time::time_duration failure_timeout, boost::posix_time::time_duration suspect_timeout)</td></tr> |
| <tr class="separator:a4c6a639366a5ad8a681908f732154595"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a20a3145baaea21cfec9e6e0950949240"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classimpala_1_1FailureDetector.html#ab1f72b41f370a931fd4e44dd90fdf7e1">PeerState</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1TimeoutFailureDetector.html#a20a3145baaea21cfec9e6e0950949240">UpdateHeartbeat</a> (const std::string &peer, <a class="el" href="classbool.html">bool</a> seen)</td></tr> |
| <tr class="separator:a20a3145baaea21cfec9e6e0950949240"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:aced77644d17009255e22878461228893"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classimpala_1_1FailureDetector.html#ab1f72b41f370a931fd4e44dd90fdf7e1">PeerState</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1TimeoutFailureDetector.html#aced77644d17009255e22878461228893">GetPeerState</a> (const std::string &peer)</td></tr> |
| <tr class="memdesc:aced77644d17009255e22878461228893"><td class="mdescLeft"> </td><td class="mdescRight">Returns the current estimated state of a peer. <a href="#aced77644d17009255e22878461228893">More...</a><br/></td></tr> |
| <tr class="separator:aced77644d17009255e22878461228893"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:afb4d4ebce26636dcc847864b44c0f83d"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1TimeoutFailureDetector.html#afb4d4ebce26636dcc847864b44c0f83d">EvictPeer</a> (const std::string &peer)</td></tr> |
| <tr class="memdesc:afb4d4ebce26636dcc847864b44c0f83d"><td class="mdescLeft"> </td><td class="mdescRight">Remove a peer from the failure detector completely. <a href="#afb4d4ebce26636dcc847864b44c0f83d">More...</a><br/></td></tr> |
| <tr class="separator:afb4d4ebce26636dcc847864b44c0f83d"><td class="memSeparator" colspan="2"> </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:a9c6ec8c9cedf130a40ae7b7c015a9932"><td class="memItemLeft" align="right" valign="top">static const std::string & </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1FailureDetector.html#a9c6ec8c9cedf130a40ae7b7c015a9932">PeerStateToString</a> (<a class="el" href="classimpala_1_1FailureDetector.html#ab1f72b41f370a931fd4e44dd90fdf7e1">PeerState</a> peer_state)</td></tr> |
| <tr class="memdesc:a9c6ec8c9cedf130a40ae7b7c015a9932"><td class="mdescLeft"> </td><td class="mdescRight">Utility method to convert a PeerState enum to a string. <a href="#a9c6ec8c9cedf130a40ae7b7c015a9932">More...</a><br/></td></tr> |
| <tr class="separator:a9c6ec8c9cedf130a40ae7b7c015a9932"><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:aa818117dcbb983ad3cd00c0943cf69a9"><td class="memItemLeft" align="right" valign="top">boost::mutex </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1TimeoutFailureDetector.html#aa818117dcbb983ad3cd00c0943cf69a9">lock_</a></td></tr> |
| <tr class="memdesc:aa818117dcbb983ad3cd00c0943cf69a9"><td class="mdescLeft"> </td><td class="mdescRight">Protects all members. <a href="#aa818117dcbb983ad3cd00c0943cf69a9">More...</a><br/></td></tr> |
| <tr class="separator:aa818117dcbb983ad3cd00c0943cf69a9"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ae7e04a1e5a7dd64e7ac39a6bbde97cc3"><td class="memItemLeft" align="right" valign="top">std::map< std::string, <br class="typebreak"/> |
| boost::system_time > </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1TimeoutFailureDetector.html#ae7e04a1e5a7dd64e7ac39a6bbde97cc3">peer_heartbeat_record_</a></td></tr> |
| <tr class="memdesc:ae7e04a1e5a7dd64e7ac39a6bbde97cc3"><td class="mdescLeft"> </td><td class="mdescRight">Record of last time a successful heartbeat was received. <a href="#ae7e04a1e5a7dd64e7ac39a6bbde97cc3">More...</a><br/></td></tr> |
| <tr class="separator:ae7e04a1e5a7dd64e7ac39a6bbde97cc3"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:adf704c05cda08c1b47e432deff130077"><td class="memItemLeft" align="right" valign="top">const <br class="typebreak"/> |
| boost::posix_time::time_duration </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1TimeoutFailureDetector.html#adf704c05cda08c1b47e432deff130077">failure_timeout_</a></td></tr> |
| <tr class="separator:adf704c05cda08c1b47e432deff130077"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a29c5f7d2ae7ed691f7ddc088ade5ad5e"><td class="memItemLeft" align="right" valign="top">const <br class="typebreak"/> |
| boost::posix_time::time_duration </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1TimeoutFailureDetector.html#a29c5f7d2ae7ed691f7ddc088ade5ad5e">suspect_timeout_</a></td></tr> |
| <tr class="separator:a29c5f7d2ae7ed691f7ddc088ade5ad5e"><td class="memSeparator" colspan="2"> </td></tr> |
| </table> |
| <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> |
| <div class="textblock"><p>A failure detector based on a maximum time between successful heartbeats. Peers that do not successfully heartbeat before the failure_timeout are considered failed; those that do not heartbeat before the suspect_timeout are considered suspected. A timeout failure detector is most appropriate for a client which is receiving periodic heartbeats. Not thread safe. </p> |
| |
| <p>Definition at line <a class="el" href="failure-detector_8h_source.html#l00072">72</a> of file <a class="el" href="failure-detector_8h_source.html">failure-detector.h</a>.</p> |
| </div><h2 class="groupheader">Member Enumeration Documentation</h2> |
| <a class="anchor" id="ab1f72b41f370a931fd4e44dd90fdf7e1"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">enum <a class="el" href="classimpala_1_1FailureDetector.html#ab1f72b41f370a931fd4e44dd90fdf7e1">impala::FailureDetector::PeerState</a></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">inherited</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <table class="fieldtable"> |
| <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ab1f72b41f370a931fd4e44dd90fdf7e1a7c97d056ffa22a9374fe409d077d435b"></a>FAILED</em> </td><td class="fielddoc"> |
| </td></tr> |
| <tr><td class="fieldname"><em><a class="anchor" id="ab1f72b41f370a931fd4e44dd90fdf7e1a1a216dc7ef5758aa03241a1d4ec5b6a8"></a>SUSPECTED</em> </td><td class="fielddoc"> |
| </td></tr> |
| <tr><td class="fieldname"><em><a class="anchor" id="ab1f72b41f370a931fd4e44dd90fdf7e1ad2e75929255cff0cb9e588675644e38e"></a>OK</em> </td><td class="fielddoc"> |
| </td></tr> |
| <tr><td class="fieldname"><em><a class="anchor" id="ab1f72b41f370a931fd4e44dd90fdf7e1a42ed1b1f2aef3d9215182c95e3b1b857"></a>UNKNOWN</em> </td><td class="fielddoc"> |
| </td></tr> |
| </table> |
| |
| <p>Definition at line <a class="el" href="failure-detector_8h_source.html#l00035">35</a> of file <a class="el" href="failure-detector_8h_source.html">failure-detector.h</a>.</p> |
| |
| </div> |
| </div> |
| <h2 class="groupheader">Constructor & Destructor Documentation</h2> |
| <a class="anchor" id="a4c6a639366a5ad8a681908f732154595"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">impala::TimeoutFailureDetector::TimeoutFailureDetector </td> |
| <td>(</td> |
| <td class="paramtype">boost::posix_time::time_duration </td> |
| <td class="paramname"><em>failure_timeout</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">boost::posix_time::time_duration </td> |
| <td class="paramname"><em>suspect_timeout</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> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Definition at line <a class="el" href="failure-detector_8h_source.html#l00074">74</a> of file <a class="el" href="failure-detector_8h_source.html">failure-detector.h</a>.</p> |
| |
| </div> |
| </div> |
| <h2 class="groupheader">Member Function Documentation</h2> |
| <a class="anchor" id="afb4d4ebce26636dcc847864b44c0f83d"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void TimeoutFailureDetector::EvictPeer </td> |
| <td>(</td> |
| <td class="paramtype">const std::string & </td> |
| <td class="paramname"><em>peer</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">virtual</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Remove a peer from the failure detector completely. </p> |
| |
| <p>Implements <a class="el" href="classimpala_1_1FailureDetector.html#a37bcda3301c14436bf8566a8e6762f26">impala::FailureDetector</a>.</p> |
| |
| <p>Definition at line <a class="el" href="failure-detector_8cc_source.html#l00067">67</a> of file <a class="el" href="failure-detector_8cc_source.html">failure-detector.cc</a>.</p> |
| |
| <p>References <a class="el" href="failure-detector_8h_source.html#l00087">lock_</a>, and <a class="el" href="failure-detector_8h_source.html#l00090">peer_heartbeat_record_</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="aced77644d17009255e22878461228893"></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_1FailureDetector.html#ab1f72b41f370a931fd4e44dd90fdf7e1">FailureDetector::PeerState</a> TimeoutFailureDetector::GetPeerState </td> |
| <td>(</td> |
| <td class="paramtype">const std::string & </td> |
| <td class="paramname"><em>peer</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">virtual</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Returns the current estimated state of a peer. </p> |
| |
| <p>Implements <a class="el" href="classimpala_1_1FailureDetector.html#a1e811ab736d87833039b4f529f337d9e">impala::FailureDetector</a>.</p> |
| |
| <p>Definition at line <a class="el" href="failure-detector_8cc_source.html#l00052">52</a> of file <a class="el" href="failure-detector_8cc_source.html">failure-detector.cc</a>.</p> |
| |
| <p>References <a class="el" href="failure-detector_8h_source.html#l00036">impala::FailureDetector::FAILED</a>, <a class="el" href="failure-detector_8h_source.html#l00094">failure_timeout_</a>, <a class="el" href="failure-detector_8h_source.html#l00087">lock_</a>, <a class="el" href="failure-detector_8h_source.html#l00038">impala::FailureDetector::OK</a>, <a class="el" href="failure-detector_8h_source.html#l00090">peer_heartbeat_record_</a>, <a class="el" href="failure-detector_8h_source.html#l00098">suspect_timeout_</a>, <a class="el" href="failure-detector_8h_source.html#l00037">impala::FailureDetector::SUSPECTED</a>, and <a class="el" href="failure-detector_8h_source.html#l00039">impala::FailureDetector::UNKNOWN</a>.</p> |
| |
| <p>Referenced by <a class="el" href="failure-detector_8cc_source.html#l00043">UpdateHeartbeat()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a9c6ec8c9cedf130a40ae7b7c015a9932"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">const string & FailureDetector::PeerStateToString </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="classimpala_1_1FailureDetector.html#ab1f72b41f370a931fd4e44dd90fdf7e1">FailureDetector::PeerState</a> </td> |
| <td class="paramname"><em>peer_state</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">static</span><span class="mlabel">inherited</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Utility method to convert a PeerState enum to a string. </p> |
| |
| <p>Definition at line <a class="el" href="failure-detector_8cc_source.html#l00036">36</a> of file <a class="el" href="failure-detector_8cc_source.html">failure-detector.cc</a>.</p> |
| |
| <p>References <a class="el" href="failure-detector_8cc_source.html#l00029">PEER_STATE_TO_STRING</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a20a3145baaea21cfec9e6e0950949240"></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_1FailureDetector.html#ab1f72b41f370a931fd4e44dd90fdf7e1">FailureDetector::PeerState</a> TimeoutFailureDetector::UpdateHeartbeat </td> |
| <td>(</td> |
| <td class="paramtype">const std::string & </td> |
| <td class="paramname"><em>peer</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="classbool.html">bool</a> </td> |
| <td class="paramname"><em>seen</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">virtual</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Updates the state of a peer according to the most recent heartbeat state. If 'seen' is true, this method indicates that a heartbeat has been received. If seen is 'false', this method indicates that a heartbeat has not been received since the last successful heartbeat receipt. This method returns the current state of the updated peer. Note that this may be different from the state implied by seen - a single missed heartbeat, for example, may not cause a peer to enter the SUSPECTED or FAILED states. The failure detector has the benefit of looking at all samples, rather than just the most recent one. </p> |
| |
| <p>Implements <a class="el" href="classimpala_1_1FailureDetector.html#a1e70f511bd9f428803494eef86e43020">impala::FailureDetector</a>.</p> |
| |
| <p>Definition at line <a class="el" href="failure-detector_8cc_source.html#l00043">43</a> of file <a class="el" href="failure-detector_8cc_source.html">failure-detector.cc</a>.</p> |
| |
| <p>References <a class="el" href="failure-detector_8cc_source.html#l00052">GetPeerState()</a>, <a class="el" href="failure-detector_8h_source.html#l00087">lock_</a>, and <a class="el" href="failure-detector_8h_source.html#l00090">peer_heartbeat_record_</a>.</p> |
| |
| </div> |
| </div> |
| <h2 class="groupheader">Member Data Documentation</h2> |
| <a class="anchor" id="adf704c05cda08c1b47e432deff130077"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">const boost::posix_time::time_duration impala::TimeoutFailureDetector::failure_timeout_</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>The maximum time that may elapse without a heartbeat before a peer is considered failed </p> |
| |
| <p>Definition at line <a class="el" href="failure-detector_8h_source.html#l00094">94</a> of file <a class="el" href="failure-detector_8h_source.html">failure-detector.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="failure-detector_8cc_source.html#l00052">GetPeerState()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="aa818117dcbb983ad3cd00c0943cf69a9"></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::TimeoutFailureDetector::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 all members. </p> |
| |
| <p>Definition at line <a class="el" href="failure-detector_8h_source.html#l00087">87</a> of file <a class="el" href="failure-detector_8h_source.html">failure-detector.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="failure-detector_8cc_source.html#l00067">EvictPeer()</a>, <a class="el" href="failure-detector_8cc_source.html#l00052">GetPeerState()</a>, and <a class="el" href="failure-detector_8cc_source.html#l00043">UpdateHeartbeat()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="ae7e04a1e5a7dd64e7ac39a6bbde97cc3"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">std::map<std::string, boost::system_time> impala::TimeoutFailureDetector::peer_heartbeat_record_</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>Record of last time a successful heartbeat was received. </p> |
| |
| <p>Definition at line <a class="el" href="failure-detector_8h_source.html#l00090">90</a> of file <a class="el" href="failure-detector_8h_source.html">failure-detector.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="failure-detector_8cc_source.html#l00067">EvictPeer()</a>, <a class="el" href="failure-detector_8cc_source.html#l00052">GetPeerState()</a>, and <a class="el" href="failure-detector_8cc_source.html#l00043">UpdateHeartbeat()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a29c5f7d2ae7ed691f7ddc088ade5ad5e"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">const boost::posix_time::time_duration impala::TimeoutFailureDetector::suspect_timeout_</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>The maximum time that may elapse without a heartbeat before a peer is suspected of failure </p> |
| |
| <p>Definition at line <a class="el" href="failure-detector_8h_source.html#l00098">98</a> of file <a class="el" href="failure-detector_8h_source.html">failure-detector.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="failure-detector_8cc_source.html#l00052">GetPeerState()</a>.</p> |
| |
| </div> |
| </div> |
| <hr/>The documentation for this class was generated from the following files:<ul> |
| <li>be/src/statestore/<a class="el" href="failure-detector_8h_source.html">failure-detector.h</a></li> |
| <li>be/src/statestore/<a class="el" href="failure-detector_8cc_source.html">failure-detector.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_1TimeoutFailureDetector.html">TimeoutFailureDetector</a></li> |
| <li class="footer">Generated on Thu May 7 2015 16:10:50 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> |