You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@giraph.apache.org by ek...@apache.org on 2012/08/16 03:32:58 UTC
svn commit: r1373684 [16/35] - in /giraph/site: ./ apidocs/
apidocs/org/apache/giraph/ apidocs/org/apache/giraph/benchmark/
apidocs/org/apache/giraph/benchmark/class-use/
apidocs/org/apache/giraph/bsp/ apidocs/org/apache/giraph/bsp/class-use/
apidocs/o...
Modified: giraph/site/cobertura/org.apache.giraph.graph.BspService.html
URL: http://svn.apache.org/viewvc/giraph/site/cobertura/org.apache.giraph.graph.BspService.html?rev=1373684&r1=1373683&r2=1373684&view=diff
==============================================================================
--- giraph/site/cobertura/org.apache.giraph.graph.BspService.html (original)
+++ giraph/site/cobertura/org.apache.giraph.graph.BspService.html Thu Aug 16 01:32:41 2012
@@ -12,7 +12,7 @@
<div class="separator"> </div>
<table class="report">
<thead><tr> <td class="heading">Classes in this File</td> <td class="heading"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">Line Coverage</a></td> <td class="heading"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">Branch Coverage</a></td> <td class="heading"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">Complexity</a></td></tr></thead>
- <tr><td><a href="org.apache.giraph.graph.BspService.html">BspService</a></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">69%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:69px"><span class="text">210/303</span></div></div></td></tr></table></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">62%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:62px"><span class="text">87/140</span></div></div></td></tr></table></td><td class="value"><span class="hidden">3.52;</span>3.52</td></tr>
+ <tr><td><a href="org.apache.giraph.graph.BspService.html">BspService</a></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">68%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:68px"><span class="text">208/304</span></div></div></td></tr></table></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">61%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:61px"><span class="text">86/140</span></div></div></td></tr></table></td><td class="value"><span class="hidden">3.4705882352941178;</span>3.471</td></tr>
</table>
<div class="separator"> </div>
@@ -228,1722 +228,1755 @@
<tr> <td class="numLine"> 105</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String WORKER_UNHEALTHY_DIR = <span class="string">"/_workerUnhealthyDir"</span>;</pre></td></tr>
<tr> <td class="numLine"> 106</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="comment">/** Finished workers notify here */</span></pre></td></tr>
+ <td class="src"><pre class="src"> <span class="comment">/** Workers which wrote checkpoint notify here */</span></pre></td></tr>
<tr> <td class="numLine"> 107</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String WORKER_FINISHED_DIR = <span class="string">"/_workerFinishedDir"</span>;</pre></td></tr>
+ <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String WORKER_WROTE_CHECKPOINT_DIR =</pre></td></tr>
<tr> <td class="numLine"> 108</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="comment">/** Where the partition assignments are set */</span></pre></td></tr>
+ <td class="src"><pre class="src"> <span class="string">"/_workerWroteCheckpointDir"</span>;</pre></td></tr>
<tr> <td class="numLine"> 109</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String PARTITION_ASSIGNMENTS_DIR =</pre></td></tr>
+ <td class="src"><pre class="src"> <span class="comment">/** Finished workers notify here */</span></pre></td></tr>
<tr> <td class="numLine"> 110</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="string">"/_partitionAssignments"</span>;</pre></td></tr>
+ <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String WORKER_FINISHED_DIR = <span class="string">"/_workerFinishedDir"</span>;</pre></td></tr>
<tr> <td class="numLine"> 111</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="comment">/** Helps coordinate the partition exchnages */</span></pre></td></tr>
+ <td class="src"><pre class="src"> <span class="comment">/** Where the partition assignments are set */</span></pre></td></tr>
<tr> <td class="numLine"> 112</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String PARTITION_EXCHANGE_DIR =</pre></td></tr>
+ <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String PARTITION_ASSIGNMENTS_DIR =</pre></td></tr>
<tr> <td class="numLine"> 113</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="string">"/_partitionExchangeDir"</span>;</pre></td></tr>
+ <td class="src"><pre class="src"> <span class="string">"/_partitionAssignments"</span>;</pre></td></tr>
<tr> <td class="numLine"> 114</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="comment">/** Denotes that the superstep is done */</span></pre></td></tr>
+ <td class="src"><pre class="src"> <span class="comment">/** Helps coordinate the partition exchnages */</span></pre></td></tr>
<tr> <td class="numLine"> 115</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String SUPERSTEP_FINISHED_NODE = <span class="string">"/_superstepFinished"</span>;</pre></td></tr>
+ <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String PARTITION_EXCHANGE_DIR =</pre></td></tr>
<tr> <td class="numLine"> 116</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="comment">/** Denotes which workers have been cleaned up */</span></pre></td></tr>
+ <td class="src"><pre class="src"> <span class="string">"/_partitionExchangeDir"</span>;</pre></td></tr>
<tr> <td class="numLine"> 117</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String CLEANED_UP_DIR = <span class="string">"/_cleanedUpDir"</span>;</pre></td></tr>
+ <td class="src"><pre class="src"> <span class="comment">/** Denotes that the superstep is done */</span></pre></td></tr>
<tr> <td class="numLine"> 118</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="comment">/** JSON aggregator value array key */</span></pre></td></tr>
+ <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String SUPERSTEP_FINISHED_NODE = <span class="string">"/_superstepFinished"</span>;</pre></td></tr>
<tr> <td class="numLine"> 119</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String JSONOBJ_AGGREGATOR_VALUE_ARRAY_KEY =</pre></td></tr>
+ <td class="src"><pre class="src"> <span class="comment">/** Denotes which workers have been cleaned up */</span></pre></td></tr>
<tr> <td class="numLine"> 120</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="string">"_aggregatorValueArrayKey"</span>;</pre></td></tr>
+ <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String CLEANED_UP_DIR = <span class="string">"/_cleanedUpDir"</span>;</pre></td></tr>
<tr> <td class="numLine"> 121</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="comment">/** JSON partition stats key */</span></pre></td></tr>
+ <td class="src"><pre class="src"> <span class="comment">/** JSON aggregator value array key */</span></pre></td></tr>
<tr> <td class="numLine"> 122</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String JSONOBJ_PARTITION_STATS_KEY =</pre></td></tr>
+ <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String JSONOBJ_AGGREGATOR_VALUE_ARRAY_KEY =</pre></td></tr>
<tr> <td class="numLine"> 123</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="string">"_partitionStatsKey"</span>;</pre></td></tr>
+ <td class="src"><pre class="src"> <span class="string">"_aggregatorValueArrayKey"</span>;</pre></td></tr>
<tr> <td class="numLine"> 124</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="comment">/** JSON finished vertices key */</span></pre></td></tr>
+ <td class="src"><pre class="src"> <span class="comment">/** JSON partition stats key */</span></pre></td></tr>
<tr> <td class="numLine"> 125</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String JSONOBJ_FINISHED_VERTICES_KEY =</pre></td></tr>
+ <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String JSONOBJ_PARTITION_STATS_KEY =</pre></td></tr>
<tr> <td class="numLine"> 126</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="string">"_verticesFinishedKey"</span>;</pre></td></tr>
+ <td class="src"><pre class="src"> <span class="string">"_partitionStatsKey"</span>;</pre></td></tr>
<tr> <td class="numLine"> 127</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="comment">/** JSON vertex count key */</span></pre></td></tr>
+ <td class="src"><pre class="src"> <span class="comment">/** JSON finished vertices key */</span></pre></td></tr>
<tr> <td class="numLine"> 128</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String JSONOBJ_NUM_VERTICES_KEY = <span class="string">"_numVerticesKey"</span>;</pre></td></tr>
+ <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String JSONOBJ_FINISHED_VERTICES_KEY =</pre></td></tr>
<tr> <td class="numLine"> 129</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="comment">/** JSON edge count key */</span></pre></td></tr>
+ <td class="src"><pre class="src"> <span class="string">"_verticesFinishedKey"</span>;</pre></td></tr>
<tr> <td class="numLine"> 130</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String JSONOBJ_NUM_EDGES_KEY = <span class="string">"_numEdgesKey"</span>;</pre></td></tr>
+ <td class="src"><pre class="src"> <span class="comment">/** JSON vertex count key */</span></pre></td></tr>
<tr> <td class="numLine"> 131</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="comment">/** JSON message count key */</span></pre></td></tr>
+ <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String JSONOBJ_NUM_VERTICES_KEY = <span class="string">"_numVerticesKey"</span>;</pre></td></tr>
<tr> <td class="numLine"> 132</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String JSONOBJ_NUM_MESSAGES_KEY = <span class="string">"_numMsgsKey"</span>;</pre></td></tr>
+ <td class="src"><pre class="src"> <span class="comment">/** JSON edge count key */</span></pre></td></tr>
<tr> <td class="numLine"> 133</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="comment">/** JSON hostname id key */</span></pre></td></tr>
+ <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String JSONOBJ_NUM_EDGES_KEY = <span class="string">"_numEdgesKey"</span>;</pre></td></tr>
<tr> <td class="numLine"> 134</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String JSONOBJ_HOSTNAME_ID_KEY = <span class="string">"_hostnameIdKey"</span>;</pre></td></tr>
+ <td class="src"><pre class="src"> <span class="comment">/** JSON message count key */</span></pre></td></tr>
<tr> <td class="numLine"> 135</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="comment">/** JSON max vertex index key */</span></pre></td></tr>
+ <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String JSONOBJ_NUM_MESSAGES_KEY = <span class="string">"_numMsgsKey"</span>;</pre></td></tr>
<tr> <td class="numLine"> 136</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String JSONOBJ_MAX_VERTEX_INDEX_KEY =</pre></td></tr>
+ <td class="src"><pre class="src"> <span class="comment">/** JSON hostname id key */</span></pre></td></tr>
<tr> <td class="numLine"> 137</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="string">"_maxVertexIndexKey"</span>;</pre></td></tr>
+ <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String JSONOBJ_HOSTNAME_ID_KEY = <span class="string">"_hostnameIdKey"</span>;</pre></td></tr>
<tr> <td class="numLine"> 138</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="comment">/** JSON hostname key */</span></pre></td></tr>
+ <td class="src"><pre class="src"> <span class="comment">/** JSON max vertex index key */</span></pre></td></tr>
<tr> <td class="numLine"> 139</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String JSONOBJ_HOSTNAME_KEY = <span class="string">"_hostnameKey"</span>;</pre></td></tr>
+ <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String JSONOBJ_MAX_VERTEX_INDEX_KEY =</pre></td></tr>
<tr> <td class="numLine"> 140</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="comment">/** JSON port key */</span></pre></td></tr>
+ <td class="src"><pre class="src"> <span class="string">"_maxVertexIndexKey"</span>;</pre></td></tr>
<tr> <td class="numLine"> 141</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String JSONOBJ_PORT_KEY = <span class="string">"_portKey"</span>;</pre></td></tr>
+ <td class="src"><pre class="src"> <span class="comment">/** JSON hostname key */</span></pre></td></tr>
<tr> <td class="numLine"> 142</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="comment">/** JSON checkpoint file prefix key */</span></pre></td></tr>
+ <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String JSONOBJ_HOSTNAME_KEY = <span class="string">"_hostnameKey"</span>;</pre></td></tr>
<tr> <td class="numLine"> 143</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String JSONOBJ_CHECKPOINT_FILE_PREFIX_KEY =</pre></td></tr>
+ <td class="src"><pre class="src"> <span class="comment">/** JSON port key */</span></pre></td></tr>
<tr> <td class="numLine"> 144</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="string">"_checkpointFilePrefixKey"</span>;</pre></td></tr>
+ <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String JSONOBJ_PORT_KEY = <span class="string">"_portKey"</span>;</pre></td></tr>
<tr> <td class="numLine"> 145</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="comment">/** JSON previous hostname key */</span></pre></td></tr>
+ <td class="src"><pre class="src"> <span class="comment">/** JSON checkpoint file prefix key */</span></pre></td></tr>
<tr> <td class="numLine"> 146</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String JSONOBJ_PREVIOUS_HOSTNAME_KEY =</pre></td></tr>
+ <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String JSONOBJ_CHECKPOINT_FILE_PREFIX_KEY =</pre></td></tr>
<tr> <td class="numLine"> 147</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="string">"_previousHostnameKey"</span>;</pre></td></tr>
+ <td class="src"><pre class="src"> <span class="string">"_checkpointFilePrefixKey"</span>;</pre></td></tr>
<tr> <td class="numLine"> 148</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="comment">/** JSON previous port key */</span></pre></td></tr>
+ <td class="src"><pre class="src"> <span class="comment">/** JSON previous hostname key */</span></pre></td></tr>
<tr> <td class="numLine"> 149</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String JSONOBJ_PREVIOUS_PORT_KEY = <span class="string">"_previousPortKey"</span>;</pre></td></tr>
+ <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String JSONOBJ_PREVIOUS_HOSTNAME_KEY =</pre></td></tr>
<tr> <td class="numLine"> 150</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="comment">/** JSON state key */</span></pre></td></tr>
+ <td class="src"><pre class="src"> <span class="string">"_previousHostnameKey"</span>;</pre></td></tr>
<tr> <td class="numLine"> 151</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String JSONOBJ_STATE_KEY = <span class="string">"_stateKey"</span>;</pre></td></tr>
+ <td class="src"><pre class="src"> <span class="comment">/** JSON previous port key */</span></pre></td></tr>
<tr> <td class="numLine"> 152</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="comment">/** JSON application attempt key */</span></pre></td></tr>
+ <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String JSONOBJ_PREVIOUS_PORT_KEY = <span class="string">"_previousPortKey"</span>;</pre></td></tr>
<tr> <td class="numLine"> 153</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String JSONOBJ_APPLICATION_ATTEMPT_KEY =</pre></td></tr>
+ <td class="src"><pre class="src"> <span class="comment">/** JSON state key */</span></pre></td></tr>
<tr> <td class="numLine"> 154</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="string">"_applicationAttemptKey"</span>;</pre></td></tr>
+ <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String JSONOBJ_STATE_KEY = <span class="string">"_stateKey"</span>;</pre></td></tr>
<tr> <td class="numLine"> 155</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="comment">/** JSON superstep key */</span></pre></td></tr>
+ <td class="src"><pre class="src"> <span class="comment">/** JSON application attempt key */</span></pre></td></tr>
<tr> <td class="numLine"> 156</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String JSONOBJ_SUPERSTEP_KEY =</pre></td></tr>
+ <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String JSONOBJ_APPLICATION_ATTEMPT_KEY =</pre></td></tr>
<tr> <td class="numLine"> 157</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="string">"_superstepKey"</span>;</pre></td></tr>
+ <td class="src"><pre class="src"> <span class="string">"_applicationAttemptKey"</span>;</pre></td></tr>
<tr> <td class="numLine"> 158</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="comment">/** Aggregator name key */</span></pre></td></tr>
+ <td class="src"><pre class="src"> <span class="comment">/** JSON superstep key */</span></pre></td></tr>
<tr> <td class="numLine"> 159</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String AGGREGATOR_NAME_KEY = <span class="string">"_aggregatorNameKey"</span>;</pre></td></tr>
+ <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String JSONOBJ_SUPERSTEP_KEY =</pre></td></tr>
<tr> <td class="numLine"> 160</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="comment">/** Aggregator class name key */</span></pre></td></tr>
+ <td class="src"><pre class="src"> <span class="string">"_superstepKey"</span>;</pre></td></tr>
<tr> <td class="numLine"> 161</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String AGGREGATOR_CLASS_NAME_KEY =</pre></td></tr>
+ <td class="src"><pre class="src"> <span class="comment">/** Aggregator name key */</span></pre></td></tr>
<tr> <td class="numLine"> 162</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="string">"_aggregatorClassNameKey"</span>;</pre></td></tr>
+ <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String AGGREGATOR_NAME_KEY = <span class="string">"_aggregatorNameKey"</span>;</pre></td></tr>
<tr> <td class="numLine"> 163</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="comment">/** Aggregator value key */</span></pre></td></tr>
+ <td class="src"><pre class="src"> <span class="comment">/** Aggregator class name key */</span></pre></td></tr>
<tr> <td class="numLine"> 164</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String AGGREGATOR_VALUE_KEY = <span class="string">"_aggregatorValueKey"</span>;</pre></td></tr>
+ <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String AGGREGATOR_CLASS_NAME_KEY =</pre></td></tr>
<tr> <td class="numLine"> 165</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="comment">/** Suffix denotes a worker */</span></pre></td></tr>
+ <td class="src"><pre class="src"> <span class="string">"_aggregatorClassNameKey"</span>;</pre></td></tr>
<tr> <td class="numLine"> 166</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String WORKER_SUFFIX = <span class="string">"_worker"</span>;</pre></td></tr>
+ <td class="src"><pre class="src"> <span class="comment">/** Aggregator value key */</span></pre></td></tr>
<tr> <td class="numLine"> 167</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="comment">/** Suffix denotes a master */</span></pre></td></tr>
+ <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String AGGREGATOR_VALUE_KEY = <span class="string">"_aggregatorValueKey"</span>;</pre></td></tr>
<tr> <td class="numLine"> 168</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String MASTER_SUFFIX = <span class="string">"_master"</span>;</pre></td></tr>
+ <td class="src"><pre class="src"> <span class="comment">/** Suffix denotes a worker */</span></pre></td></tr>
<tr> <td class="numLine"> 169</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="comment">/** If at the end of a checkpoint file, indicates metadata */</span></pre></td></tr>
+ <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String WORKER_SUFFIX = <span class="string">"_worker"</span>;</pre></td></tr>
<tr> <td class="numLine"> 170</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String CHECKPOINT_METADATA_POSTFIX = <span class="string">".metadata"</span>;</pre></td></tr>
+ <td class="src"><pre class="src"> <span class="comment">/** Suffix denotes a master */</span></pre></td></tr>
<tr> <td class="numLine"> 171</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr>
+ <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String MASTER_SUFFIX = <span class="string">"_master"</span>;</pre></td></tr>
<tr> <td class="numLine"> 172</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="comment"> * If at the end of a checkpoint file, indicates vertices, edges,</span></pre></td></tr>
+ <td class="src"><pre class="src"> <span class="comment">/** If at the end of a checkpoint file, indicates metadata */</span></pre></td></tr>
<tr> <td class="numLine"> 173</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="comment"> * messages, etc.</span></pre></td></tr>
+ <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String CHECKPOINT_METADATA_POSTFIX = <span class="string">".metadata"</span>;</pre></td></tr>
<tr> <td class="numLine"> 174</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
+ <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine"> 175</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String CHECKPOINT_VERTICES_POSTFIX = <span class="string">".vertices"</span>;</pre></td></tr>
+ <td class="src"><pre class="src"> <span class="comment"> * If at the end of a checkpoint file, indicates vertices, edges,</span></pre></td></tr>
<tr> <td class="numLine"> 176</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr>
+ <td class="src"><pre class="src"> <span class="comment"> * messages, etc.</span></pre></td></tr>
<tr> <td class="numLine"> 177</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="comment"> * If at the end of a checkpoint file, indicates metadata and data is valid</span></pre></td></tr>
+ <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine"> 178</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="comment"> * for the same filenames without .valid</span></pre></td></tr>
+ <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String CHECKPOINT_VERTICES_POSTFIX = <span class="string">".vertices"</span>;</pre></td></tr>
<tr> <td class="numLine"> 179</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
+ <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine"> 180</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String CHECKPOINT_VALID_POSTFIX = <span class="string">".valid"</span>;</pre></td></tr>
+ <td class="src"><pre class="src"> <span class="comment"> * If at the end of a checkpoint file, indicates metadata and data is valid</span></pre></td></tr>
<tr> <td class="numLine"> 181</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr>
+ <td class="src"><pre class="src"> <span class="comment"> * for the same filenames without .valid</span></pre></td></tr>
<tr> <td class="numLine"> 182</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="comment"> * If at the end of a checkpoint file, indicates the stitched checkpoint</span></pre></td></tr>
+ <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine"> 183</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="comment"> * file prefixes. A checkpoint is not valid if this file does not exist.</span></pre></td></tr>
+ <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String CHECKPOINT_VALID_POSTFIX = <span class="string">".valid"</span>;</pre></td></tr>
<tr> <td class="numLine"> 184</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
+ <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine"> 185</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String CHECKPOINT_FINALIZED_POSTFIX = <span class="string">".finalized"</span>;</pre></td></tr>
+ <td class="src"><pre class="src"> <span class="comment"> * If at the end of a checkpoint file, indicates the stitched checkpoint</span></pre></td></tr>
<tr> <td class="numLine"> 186</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="comment">/** Class logger */</span></pre></td></tr>
-<tr> <td class="numLineCover"> 187</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> Logger LOG = Logger.getLogger(BspService.<span class="keyword">class</span>);</pre></td></tr>
+ <td class="src"><pre class="src"> <span class="comment"> * file prefixes. A checkpoint is not valid if this file does not exist.</span></pre></td></tr>
+<tr> <td class="numLine"> 187</td> <td class="nbHits"> </td>
+ <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine"> 188</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="comment">/** Path to the job's root */</span></pre></td></tr>
+ <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String CHECKPOINT_FINALIZED_POSTFIX = <span class="string">".finalized"</span>;</pre></td></tr>
<tr> <td class="numLine"> 189</td> <td class="nbHits"> </td>
+ <td class="src"><pre class="src"> <span class="comment">/** Class logger */</span></pre></td></tr>
+<tr> <td class="numLineCover"> 190</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> Logger LOG = Logger.getLogger(BspService.<span class="keyword">class</span>);</pre></td></tr>
+<tr> <td class="numLine"> 191</td> <td class="nbHits"> </td>
+ <td class="src"><pre class="src"> <span class="comment">/** Path to the job's root */</span></pre></td></tr>
+<tr> <td class="numLine"> 192</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">protected</span> <span class="keyword">final</span> String basePath;</pre></td></tr>
-<tr> <td class="numLine"> 190</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 193</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">/** Path to the job state determined by the master (informative only) */</span></pre></td></tr>
-<tr> <td class="numLine"> 191</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 194</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">protected</span> <span class="keyword">final</span> String masterJobStatePath;</pre></td></tr>
-<tr> <td class="numLine"> 192</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 195</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">/** Path to the input splits written by the master */</span></pre></td></tr>
-<tr> <td class="numLine"> 193</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 196</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">protected</span> <span class="keyword">final</span> String inputSplitsPath;</pre></td></tr>
-<tr> <td class="numLine"> 194</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 197</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">/** Path to the input splits all ready to be processed by workers */</span></pre></td></tr>
-<tr> <td class="numLine"> 195</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 198</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">protected</span> <span class="keyword">final</span> String inputSplitsAllReadyPath;</pre></td></tr>
-<tr> <td class="numLine"> 196</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 199</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">/** Path to the input splits done */</span></pre></td></tr>
-<tr> <td class="numLine"> 197</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 200</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">protected</span> <span class="keyword">final</span> String inputSplitsDonePath;</pre></td></tr>
-<tr> <td class="numLine"> 198</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 201</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">/** Path to the input splits all done to notify the workers to proceed */</span></pre></td></tr>
-<tr> <td class="numLine"> 199</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 202</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">protected</span> <span class="keyword">final</span> String inputSplitsAllDonePath;</pre></td></tr>
-<tr> <td class="numLine"> 200</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 203</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">/** Path to the application attempts) */</span></pre></td></tr>
-<tr> <td class="numLine"> 201</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 204</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">protected</span> <span class="keyword">final</span> String applicationAttemptsPath;</pre></td></tr>
-<tr> <td class="numLine"> 202</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 205</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">/** Path to the cleaned up notifications */</span></pre></td></tr>
-<tr> <td class="numLine"> 203</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 206</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">protected</span> <span class="keyword">final</span> String cleanedUpPath;</pre></td></tr>
-<tr> <td class="numLine"> 204</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 207</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">/** Path to the checkpoint's root (including job id) */</span></pre></td></tr>
-<tr> <td class="numLine"> 205</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 208</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">protected</span> <span class="keyword">final</span> String checkpointBasePath;</pre></td></tr>
-<tr> <td class="numLine"> 206</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 209</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">/** Path to the master election path */</span></pre></td></tr>
-<tr> <td class="numLine"> 207</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 210</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">protected</span> <span class="keyword">final</span> String masterElectionPath;</pre></td></tr>
-<tr> <td class="numLine"> 208</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 211</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">/** Private ZooKeeper instance that implements the service */</span></pre></td></tr>
-<tr> <td class="numLine"> 209</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 212</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">final</span> ZooKeeperExt zk;</pre></td></tr>
-<tr> <td class="numLine"> 210</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 213</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">/** Has the Connection occurred? */</span></pre></td></tr>
-<tr> <td class="numLine"> 211</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 214</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">final</span> BspEvent connectedEvent;</pre></td></tr>
-<tr> <td class="numLine"> 212</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 215</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">/** Has worker registration changed (either healthy or unhealthy) */</span></pre></td></tr>
-<tr> <td class="numLine"> 213</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 216</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">final</span> BspEvent workerHealthRegistrationChanged;</pre></td></tr>
-<tr> <td class="numLine"> 214</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 217</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">/** InputSplits are ready for consumption by workers */</span></pre></td></tr>
-<tr> <td class="numLine"> 215</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 218</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">final</span> BspEvent inputSplitsAllReadyChanged;</pre></td></tr>
-<tr> <td class="numLine"> 216</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 219</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">/** InputSplit reservation or finished notification and synchronization */</span></pre></td></tr>
-<tr> <td class="numLine"> 217</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 220</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">final</span> BspEvent inputSplitsStateChanged;</pre></td></tr>
-<tr> <td class="numLine"> 218</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 221</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">/** InputSplits are done being processed by workers */</span></pre></td></tr>
-<tr> <td class="numLine"> 219</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 222</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">final</span> BspEvent inputSplitsAllDoneChanged;</pre></td></tr>
-<tr> <td class="numLine"> 220</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 223</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">/** InputSplit done by a worker finished notification and synchronization */</span></pre></td></tr>
-<tr> <td class="numLine"> 221</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 224</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">final</span> BspEvent inputSplitsDoneStateChanged;</pre></td></tr>
-<tr> <td class="numLine"> 222</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 225</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">/** Are the partition assignments to workers ready? */</span></pre></td></tr>
-<tr> <td class="numLine"> 223</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 226</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">final</span> BspEvent partitionAssignmentsReadyChanged;</pre></td></tr>
-<tr> <td class="numLine"> 224</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 227</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">/** Application attempt changed */</span></pre></td></tr>
-<tr> <td class="numLine"> 225</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 228</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">final</span> BspEvent applicationAttemptChanged;</pre></td></tr>
-<tr> <td class="numLine"> 226</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 229</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">/** Superstep finished synchronization */</span></pre></td></tr>
-<tr> <td class="numLine"> 227</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 230</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">final</span> BspEvent superstepFinished;</pre></td></tr>
-<tr> <td class="numLine"> 228</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 231</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">/** Master election changed for any waited on attempt */</span></pre></td></tr>
-<tr> <td class="numLine"> 229</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 232</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">final</span> BspEvent masterElectionChildrenChanged;</pre></td></tr>
-<tr> <td class="numLine"> 230</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 233</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">/** Cleaned up directory children changed*/</span></pre></td></tr>
-<tr> <td class="numLine"> 231</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 234</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">final</span> BspEvent cleanedUpChildrenChanged;</pre></td></tr>
-<tr> <td class="numLine"> 232</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 235</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">/** Registered list of BspEvents */</span></pre></td></tr>
-<tr> <td class="numLineCover"> 233</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">final</span> List<BspEvent> registeredBspEvents =</pre></td></tr>
-<tr> <td class="numLine"> 234</td> <td class="nbHits"> </td>
+<tr> <td class="numLineCover"> 236</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">final</span> List<BspEvent> registeredBspEvents =</pre></td></tr>
+<tr> <td class="numLine"> 237</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">new</span> ArrayList<BspEvent>();</pre></td></tr>
-<tr> <td class="numLine"> 235</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 238</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">/** Configuration of the job*/</span></pre></td></tr>
-<tr> <td class="numLine"> 236</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 239</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">final</span> Configuration conf;</pre></td></tr>
-<tr> <td class="numLine"> 237</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 240</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">/** Job context (mainly for progress) */</span></pre></td></tr>
-<tr> <td class="numLine"> 238</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 241</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">final</span> Mapper<?, ?, ?, ?>.Context context;</pre></td></tr>
-<tr> <td class="numLine"> 239</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 242</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">/** Cached superstep (from ZooKeeper) */</span></pre></td></tr>
-<tr> <td class="numLineCover"> 240</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">long</span> cachedSuperstep = UNSET_SUPERSTEP;</pre></td></tr>
-<tr> <td class="numLine"> 241</td> <td class="nbHits"> </td>
+<tr> <td class="numLineCover"> 243</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">long</span> cachedSuperstep = UNSET_SUPERSTEP;</pre></td></tr>
+<tr> <td class="numLine"> 244</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">/** Restarted from a checkpoint (manual or automatic) */</span></pre></td></tr>
-<tr> <td class="numLineCover"> 242</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">long</span> restartedSuperstep = UNSET_SUPERSTEP;</pre></td></tr>
-<tr> <td class="numLine"> 243</td> <td class="nbHits"> </td>
+<tr> <td class="numLineCover"> 245</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">long</span> restartedSuperstep = UNSET_SUPERSTEP;</pre></td></tr>
+<tr> <td class="numLine"> 246</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">/** Cached application attempt (from ZooKeeper) */</span></pre></td></tr>
-<tr> <td class="numLineCover"> 244</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">long</span> cachedApplicationAttempt = UNSET_APPLICATION_ATTEMPT;</pre></td></tr>
-<tr> <td class="numLine"> 245</td> <td class="nbHits"> </td>
+<tr> <td class="numLineCover"> 247</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">long</span> cachedApplicationAttempt = UNSET_APPLICATION_ATTEMPT;</pre></td></tr>
+<tr> <td class="numLine"> 248</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">/** Job id, to ensure uniqueness */</span></pre></td></tr>
-<tr> <td class="numLine"> 246</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 249</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">final</span> String jobId;</pre></td></tr>
-<tr> <td class="numLine"> 247</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 250</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">/** Task partition, to ensure uniqueness */</span></pre></td></tr>
-<tr> <td class="numLine"> 248</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 251</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">final</span> <span class="keyword">int</span> taskPartition;</pre></td></tr>
-<tr> <td class="numLine"> 249</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 252</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">/** My hostname */</span></pre></td></tr>
-<tr> <td class="numLine"> 250</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 253</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">final</span> String hostname;</pre></td></tr>
-<tr> <td class="numLine"> 251</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 254</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">/** Combination of hostname '_' partition (unique id) */</span></pre></td></tr>
-<tr> <td class="numLine"> 252</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 255</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">final</span> String hostnamePartitionId;</pre></td></tr>
-<tr> <td class="numLine"> 253</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 256</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">/** Graph partitioner */</span></pre></td></tr>
-<tr> <td class="numLine"> 254</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 257</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">final</span> GraphPartitionerFactory<I, V, E, M> graphPartitionerFactory;</pre></td></tr>
-<tr> <td class="numLine"> 255</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 258</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">/** Mapper that will do the graph computation */</span></pre></td></tr>
-<tr> <td class="numLine"> 256</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 259</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">final</span> GraphMapper<I, V, E, M> graphMapper;</pre></td></tr>
-<tr> <td class="numLine"> 257</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 260</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">/** File system */</span></pre></td></tr>
-<tr> <td class="numLine"> 258</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 261</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">final</span> FileSystem fs;</pre></td></tr>
-<tr> <td class="numLine"> 259</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 262</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">/** Checkpoint frequency */</span></pre></td></tr>
-<tr> <td class="numLine"> 260</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 263</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">final</span> <span class="keyword">int</span> checkpointFrequency;</pre></td></tr>
-<tr> <td class="numLine"> 261</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 264</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">/** Map of aggregators */</span></pre></td></tr>
-<tr> <td class="numLineCover"> 262</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> <span class="keyword">private</span> Map<String, AggregatorWrapper<Writable>> aggregatorMap =</pre></td></tr>
-<tr> <td class="numLine"> 263</td> <td class="nbHits"> </td>
+<tr> <td class="numLineCover"> 265</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> <span class="keyword">private</span> Map<String, AggregatorWrapper<Writable>> aggregatorMap =</pre></td></tr>
+<tr> <td class="numLine"> 266</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">new</span> TreeMap<String, AggregatorWrapper<Writable>>();</pre></td></tr>
-<tr> <td class="numLine"> 264</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 267</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLine"> 265</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 268</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr>
-<tr> <td class="numLine"> 266</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 269</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * Constructor.</span></pre></td></tr>
-<tr> <td class="numLine"> 267</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 270</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr>
-<tr> <td class="numLine"> 268</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 271</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * @param serverPortList ZooKeeper server port list</span></pre></td></tr>
-<tr> <td class="numLine"> 269</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 272</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * @param sessionMsecTimeout ZooKeeper session timeount in milliseconds</span></pre></td></tr>
-<tr> <td class="numLine"> 270</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 273</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * @param context Mapper context</span></pre></td></tr>
-<tr> <td class="numLine"> 271</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 274</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * @param graphMapper Graph mapper reference</span></pre></td></tr>
-<tr> <td class="numLine"> 272</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 275</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLine"> 273</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 276</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> BspService(String serverPortList,</pre></td></tr>
-<tr> <td class="numLine"> 274</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 277</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">int</span> sessionMsecTimeout,</pre></td></tr>
-<tr> <td class="numLine"> 275</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 278</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> Mapper<?, ?, ?, ?>.Context context,</pre></td></tr>
-<tr> <td class="numLineCover"> 276</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> GraphMapper<I, V, E, M> graphMapper) {</pre></td></tr>
-<tr> <td class="numLineCover"> 277</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.connectedEvent = <span class="keyword">new</span> PredicateLock(context);</pre></td></tr>
-<tr> <td class="numLineCover"> 278</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.workerHealthRegistrationChanged = <span class="keyword">new</span> PredicateLock(context);</pre></td></tr>
-<tr> <td class="numLineCover"> 279</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.inputSplitsAllReadyChanged = <span class="keyword">new</span> PredicateLock(context);</pre></td></tr>
-<tr> <td class="numLineCover"> 280</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.inputSplitsStateChanged = <span class="keyword">new</span> PredicateLock(context);</pre></td></tr>
-<tr> <td class="numLineCover"> 281</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.inputSplitsAllDoneChanged = <span class="keyword">new</span> PredicateLock(context);</pre></td></tr>
-<tr> <td class="numLineCover"> 282</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.inputSplitsDoneStateChanged = <span class="keyword">new</span> PredicateLock(context);</pre></td></tr>
-<tr> <td class="numLineCover"> 283</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.partitionAssignmentsReadyChanged = <span class="keyword">new</span> PredicateLock(context);</pre></td></tr>
-<tr> <td class="numLineCover"> 284</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.applicationAttemptChanged = <span class="keyword">new</span> PredicateLock(context);</pre></td></tr>
-<tr> <td class="numLineCover"> 285</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.superstepFinished = <span class="keyword">new</span> PredicateLock(context);</pre></td></tr>
-<tr> <td class="numLineCover"> 286</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.masterElectionChildrenChanged = <span class="keyword">new</span> PredicateLock(context);</pre></td></tr>
-<tr> <td class="numLineCover"> 287</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.cleanedUpChildrenChanged = <span class="keyword">new</span> PredicateLock(context);</pre></td></tr>
-<tr> <td class="numLine"> 288</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 289</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> registerBspEvent(connectedEvent);</pre></td></tr>
-<tr> <td class="numLineCover"> 290</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> registerBspEvent(workerHealthRegistrationChanged);</pre></td></tr>
-<tr> <td class="numLineCover"> 291</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> registerBspEvent(inputSplitsAllReadyChanged);</pre></td></tr>
-<tr> <td class="numLineCover"> 292</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> registerBspEvent(inputSplitsStateChanged);</pre></td></tr>
-<tr> <td class="numLineCover"> 293</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> registerBspEvent(partitionAssignmentsReadyChanged);</pre></td></tr>
-<tr> <td class="numLineCover"> 294</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> registerBspEvent(applicationAttemptChanged);</pre></td></tr>
-<tr> <td class="numLineCover"> 295</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> registerBspEvent(superstepFinished);</pre></td></tr>
-<tr> <td class="numLineCover"> 296</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> registerBspEvent(masterElectionChildrenChanged);</pre></td></tr>
-<tr> <td class="numLineCover"> 297</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> registerBspEvent(cleanedUpChildrenChanged);</pre></td></tr>
-<tr> <td class="numLine"> 298</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 299</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.context = context;</pre></td></tr>
-<tr> <td class="numLineCover"> 300</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.graphMapper = graphMapper;</pre></td></tr>
-<tr> <td class="numLineCover"> 301</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.conf = context.getConfiguration();</pre></td></tr>
-<tr> <td class="numLineCover"> 302</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.jobId = conf.get(<span class="string">"mapred.job.id"</span>, <span class="string">"Unknown Job"</span>);</pre></td></tr>
-<tr> <td class="numLineCover"> 303</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.taskPartition = conf.getInt(<span class="string">"mapred.task.partition"</span>, -1);</pre></td></tr>
-<tr> <td class="numLineCover"> 304</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.restartedSuperstep = conf.getLong(GiraphJob.RESTART_SUPERSTEP,</pre></td></tr>
-<tr> <td class="numLine"> 305</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> UNSET_SUPERSTEP);</pre></td></tr>
-<tr> <td class="numLineCover"> 306</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.cachedSuperstep = restartedSuperstep;</pre></td></tr>
-<tr> <td class="numLineCover"> 307</td> <td class="nbHitsUncovered"><a title="Line 307: Conditional coverage 25% (1/4) [each condition: 50%, 0%]."> 48</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 307: Conditional coverage 25% (1/4) [each condition: 50%, 0%]."> <span class="keyword">if</span> ((restartedSuperstep != UNSET_SUPERSTEP) &&</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 279</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> GraphMapper<I, V, E, M> graphMapper) {</pre></td></tr>
+<tr> <td class="numLineCover"> 280</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.connectedEvent = <span class="keyword">new</span> PredicateLock(context);</pre></td></tr>
+<tr> <td class="numLineCover"> 281</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.workerHealthRegistrationChanged = <span class="keyword">new</span> PredicateLock(context);</pre></td></tr>
+<tr> <td class="numLineCover"> 282</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.inputSplitsAllReadyChanged = <span class="keyword">new</span> PredicateLock(context);</pre></td></tr>
+<tr> <td class="numLineCover"> 283</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.inputSplitsStateChanged = <span class="keyword">new</span> PredicateLock(context);</pre></td></tr>
+<tr> <td class="numLineCover"> 284</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.inputSplitsAllDoneChanged = <span class="keyword">new</span> PredicateLock(context);</pre></td></tr>
+<tr> <td class="numLineCover"> 285</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.inputSplitsDoneStateChanged = <span class="keyword">new</span> PredicateLock(context);</pre></td></tr>
+<tr> <td class="numLineCover"> 286</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.partitionAssignmentsReadyChanged = <span class="keyword">new</span> PredicateLock(context);</pre></td></tr>
+<tr> <td class="numLineCover"> 287</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.applicationAttemptChanged = <span class="keyword">new</span> PredicateLock(context);</pre></td></tr>
+<tr> <td class="numLineCover"> 288</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.superstepFinished = <span class="keyword">new</span> PredicateLock(context);</pre></td></tr>
+<tr> <td class="numLineCover"> 289</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.masterElectionChildrenChanged = <span class="keyword">new</span> PredicateLock(context);</pre></td></tr>
+<tr> <td class="numLineCover"> 290</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.cleanedUpChildrenChanged = <span class="keyword">new</span> PredicateLock(context);</pre></td></tr>
+<tr> <td class="numLine"> 291</td> <td class="nbHits"> </td>
+ <td class="src"><pre class="src"> </pre></td></tr>
+<tr> <td class="numLineCover"> 292</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> registerBspEvent(connectedEvent);</pre></td></tr>
+<tr> <td class="numLineCover"> 293</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> registerBspEvent(workerHealthRegistrationChanged);</pre></td></tr>
+<tr> <td class="numLineCover"> 294</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> registerBspEvent(inputSplitsAllReadyChanged);</pre></td></tr>
+<tr> <td class="numLineCover"> 295</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> registerBspEvent(inputSplitsStateChanged);</pre></td></tr>
+<tr> <td class="numLineCover"> 296</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> registerBspEvent(partitionAssignmentsReadyChanged);</pre></td></tr>
+<tr> <td class="numLineCover"> 297</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> registerBspEvent(applicationAttemptChanged);</pre></td></tr>
+<tr> <td class="numLineCover"> 298</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> registerBspEvent(superstepFinished);</pre></td></tr>
+<tr> <td class="numLineCover"> 299</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> registerBspEvent(masterElectionChildrenChanged);</pre></td></tr>
+<tr> <td class="numLineCover"> 300</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> registerBspEvent(cleanedUpChildrenChanged);</pre></td></tr>
+<tr> <td class="numLine"> 301</td> <td class="nbHits"> </td>
+ <td class="src"><pre class="src"> </pre></td></tr>
+<tr> <td class="numLineCover"> 302</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.context = context;</pre></td></tr>
+<tr> <td class="numLineCover"> 303</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.graphMapper = graphMapper;</pre></td></tr>
+<tr> <td class="numLineCover"> 304</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.conf = context.getConfiguration();</pre></td></tr>
+<tr> <td class="numLineCover"> 305</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.jobId = conf.get(<span class="string">"mapred.job.id"</span>, <span class="string">"Unknown Job"</span>);</pre></td></tr>
+<tr> <td class="numLineCover"> 306</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.taskPartition = conf.getInt(<span class="string">"mapred.task.partition"</span>, -1);</pre></td></tr>
+<tr> <td class="numLineCover"> 307</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.restartedSuperstep = conf.getLong(GiraphJob.RESTART_SUPERSTEP,</pre></td></tr>
<tr> <td class="numLine"> 308</td> <td class="nbHits"> </td>
+ <td class="src"><pre class="src"> UNSET_SUPERSTEP);</pre></td></tr>
+<tr> <td class="numLineCover"> 309</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.cachedSuperstep = restartedSuperstep;</pre></td></tr>
+<tr> <td class="numLineCover"> 310</td> <td class="nbHitsUncovered"><a title="Line 310: Conditional coverage 25% (1/4) [each condition: 50%, 0%]."> 48</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 310: Conditional coverage 25% (1/4) [each condition: 50%, 0%]."> <span class="keyword">if</span> ((restartedSuperstep != UNSET_SUPERSTEP) &&</a></span></pre></td></tr>
+<tr> <td class="numLine"> 311</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> (restartedSuperstep < 0)) {</pre></td></tr>
-<tr> <td class="numLineCover"> 309</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">throw</span> <span class="keyword">new</span> IllegalArgumentException(</span></pre></td></tr>
-<tr> <td class="numLine"> 310</td> <td class="nbHits"> </td>
+<tr> <td class="numLineCover"> 312</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">throw</span> <span class="keyword">new</span> IllegalArgumentException(</span></pre></td></tr>
+<tr> <td class="numLine"> 313</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="string">"BspService: Invalid superstep to restart - "</span> +</pre></td></tr>
-<tr> <td class="numLine"> 311</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 314</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> restartedSuperstep);</pre></td></tr>
-<tr> <td class="numLine"> 312</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 315</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLine"> 313</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 316</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">try</span> {</pre></td></tr>
-<tr> <td class="numLineCover"> 314</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.hostname = InetAddress.getLocalHost().getHostName();</pre></td></tr>
-<tr> <td class="numLineCover"> 315</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> } <span class="keyword">catch</span> (UnknownHostException e) {</span></pre></td></tr>
-<tr> <td class="numLineCover"> 316</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">throw</span> <span class="keyword">new</span> RuntimeException(e);</span></pre></td></tr>
-<tr> <td class="numLineCover"> 317</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 318</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.hostnamePartitionId = hostname + <span class="string">"_"</span> + getTaskPartition();</pre></td></tr>
-<tr> <td class="numLineCover"> 319</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.graphPartitionerFactory =</pre></td></tr>
-<tr> <td class="numLine"> 320</td> <td class="nbHits"> </td>
+<tr> <td class="numLineCover"> 317</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.hostname = InetAddress.getLocalHost().getHostName();</pre></td></tr>
+<tr> <td class="numLineCover"> 318</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> } <span class="keyword">catch</span> (UnknownHostException e) {</span></pre></td></tr>
+<tr> <td class="numLineCover"> 319</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">throw</span> <span class="keyword">new</span> RuntimeException(e);</span></pre></td></tr>
+<tr> <td class="numLineCover"> 320</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 321</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.hostnamePartitionId = hostname + <span class="string">"_"</span> + getTaskPartition();</pre></td></tr>
+<tr> <td class="numLineCover"> 322</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.graphPartitionerFactory =</pre></td></tr>
+<tr> <td class="numLine"> 323</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> BspUtils.<I, V, E, M>createGraphPartitioner(conf);</pre></td></tr>
-<tr> <td class="numLine"> 321</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 324</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 322</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.checkpointFrequency =</pre></td></tr>
-<tr> <td class="numLine"> 323</td> <td class="nbHits"> </td>
+<tr> <td class="numLineCover"> 325</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.checkpointFrequency =</pre></td></tr>
+<tr> <td class="numLine"> 326</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> conf.getInt(GiraphJob.CHECKPOINT_FREQUENCY,</pre></td></tr>
-<tr> <td class="numLine"> 324</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 327</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> GiraphJob.CHECKPOINT_FREQUENCY_DEFAULT);</pre></td></tr>
-<tr> <td class="numLine"> 325</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 328</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 326</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> basePath = ZooKeeperManager.getBasePath(conf) + BASE_DIR + <span class="string">"/"</span> + jobId;</pre></td></tr>
-<tr> <td class="numLineCover"> 327</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> masterJobStatePath = basePath + MASTER_JOB_STATE_NODE;</pre></td></tr>
-<tr> <td class="numLineCover"> 328</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> inputSplitsPath = basePath + INPUT_SPLIT_DIR;</pre></td></tr>
-<tr> <td class="numLineCover"> 329</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> inputSplitsAllReadyPath = basePath + INPUT_SPLITS_ALL_READY_NODE;</pre></td></tr>
-<tr> <td class="numLineCover"> 330</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> inputSplitsDonePath = basePath + INPUT_SPLIT_DONE_DIR;</pre></td></tr>
-<tr> <td class="numLineCover"> 331</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> inputSplitsAllDonePath = basePath + INPUT_SPLITS_ALL_DONE_NODE;</pre></td></tr>
-<tr> <td class="numLineCover"> 332</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> applicationAttemptsPath = basePath + APPLICATION_ATTEMPTS_DIR;</pre></td></tr>
-<tr> <td class="numLineCover"> 333</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> cleanedUpPath = basePath + CLEANED_UP_DIR;</pre></td></tr>
-<tr> <td class="numLineCover"> 334</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> checkpointBasePath =</pre></td></tr>
-<tr> <td class="numLine"> 335</td> <td class="nbHits"> </td>
+<tr> <td class="numLineCover"> 329</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> basePath = ZooKeeperManager.getBasePath(conf) + BASE_DIR + <span class="string">"/"</span> + jobId;</pre></td></tr>
+<tr> <td class="numLineCover"> 330</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> masterJobStatePath = basePath + MASTER_JOB_STATE_NODE;</pre></td></tr>
+<tr> <td class="numLineCover"> 331</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> inputSplitsPath = basePath + INPUT_SPLIT_DIR;</pre></td></tr>
+<tr> <td class="numLineCover"> 332</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> inputSplitsAllReadyPath = basePath + INPUT_SPLITS_ALL_READY_NODE;</pre></td></tr>
+<tr> <td class="numLineCover"> 333</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> inputSplitsDonePath = basePath + INPUT_SPLIT_DONE_DIR;</pre></td></tr>
+<tr> <td class="numLineCover"> 334</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> inputSplitsAllDonePath = basePath + INPUT_SPLITS_ALL_DONE_NODE;</pre></td></tr>
+<tr> <td class="numLineCover"> 335</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> applicationAttemptsPath = basePath + APPLICATION_ATTEMPTS_DIR;</pre></td></tr>
+<tr> <td class="numLineCover"> 336</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> cleanedUpPath = basePath + CLEANED_UP_DIR;</pre></td></tr>
+<tr> <td class="numLineCover"> 337</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> checkpointBasePath =</pre></td></tr>
+<tr> <td class="numLine"> 338</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> getConfiguration().get(</pre></td></tr>
-<tr> <td class="numLine"> 336</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 339</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> GiraphJob.CHECKPOINT_DIRECTORY,</pre></td></tr>
-<tr> <td class="numLine"> 337</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 340</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> GiraphJob.CHECKPOINT_DIRECTORY_DEFAULT + <span class="string">"/"</span> + getJobId());</pre></td></tr>
-<tr> <td class="numLineCover"> 338</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> masterElectionPath = basePath + MASTER_ELECTION_DIR;</pre></td></tr>
-<tr> <td class="numLineCover"> 339</td> <td class="nbHitsUncovered"><a title="Line 339: Conditional coverage 50% (1/2)."> 48</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 339: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (LOG.isInfoEnabled()) {</a></span></pre></td></tr>
-<tr> <td class="numLineCover"> 340</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> LOG.info(<span class="string">"BspService: Connecting to ZooKeeper with job "</span> + jobId +</span></pre></td></tr>
-<tr> <td class="numLine"> 341</td> <td class="nbHits"> </td>
+<tr> <td class="numLineCover"> 341</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> masterElectionPath = basePath + MASTER_ELECTION_DIR;</pre></td></tr>
+<tr> <td class="numLineCover"> 342</td> <td class="nbHitsUncovered"><a title="Line 342: Conditional coverage 50% (1/2)."> 48</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 342: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (LOG.isInfoEnabled()) {</a></span></pre></td></tr>
[... 2111 lines stripped ...]