hadoop-common-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From cutt...@apache.org
Subject svn commit: r462942 - in /lucene/hadoop/branches/branch-0.7: ./ conf/ site/ src/java/ src/java/org/apache/hadoop/ipc/ src/java/org/apache/hadoop/mapred/ src/site/src/documentation/content/xdocs/
Date Wed, 11 Oct 2006 21:05:39 GMT
Author: cutting
Date: Wed Oct 11 14:05:38 2006
New Revision: 462942

URL: http://svn.apache.org/viewvc?view=rev&rev=462942
Log:
merge -r 453780:462941, from trunk to branch-0.7, preparing for 0.7.1 release

Modified:
    lucene/hadoop/branches/branch-0.7/CHANGES.txt
    lucene/hadoop/branches/branch-0.7/build.xml
    lucene/hadoop/branches/branch-0.7/conf/hadoop-default.xml
    lucene/hadoop/branches/branch-0.7/site/index.html
    lucene/hadoop/branches/branch-0.7/site/index.pdf
    lucene/hadoop/branches/branch-0.7/src/java/org/apache/hadoop/ipc/Server.java
    lucene/hadoop/branches/branch-0.7/src/java/org/apache/hadoop/mapred/JobInProgress.java
    lucene/hadoop/branches/branch-0.7/src/java/org/apache/hadoop/mapred/JobTracker.java
    lucene/hadoop/branches/branch-0.7/src/java/org/apache/hadoop/mapred/Task.java
    lucene/hadoop/branches/branch-0.7/src/java/org/apache/hadoop/mapred/TaskTracker.java
    lucene/hadoop/branches/branch-0.7/src/java/overview.html
    lucene/hadoop/branches/branch-0.7/src/site/src/documentation/content/xdocs/index.xml

Modified: lucene/hadoop/branches/branch-0.7/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/hadoop/branches/branch-0.7/CHANGES.txt?view=diff&rev=462942&r1=462941&r2=462942
==============================================================================
--- lucene/hadoop/branches/branch-0.7/CHANGES.txt (original)
+++ lucene/hadoop/branches/branch-0.7/CHANGES.txt Wed Oct 11 14:05:38 2006
@@ -1,6 +1,25 @@
 Hadoop Change Log
 
 
+Release 0.7.1 - 2006-10-11
+
+ 1. HADOOP-593.  Fix a NullPointerException in the JobTracker.
+    (omalley via cutting)
+
+ 2. HADOOP-592.  Fix a NullPointerException in the IPC Server.  Also
+    consistently log when stale calls are discarded.  (omalley via cutting)
+
+ 3. HADOOP-594.  Increase the DFS safe-mode threshold from .95 to
+    .999, so that nearly all blocks must be reported before filesystem
+    modifications are permitted.  (Konstantin Shvachko via cutting)
+
+ 4. HADOOP-598.  Fix tasks to retry when reporting completion, so that
+    a single RPC timeout won't fail a task.  (omalley via cutting)
+
+ 5. HADOOP-597.  Fix TaskTracker to not discard map outputs for errors
+    in transmitting them to reduce nodes.  (omalley via cutting)
+
+
 Release 0.7.0 - 2006-10-06
 
  1. HADOOP-243.  Fix rounding in the display of task and job progress

Modified: lucene/hadoop/branches/branch-0.7/build.xml
URL: http://svn.apache.org/viewvc/lucene/hadoop/branches/branch-0.7/build.xml?view=diff&rev=462942&r1=462941&r2=462942
==============================================================================
--- lucene/hadoop/branches/branch-0.7/build.xml (original)
+++ lucene/hadoop/branches/branch-0.7/build.xml Wed Oct 11 14:05:38 2006
@@ -9,7 +9,7 @@
  
   <property name="Name" value="Hadoop"/>
   <property name="name" value="hadoop"/>
-  <property name="version" value="0.7.1-dev"/>
+  <property name="version" value="0.7.2-dev"/>
   <property name="final.name" value="${name}-${version}"/>
   <property name="year" value="2006"/>
   <property name="libhdfs.version" value="1"/>

Modified: lucene/hadoop/branches/branch-0.7/conf/hadoop-default.xml
URL: http://svn.apache.org/viewvc/lucene/hadoop/branches/branch-0.7/conf/hadoop-default.xml?view=diff&rev=462942&r1=462941&r2=462942
==============================================================================
--- lucene/hadoop/branches/branch-0.7/conf/hadoop-default.xml (original)
+++ lucene/hadoop/branches/branch-0.7/conf/hadoop-default.xml Wed Oct 11 14:05:38 2006
@@ -249,7 +249,7 @@
 
 <property>
   <name>dfs.safemode.threshold.pct</name>
-  <value>0.95f</value>
+  <value>0.999f</value>
   <description>
   	Specifies the percentage of blocks that should satisfy 
   	the minimal replication requirement defined by dfs.replication.min.

Modified: lucene/hadoop/branches/branch-0.7/site/index.html
URL: http://svn.apache.org/viewvc/lucene/hadoop/branches/branch-0.7/site/index.html?view=diff&rev=462942&r1=462941&r2=462942
==============================================================================
--- lucene/hadoop/branches/branch-0.7/site/index.html (original)
+++ lucene/hadoop/branches/branch-0.7/site/index.html Wed Oct 11 14:05:38 2006
@@ -122,6 +122,9 @@
 <a href="#News">News</a>
 <ul class="minitoc">
 <li>
+<a href="#11+October%2C+2006%3A+release+0.7.1+available">11 October, 2006: release 0.7.1 available</a>
+</li>
+<li>
 <a href="#6+October%2C+2006%3A+release+0.7.0+available">6 October, 2006: release 0.7.0 available</a>
 </li>
 <li>
@@ -178,73 +181,79 @@
 <a name="N1000C"></a><a name="News"></a>
 <h2 class="h3">News</h2>
 <div class="section">
-<a name="N10012"></a><a name="6+October%2C+2006%3A+release+0.7.0+available"></a>
+<a name="N10012"></a><a name="11+October%2C+2006%3A+release+0.7.1+available"></a>
+<h3 class="h4">11 October, 2006: release 0.7.1 available</h3>
+<p>This fixes critical bugs in 0.7.0.  For details see the <a href="http://tinyurl.com/p7qod">release notes</a>. The release can
+      be obtained from <a href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
+      nearby mirror</a>.
+      </p>
+<a name="N10024"></a><a name="6+October%2C+2006%3A+release+0.7.0+available"></a>
 <h3 class="h4">6 October, 2006: release 0.7.0 available</h3>
 <p>For details see the <a href="http://tinyurl.com/kvd9m">release notes</a>. The release can
       be obtained from <a href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
       nearby mirror</a>.
       </p>
-<a name="N10024"></a><a name="18+September%2C+2006%3A+release+0.6.2+available"></a>
+<a name="N10036"></a><a name="18+September%2C+2006%3A+release+0.6.2+available"></a>
 <h3 class="h4">18 September, 2006: release 0.6.2 available</h3>
 <p>This fixes critical bugs in 0.6.1.  For details see the <a href="http://tinyurl.com/gyb56">release notes</a>. The release can
       be obtained from <a href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
       nearby mirror</a>.
       </p>
-<a name="N10036"></a><a name="13+September%2C+2006%3A+release+0.6.1+available"></a>
+<a name="N10048"></a><a name="13+September%2C+2006%3A+release+0.6.1+available"></a>
 <h3 class="h4">13 September, 2006: release 0.6.1 available</h3>
 <p>This fixes critical bugs in 0.6.0.  For details see the <a href="http://tinyurl.com/lykp4">release notes</a>. The release can
       be obtained from <a href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
       nearby mirror</a>.
       </p>
-<a name="N10048"></a><a name="8+September%2C+2006%3A+release+0.6.0+available"></a>
+<a name="N1005A"></a><a name="8+September%2C+2006%3A+release+0.6.0+available"></a>
 <h3 class="h4">8 September, 2006: release 0.6.0 available</h3>
 <p>For details see the <a href="http://tinyurl.com/r3zoj">release notes</a>. The release can
       be obtained from <a href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
       nearby mirror</a>.
       </p>
-<a name="N1005A"></a><a name="4+August%2C+2006%3A+release+0.5.0+available"></a>
+<a name="N1006C"></a><a name="4+August%2C+2006%3A+release+0.5.0+available"></a>
 <h3 class="h4">4 August, 2006: release 0.5.0 available</h3>
 <p>For details see the <a href="http://tinyurl.com/pnml2">release notes</a>. The release can
       be obtained from <a href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
       nearby mirror</a>.
       </p>
-<a name="N1006C"></a><a name="28+June%2C+2006%3A+release+0.4.0+available"></a>
+<a name="N1007E"></a><a name="28+June%2C+2006%3A+release+0.4.0+available"></a>
 <h3 class="h4">28 June, 2006: release 0.4.0 available</h3>
 <p>For details see the <a href="http://tinyurl.com/o35b6">change log</a>. The release can
       be obtained from <a href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
       nearby mirror</a>.
       </p>
-<a name="N1007E"></a><a name="9+June%2C+2006%3A+release+0.3.2+available"></a>
+<a name="N10090"></a><a name="9+June%2C+2006%3A+release+0.3.2+available"></a>
 <h3 class="h4">9 June, 2006: release 0.3.2 available</h3>
 <p>This is a bugfix release.  For details see the <a href="http://tinyurl.com/k9g5c">change log</a>. The release can
       be obtained from <a href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
       nearby mirror</a>.
       </p>
-<a name="N10090"></a><a name="8+June%2C+2006%3A+FAQ+added+to+Wiki"></a>
+<a name="N100A2"></a><a name="8+June%2C+2006%3A+FAQ+added+to+Wiki"></a>
 <h3 class="h4">8 June, 2006: FAQ added to Wiki</h3>
 <p>Hadoop now has a <a href="http://wiki.apache.org/lucene-hadoop/FAQ">FAQ</a>.  Please
       help make this more complete!
       </p>
-<a name="N1009E"></a><a name="5+June%2C+2006%3A+release+0.3.1+available"></a>
+<a name="N100B0"></a><a name="5+June%2C+2006%3A+release+0.3.1+available"></a>
 <h3 class="h4">5 June, 2006: release 0.3.1 available</h3>
 <p>This is a bugfix release.  For details see the <a href="http://tinyurl.com/l6on4">change log</a>. The release can
       be obtained from <a href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
       nearby mirror</a>.
       </p>
-<a name="N100B0"></a><a name="2+June%2C+2006%3A+release+0.3.0+available"></a>
+<a name="N100C2"></a><a name="2+June%2C+2006%3A+release+0.3.0+available"></a>
 <h3 class="h4">2 June, 2006: release 0.3.0 available</h3>
 <p>This includes many fixes, improving performance, scalability
       and reliability and adding new features.  For details see the <a href="http://tinyurl.com/rq3f7">change log</a>. The release can
       be obtained from <a href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
       nearby mirror</a>.
       </p>
-<a name="N100C2"></a><a name="12+May%2C+2006%3A+release+0.2.1+available"></a>
+<a name="N100D4"></a><a name="12+May%2C+2006%3A+release+0.2.1+available"></a>
 <h3 class="h4">12 May, 2006: release 0.2.1 available</h3>
 <p>This fixes a few bugs in release 0.2.0, listed in the <a href="http://tinyurl.com/rnnvz">change log</a>. The
       release can be obtained from <a href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
       nearby mirror</a>.
       </p>
-<a name="N100D4"></a><a name="5+May%2C+2006%3A+release+0.2.0+available"></a>
+<a name="N100E6"></a><a name="5+May%2C+2006%3A+release+0.2.0+available"></a>
 <h3 class="h4">5 May, 2006: release 0.2.0 available</h3>
 <p>We are now aiming for monthly releases.  There have been many
       bug fixes and improvements in the past month.  MapReduce and DFS
@@ -253,24 +262,24 @@
       details. The release can be obtained from <a href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
       nearby mirror</a>.
       </p>
-<a name="N100E6"></a><a name="2+April%2C+2006%3A+release+0.1.0+available"></a>
+<a name="N100F8"></a><a name="2+April%2C+2006%3A+release+0.1.0+available"></a>
 <h3 class="h4">2 April, 2006: release 0.1.0 available</h3>
 <p>This is the first Hadoop release.  The release is available
       <a href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/">
       here</a>.</p>
-<a name="N100F4"></a><a name="6+February%2C+2006%3A+nightly+builds"></a>
+<a name="N10106"></a><a name="6+February%2C+2006%3A+nightly+builds"></a>
 <h3 class="h4">6 February, 2006: nightly builds</h3>
 <p>Hadoop now has nightly builds.  This automatically creates a
       <a href="http://cvs.apache.org/dist/lucene/hadoop/nightly/">downloadable version of Hadoop every
       night</a>.  All unit tests must pass, or a message is sent to
       the developers mailing list and no new version is created.  This
       also updates the <a href="docs/api/">javadoc</a>.</p>
-<a name="N10106"></a><a name="3+February%2C+2006%3A+Hadoop+code+moved+out+of+Nutch"></a>
+<a name="N10118"></a><a name="3+February%2C+2006%3A+Hadoop+code+moved+out+of+Nutch"></a>
 <h3 class="h4">3 February, 2006: Hadoop code moved out of Nutch</h3>
 <p>The Hadoop code has now been moved into its own Subversion
       tree, renamed into packages under <span class="codefrag">org.apache.hadoop</span>.
       All unit tests pass, but little else has yet been tested.</p>
-<a name="N10113"></a><a name="30+March%2C+2006%3A+Hadoop+project+approved"></a>
+<a name="N10125"></a><a name="30+March%2C+2006%3A+Hadoop+project+approved"></a>
 <h3 class="h4">30 March, 2006: Hadoop project approved</h3>
 <p>The Lucene PMC has elected to split the Nutch MapReduce and
       distributed filesytem code into a new project named Hadoop.</p>

Modified: lucene/hadoop/branches/branch-0.7/site/index.pdf
URL: http://svn.apache.org/viewvc/lucene/hadoop/branches/branch-0.7/site/index.pdf?view=diff&rev=462942&r1=462941&r2=462942
==============================================================================
--- lucene/hadoop/branches/branch-0.7/site/index.pdf (original)
+++ lucene/hadoop/branches/branch-0.7/site/index.pdf Wed Oct 11 14:05:38 2006
@@ -5,10 +5,10 @@
 /Producer (FOP 0.20.5) >>
 endobj
 5 0 obj
-<< /Length 1003 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Length 1026 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-Gb!$Ghf%4&&BE](/%dejD4Z6q:9lf>%8E,=WG84mCjQGE.G4dE6IMn6rG8CN7lBDK.'2BYf\E%.&'+JbT1>+>F,lWC$&Y#^@c!7S6+7MbLji28RQ9UEb[l=!2>T5E;0c'@eJW\Rr'5`kXUB@Q3DPL,Huk$kT]e__p(;_3]baN?!`L`+J5Nu#D)brfRMJP?T+mbuD<gL@Sj8P,a.n<UJ:_7VDrX].c(8'BGA)E(mWEcd)ZKc':0jW40+Uc[BB"ZUi#K)$`,TGTN+9,*0-08[8R3lHp"%AA6KAA1XAl@^/bk_>p+^R)pb'k_p4n#mQ?i`"[m\jk*`QOQj2(S;5l8@YF03SgXiDWJB#UMg0qg%5@16T'Kb=VP(;-!QSio<."as)rFFTH8(1'35@/g:>ESQ&dBGcoBDM^eH$t/P79P2OdZ`Q`[&?"_0L.<)@^u7#p6Y/Il@*_)X>VmBWMM?<f)Jp-&!Y=-e4<k,T5l?'R^cjl2#<uu#4GX7TTTo`[7"G6o$CT5C5l,2p;E&D\<dT=[rQ:-H=UZ.uK$jF2!#ZjQTWs6bA>$UqW)eqh]f\e?VH1286$K0$'1lSn!!dZYP*<9e`qB&(0-<o657fEUJO]#BW>5b]!(=Q>&#4ZZPLRZe**Rs+mRk)KWl4uY`$$sDBmJo47+YXW[na=nJ-2a1=]o>3-mJ:?7'&Kq_gsMD_d,p3h."n7JI^V3DQXaT'3?2SZH6ucFoL;G(/:*ma*SlY$d#h4Uc4*_<oK^:Ft6Qc!]][(,hdkYGk-rJ;HXf[E&0,8qX<S^QVF$PrgBA2BOja`(dpm;EmRn"Kr_$P*&rM?Ue4\*fp#M,;^DE0>j<b2kf"V2BY[gb%`G8Yo%Ta1fcqb7I-bXBA\Wdk9;"nNjlC/sDU,WA%N3(`o0!,7[*3,'8qB;\7il)d/BWajr"n-[eorI>)egM5NM7.IrgK*l!lrp3ZG)AM0JbAN9cDVdZ,+4-ceZC>]`hoR<L!c
 G?0Zn>fr53\~>
+Gb!$Ghf"u<&BE]"=*SY_[!DY%%I>[;(/:(FW@Cdf[QP2]1i+FJ"BtK5T5E<W1/7Z`+WG\4G4(Cc_f>ZrQdOm]S0R0)JtgeKR'1$ed/AVAU-B?GAkmXTEuCWaK>(%J<0lSaFb/C'5L;VibM8Y<N0eh(HZanRU$,+hp(;_5I2#NQ!`L`;J5Nu#CcGjPRcZ,ET&eX(D9Ml$Sj8M[a.n<UJ:_7VYN&Jnc$m"-ma1f64mMP1CA?[.HKc>jI<]GJ)Ad:I$dLJR=ZC;(3oa<^gJ^W=F&M-.<P3K2N"Gg1%1AH#GRs3U_*/&(ieKM<l8s8XQo[G(CET\l%Os.mi*bq3J@uppK8`O"57]E33&pEcXZVX1"1Ok+[4Be)0+r!e^h?84BM*%WSQP(g,nDQ>Fr&Gr%qdWZ_pY$.,d(H_dEVgGT-,`*I8YC/n//*tZ5j.RpY8AQeU=hYH]\m&W#:=[)"taRjM1eOhi7fk1QWSXeQ2@;iLPZl>ssC^SbH6I#Z*pAFs+Ra*5I2f>!@]QiIMM3C"Q#\g3:i(q<S;:J%8NO2lnlLI=@O^8B4VI"q7QKBXuiNN!r!\V5+\t@*elY0dp0o(Lo*d(tT_%5(#3Km6J&0"p228TirSSJIM[$[VF5$LfWH:][CDOC4SVT5iblAe-cOD98<)YTjJ@:EM^nme`$Q=@L.tn1Hh++i3'H8AsmCY5R3AkZX&]*]nk&,&@(MZoDkUs32ie#>1EZT%cEmqXqjG@(CaNQ:%-\Fp>dP9<LPM[lON+daZ;5Rf85.riLlDn$WTh$3:K*Wl8B.=_^n*RD"7h@(["fokO-T;<@7%HVJ!>D=jm[<dF"s6eCA0eC?Y^':1,@sP'(t,]-@9X&qD+]kp]9hAFF[ui&(fGi^5QuBfgIGTgjm"IB>X!5L;>pTL,@&jCWFH3dg:EN8T6^ScB3`U\dA,:oJNj1Q;)(m\qndK'V`NAV.LU-6h4n>(^GFC_nI<I%.=^a1)+*o=Wd
 0j"elg(q=.F)q\rp_-$))Tn-[^oO#H:5%j~>
 endstream
 endobj
 6 0 obj
@@ -39,6 +39,7 @@
 36 0 R
 38 0 R
 40 0 R
+42 0 R
 ]
 endobj
 8 0 obj
@@ -54,7 +55,7 @@
 10 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 108.0 541.466 314.12 529.466 ]
+/Rect [ 108.0 541.466 320.12 529.466 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A 11 0 R
@@ -64,7 +65,7 @@
 12 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 108.0 523.266 332.792 511.266 ]
+/Rect [ 108.0 523.266 314.12 511.266 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A 13 0 R
@@ -84,7 +85,7 @@
 16 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 108.0 486.866 326.792 474.866 ]
+/Rect [ 108.0 486.866 332.792 474.866 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A 17 0 R
@@ -94,7 +95,7 @@
 18 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 108.0 468.666 310.136 456.666 ]
+/Rect [ 108.0 468.666 326.792 456.666 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A 19 0 R
@@ -104,7 +105,7 @@
 20 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 108.0 450.466 303.464 438.466 ]
+/Rect [ 108.0 450.466 310.136 438.466 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A 21 0 R
@@ -114,7 +115,7 @@
 22 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 108.0 432.266 297.464 420.266 ]
+/Rect [ 108.0 432.266 303.464 420.266 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A 23 0 R
@@ -124,7 +125,7 @@
 24 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 108.0 414.066 285.824 402.066 ]
+/Rect [ 108.0 414.066 297.464 402.066 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A 25 0 R
@@ -134,7 +135,7 @@
 26 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 108.0 395.866 297.464 383.866 ]
+/Rect [ 108.0 395.866 285.824 383.866 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A 27 0 R
@@ -154,7 +155,7 @@
 30 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 108.0 359.466 308.464 347.466 ]
+/Rect [ 108.0 359.466 302.464 347.466 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A 31 0 R
@@ -164,7 +165,7 @@
 32 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 108.0 341.266 302.464 329.266 ]
+/Rect [ 108.0 341.266 308.464 329.266 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A 33 0 R
@@ -174,7 +175,7 @@
 34 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 108.0 323.066 305.8 311.066 ]
+/Rect [ 108.0 323.066 302.464 311.066 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A 35 0 R
@@ -184,7 +185,7 @@
 36 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 108.0 304.866 283.504 292.866 ]
+/Rect [ 108.0 304.866 305.8 292.866 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A 37 0 R
@@ -194,7 +195,7 @@
 38 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 108.0 286.666 380.128 274.666 ]
+/Rect [ 108.0 286.666 283.504 274.666 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A 39 0 R
@@ -204,7 +205,7 @@
 40 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 108.0 268.466 333.124 256.466 ]
+/Rect [ 108.0 268.466 380.128 256.466 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A 41 0 R
@@ -212,25 +213,33 @@
 >>
 endobj
 42 0 obj
-<< /Length 2236 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 108.0 250.266 333.124 238.266 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 43 0 R
+/H /I
+>>
+endobj
+44 0 obj
+<< /Length 2207 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-Gb!$I9lo&I&;KZM(!J7tBi06[ln.JOl/^2<NFm3EH_;rodR4^R8WK!ah^(]&$VCE@M4Ja70bE^KmLnF[JEj32m&)@t0hH%:^R`bg3F`q\s&bRckgNE@-?M0'Aq)sVj@/be=*=Q7hogemMsR'PratliI.f3]eWI%JV^N^FeN/o=fH4\-M)?X7QeD&uh<\/-.8HJ.+619Vlhmu^p4*']F0)Ofr=?Vt;lY?@c$d,OMaQ_j-o$DOB(;j&Di3jT))$P-#u%iA3$UQ,?Y,>`H2]:+6o&i+s/Oe"b=-[Zc\([GPUO<,.S/ZsR/QhARk^+jgfdOOKS/hRj7)+tfA:&&=Cndnm/8BB2KljZ]%"@sb-$(\(MuO'g/OtDcbjlB/fE&g`s#_J/eB>?X,a#\CNtDV9f*\=R/*aUXGE?Tk8W%:+0'+DW*Qt'4h(<')gP,?5s8,?8gRD(R7*kfk/XNq8rBQYBM_pe[,niOm7Sj0i*6c<Nt92c<#5As0<onOd^>K:S"33n^4_3lduMPZ$Usl/fDC!pDOrF/0,lOCAmc<V8i*3OEmWfZ%5R8LIUCqPbO&8HBu6ce9.</+7pb,X*/,t9$.JHE_0iX[R(?RQ/lD4P^HSf=M@FlUm[*.pf=N_^9^kR2Tn&SP5aei%LQ&^1d$F0kG<KGB3%'=$:@k^Y!ksDcIEs0b!?_C^UTPDG9VT_^L#Rbq>jPG[i5anfiu"p@Y+#J2Wrt%X9m7'XSh"9=8&/MFeZ`Fec`$64;aIQ@>kSVA9:<4NQ]QV%AVd!;0%$NLKq_P1\Elk@RAO])1PoE<8AHe<H;)%Y.*=K+9.u2m&)pLLE#+'XUrB1G\.i;29/Zs?dcQ3[1R4<T^iO&Q$$]%6LmQO\U**sl9@ktNQU0<bG_pfPL.-N#]L3AafqK+-?3U]HnM1sZ[(MWl2[,0%V1]M:BHD`BRHp9XbJ87VQe535/RuF]&hVV-&q+'jWK,sa12@ac52T[skN-Zs>q!j
 >OI*fI@9s:91s6mm-!HauE4VQ]/!eHPaJlXXa^CdI:N.heDb_"2h6#>;Vqd/^m)Ih<Z)LKd?G7/LnFd&*'aS`s6)$`UiaD8"\eY*7h5,8:r-/rUaj@.,>M?GqlrK&jg8jPtr:j)N6Xt#QfM&0e@^feld9^18oBekA^4WoSrfTl`93>T"mQMX@Zj*B,oB#rArc"CG/2`Di_?_>7S'!8_A>`Bi!OIHb`.G:)Q>99)<fl,SAmnW/1;1m_']/C,.M+?c89BYj_;Oe#/75ADb*;_d<,a-NbefZ(D&Hh!P%_Ze3'U\^0LK?;L!=/^/B04ddDBHS?PeUk*Fr3#8I[@H:r8T=bgL/6EcflYF2'4Q+\PQu(?^?B3uM2N&u55#+H%/45l$)7]O!I4cQm2_r,,QSDOFrLFu`DMl$J7k4UF)<f4XcT"=D_L']ls+QC#\CBqh<YRTpPE't@(32*`QekTt1.&QD8b><Vr=0i'm&9B:L-fE:^'\ab5!d5864iS$i"N6]=P(iE=OJUKN*2@cQ$LR$<s(K$W$g]0%?j-;og0)l8VM.o15E!,4bC?kOL%[V@,kEioTiP1</X4cn:o3(@>rO%UI"qE4i_#fDa[]gnTHXRk54_%eEVh%H6_QN@4D*GET>q^WelUf0fBHC6j?hR6W.,E(JlQjm!Di?^\B,3`bW`/HMpT>t:j$ccf1"Mn]X+V:nZ"(!oCNr9R:\;3+EO*]$`)j%3DXF7J:?N7i0*)SPYS#"R:m>nr.on$U7M"O:!?7tW]X!m=@\n?mp$s,T_d\0uc*?hhIoq2*a,pP;Q]um_iJQ_nQ#(aC>Ht-,4)_X0*dhHtKF#1PiG^m(/Z?O]!*)"L:k^u#SZA7bb,fkVkJn8aN^f`LGh[RJ=60W$[k0cJm)4S6<dXb-=51>]Gq>Qs/I&'U@7n,MOJ?(1=)D9-If*VH&S?*n&ssQI'&Z#`Eq+Y8]U5K_6$e"OE]rGAYFrg2Rhp75C"M#"Kd9
 DT9iRh$Gm3FZ2m6WMGM9]WSaGPsAU_8t.\u:b2kF/3JbB"<^A:n>ATVPB?"CSOp4mYjYA7'p0lYs"LXS#cCRusK/1bGe^,p<52=B6i$!6ehF6h[&k0ia5$R2[nEk%C(2M8KX1:65CN;<oo;[9S_8/5r*^bW#I\DT1"reBu:Fn]I^?ET<JSujC"Dm#IG!BZNa[Bk9r]Y#b4E;P'+H[I78W9:1lh^s`G]%R`1[b:FFj*a2[nkea=PmcTDh1(!%_A3~>
+Gau`V9on$e&A@sBW4)nC=HVTUDb8>NO[Ik[#'+C(OM+i$;;9gYhL,7uN+>g+asJDXlN@4iPKS7?%>T6NCA68+p=##D-ms9u^RO?<C.>NLrmAsN0IM-3BHa_X2Z*@h--rn69Jl@eI]kpVSnJ(8o/F!_kHk13Wel*d4%0mSBIPaoY'n-G,[.0`?Y,/KgY"+#=e%H=50A[Zg@8T@9)[p;QH+;Km=4aa/C3G(I^lR><I(P@6r"F^!9JuV]dXbe.\9!;3RGY)!#b;L!Khr_o)s`?KN!"c@",jSGg<qoV[<m"qt4sB/2r#in[LnM?gg>S3SKC\HLD*JeIds1ObX8iI_6234A!fsHC`:faN8*lS.c*a[ojk3@>8n\Rk,pjW9e$fmZb*ghQO4;kmdimh/3.&g)^Xk.[oK_KBNI="<9/<GT<I,gP$if]D>X?du5@LO,=^J1<f3f`0"8iW.GELK6dP%gJt_K0g%Zm[gBE@GPc\*fgSLZ.2Zm6Js4T"!G.Kd+hO-seak2F[>[uV#T?=,VEBXlI0cN;Om=tp-aa=N;Kl-O?[Rmum6LiBbgU*8&A8'oJ1;Es7W0*#oPW:XIIlZoSMUk8<YN)!lB[$;.%bHrajAG"?Ybu''XJJnP3r/gc3YHOPtXNmr$;;6/<)+]D?S_8"As]^bnt8%d>^XZ'-.9TQaX8_U`l!PddqDqL3%Ud$5Nkc;I(CX)RD2[M&&=PQ$(u)ER3VYbaEO:.Aqb'Q,rSaI67kZ,j&6XJqd1$.F0/Z+%!aDB7.3Q4qq'Hj]R#qL5`%Pc67ES6:38ua6;nWOl!$LH._UWV*0_Un.sXilWFDZn?i5nY'N'.gSqV-$(GC.>T6"N27:Kb$MKV1-h$S9d-j/0O2ht_!YkMQcco/InUe-golu;Ep0CPP=HA4[Cc<,`kkB=Qi1V2F=FApGO%\%N0Xf$^&tY;1$X=)%Au>3F!UERCLFIM;1=kJ/#ht/(+o4?.+E^YELWF;h2-t2
 S_"W)kHFm"LGHf*q<Y,(=_2+o,q'F(1=a[ni::_,1[Q])E?W)+iKt`.G?L(AAoGBS:7Xf&aVYDH4H_b"p?KY`OhPae-#j6"YLblfaJd;5e0>=Sr(.Pb>N:k@`U2IHUfpS=tig0]3OC)HhSu.JB-%`@u(5:uLAKZ,[?Qq8k@H7%S!k_kMlg7$$hEemb<Y,%<o-dJh]s/:8BKe_/3U'RL5e8ME;m4.DLMb8S's>LZ(IS>1],&$KP\Y93DToL*PKFU(j_HRX[o_315^4jjKFV:GK>la4>3n%f\(3#$nL,fLTkcB[e7m(X[2;3^]B`jQHml/EQtnE'j(YgO[2;3^qs1KC/emOj]GC7&e:;DPR5M?j[O'<=jSn2_a495/36AMF7*j"50jINI/8!g*$$HKu@YU'JOI^$pnJ':Ve;`uL9I`u:QTY_1>CVJ2KUrna*V-:>nTXOTT;f/].J<3Z.$Gh#_N[)U)=oB^@?"j&5!BZ^BT-S417fhNGnu"9jta$I$Uo@H4fa(.d[nE'(h_H7.<G\1C:2n\m]&j=`MY^3K9fOV1"ifkClgC'E%DKg"ir(31<lMt1Qsp/lW`54]2d"Z0[%SFP.[,tWs;M+[T/AT@,j;%,/'IlFih-S9XOFr)cmN9$CiNj-$W61d7_485YrM!gZm`VN$ceo%Uo2Fn.f>cCZ>MZd'RKj^^UlO&Y4^K0O01$a:UaU*0M36.Yel_U&h<hSFBcDYL;XaRBNip@bU8i(n:cTg!ob/e3HW2?@%*U5F92jZb,n.1[.^6[Yu(-9a`h_Tce9C'a9sXI#YY(1!c$#5Ue&9Y0X@i?ah=a0>6H46#]1:M^..=H`'C[pTiIpOD*`7p,W4;$[=;H;m<!AG,Ed0K:kVAAp6;=8e]n+;9"EFG/DKlpXR9O<n3#8=?YGo8Yhd"+[dD=5R1%SM"RH4Du;1f#E)UnqA"_5@g%")AM1a:9)I/`bI>P4DK#'E3S+3$qt5I)W+FB=$UL
 9M:\ip5lrYgfi*f0)o/dVZA>UJ$b,db@Y;XRMgE'k$TNcs0_CFc(^Ql9NrU<0Vn<MOc/#$:$#<)k78@W^RBO?@)Y&LtnTLIGS.ep>TL%MII!0efp<<2=/'Gj(*">NebclQ+tIq/(CrU>*I?JQ]-4PfA^5>4m<JhdTrZ4HeGnFE8XipjYWmeF'BUR@VJEHbV.fCb/sYg(/u>4)J2=,1PjTt2P!n%JdA5hA*~>
 endstream
 endobj
-43 0 obj
+45 0 obj
 << /Type /Page
 /Parent 1 0 R
 /MediaBox [ 0 0 612 792 ]
 /Resources 3 0 R
-/Contents 42 0 R
-/Annots 44 0 R
+/Contents 44 0 R
+/Annots 46 0 R
 >>
 endobj
-44 0 obj
+46 0 obj
 [
-45 0 R
-46 0 R
 47 0 R
 48 0 R
 49 0 R
@@ -246,23 +255,25 @@
 59 0 R
 60 0 R
 61 0 R
+62 0 R
+63 0 R
 ]
 endobj
-45 0 obj
+47 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 179.988 599.613 241.632 587.613 ]
+/Rect [ 334.98 599.613 396.624 587.613 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
-/A << /URI (http://tinyurl.com/kvd9m)
+/A << /URI (http://tinyurl.com/p7qod)
 /S /URI >>
 /H /I
 >>
 endobj
-46 0 obj
+48 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 410.244 599.613 484.884 587.613 ]
+/Rect [ 116.328 586.413 190.968 574.413 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A << /URI (http://www.apache.org/dyn/closer.cgi/lucene/hadoop/)
@@ -270,21 +281,21 @@
 /H /I
 >>
 endobj
-47 0 obj
+49 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 334.98 548.36 396.624 536.36 ]
+/Rect [ 179.988 535.16 241.632 523.16 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
-/A << /URI (http://tinyurl.com/gyb56)
+/A << /URI (http://tinyurl.com/kvd9m)
 /S /URI >>
 /H /I
 >>
 endobj
-48 0 obj
+50 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 116.328 535.16 190.968 523.16 ]
+/Rect [ 410.244 535.16 484.884 523.16 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A << /URI (http://www.apache.org/dyn/closer.cgi/lucene/hadoop/)
@@ -292,18 +303,18 @@
 /H /I
 >>
 endobj
-49 0 obj
+51 0 obj
 << /Type /Annot
 /Subtype /Link
 /Rect [ 334.98 483.907 396.624 471.907 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
-/A << /URI (http://tinyurl.com/lykp4)
+/A << /URI (http://tinyurl.com/gyb56)
 /S /URI >>
 /H /I
 >>
 endobj
-50 0 obj
+52 0 obj
 << /Type /Annot
 /Subtype /Link
 /Rect [ 116.328 470.707 190.968 458.707 ]
@@ -314,21 +325,21 @@
 /H /I
 >>
 endobj
-51 0 obj
+53 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 179.988 419.454 241.632 407.454 ]
+/Rect [ 334.98 419.454 396.624 407.454 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
-/A << /URI (http://tinyurl.com/r3zoj)
+/A << /URI (http://tinyurl.com/lykp4)
 /S /URI >>
 /H /I
 >>
 endobj
-52 0 obj
+54 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 410.244 419.454 484.884 407.454 ]
+/Rect [ 116.328 406.254 190.968 394.254 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A << /URI (http://www.apache.org/dyn/closer.cgi/lucene/hadoop/)
@@ -336,21 +347,21 @@
 /H /I
 >>
 endobj
-53 0 obj
+55 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 179.988 368.201 241.632 356.201 ]
+/Rect [ 179.988 355.001 241.632 343.001 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
-/A << /URI (http://tinyurl.com/pnml2)
+/A << /URI (http://tinyurl.com/r3zoj)
 /S /URI >>
 /H /I
 >>
 endobj
-54 0 obj
+56 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 410.244 368.201 484.884 356.201 ]
+/Rect [ 410.244 355.001 484.884 343.001 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A << /URI (http://www.apache.org/dyn/closer.cgi/lucene/hadoop/)
@@ -358,21 +369,21 @@
 /H /I
 >>
 endobj
-55 0 obj
+57 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 179.988 316.948 232.308 304.948 ]
+/Rect [ 179.988 303.748 241.632 291.748 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
-/A << /URI (http://tinyurl.com/o35b6)
+/A << /URI (http://tinyurl.com/pnml2)
 /S /URI >>
 /H /I
 >>
 endobj
-56 0 obj
+58 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 400.92 316.948 475.56 304.948 ]
+/Rect [ 410.244 303.748 484.884 291.748 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A << /URI (http://www.apache.org/dyn/closer.cgi/lucene/hadoop/)
@@ -380,21 +391,21 @@
 /H /I
 >>
 endobj
-57 0 obj
+59 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 297.3 265.695 349.62 253.695 ]
+/Rect [ 179.988 252.495 232.308 240.495 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
-/A << /URI (http://tinyurl.com/k9g5c)
+/A << /URI (http://tinyurl.com/o35b6)
 /S /URI >>
 /H /I
 >>
 endobj
-58 0 obj
+60 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 518.232 265.695 523.56 253.695 ]
+/Rect [ 400.92 252.495 475.56 240.495 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A << /URI (http://www.apache.org/dyn/closer.cgi/lucene/hadoop/)
@@ -402,59 +413,57 @@
 /H /I
 >>
 endobj
-59 0 obj
+61 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 90.0 252.495 156.312 240.495 ]
+/Rect [ 297.3 201.242 349.62 189.242 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
-/A << /URI (http://www.apache.org/dyn/closer.cgi/lucene/hadoop/)
+/A << /URI (http://tinyurl.com/k9g5c)
 /S /URI >>
 /H /I
 >>
 endobj
-60 0 obj
+62 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 181.98 201.242 205.98 189.242 ]
+/Rect [ 518.232 201.242 523.56 189.242 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
-/A << /URI (http://wiki.apache.org/lucene-hadoop/FAQ)
+/A << /URI (http://www.apache.org/dyn/closer.cgi/lucene/hadoop/)
 /S /URI >>
 /H /I
 >>
 endobj
-61 0 obj
+63 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 297.3 149.989 349.62 137.989 ]
+/Rect [ 90.0 188.042 156.312 176.042 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
-/A << /URI (http://tinyurl.com/l6on4)
+/A << /URI (http://www.apache.org/dyn/closer.cgi/lucene/hadoop/)
 /S /URI >>
 /H /I
 >>
 endobj
-62 0 obj
-<< /Length 2532 /Filter [ /ASCII85Decode /FlateDecode ]
+64 0 obj
+<< /Length 2750 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-GauHN99\-f&AIV:0XjkI'MFbii0FL(</OKqfd[KI_..7m*;gXicS#+`C"m..-!ME$:`PXW2!V9VeSe1=4PYAbE;/N9FUmp(h-K(SfC=82roTsPr/ui"Lk%OoFEVjmhn?Qm5QemIe#q^le8[[cF"RS^&FOS:E%#57(JO5WN_;\N3)@i_Jc=35J3uTnYTI<=K*/cA`<FO74qKpmcEAln):uL`YFXRAL\EUm-G*"QYqEg36C8>"hP2S4UTbC\P./Nt\uIFS])B$C:+KFgRTp?:\doeG%G.?3"nP:c<;gN'W!a:m=`9`FD#3r+>fq!32m2Ir4"Y69bIE\`L.d'K[#?*e/<>"c`7M*&":[r<K@),1:,m8$CfF\d<tJ0S62H@HekA341<IkA6p!hB5#85-p6TTW8m-/6X2h;(9NrlIn#IAJ'!-GD`1TbhB.ZH.b>c*6D#HblVAc@15$b<\;bof?cr%KiN8&D*)e>W=c4S&b.U0DoUi.K?7G=NDpc)b)M>RpP\Kh5gKu6:YT:"?#3Tre;9diQnj;=3g.pmo:nFbU[^,$%I!$D?8YV<FO.!ZOVOuKQS$\:0DU8,d:%nF/C$;"JtM]MYgg4?q0M7d;)=,#bA39MPRH?O;FfSZ7.-5nV#(9rji!T,X(eeuaV4;/nQA;b.K8gNY9RPp6h<oGO/3C'MF#T=;k2on#m,#PH[>(Psf[%<qEcNk2H9$e8t*^ptC6i;=1Jd**18^KeC_BOGEJef=Y/ddpXFJ")G#j@a1)leu[+1/+u74B$Y6Cp%dN\=(Bc\J+T&^M%q7!oQYE',4'P`Vr:/YR@(^rikC6B_Xn%GZ*/1C/U5+<W.]Ak,\7Ng*Z$j]"3+ifjCR-<qsM/EioP8t\=5;@;5UQSbA-iP#)P;<XU![Bmhi'+3`699LWSN[8%F3JZN>"B7h9%IF^*F#]=,;:h:?!udOm&R8m*K.mQ2U<AYt(3pWDP1SR7.TgfhC9HVp5XO((\WS,
 n'`TL[hUKa>0Hq[<C*E]g[\QM*D$K04&H3Ik5[:'Q=eXUfB8+o+mVtHn<+UF#T4aTMHGF"ZA,I`pLe8AcHM7hNfq-<*V`V99ZB/YP/B'RBU"GE0cP!VM`8d^P1aCYEVb]'2-dj3VGP@`=gu^fGC?*%6_9aZ/+o,NWJEg#W]q;V(33CIRUe@PpgYtA<hi@G-<iK].ceCL+l;J<]2o7R3-%ON7V]\jPeBXp2320f;<i_S/V;iMto:87%"pC^6cPKW<.90VDZ+QAtSdlW741\c9UAjWL*ni'_3RXKdd2"YZ:8)(_X<#$k!*F9Mc>l+40G>WAd(/c62H-E?f<;XX#'@m:>\>sM#Rq'uG2<$2Gt1a`YJ&7(@I`UJ`J_8\(3lj(H-7iqY>9;,hc.>RNTCPJ'-6*Tkc"2=B.[I3KOGFs`M]*CP1KA1NUuuWEEZA?R4at]&bB/T;sUre_=2g`4!65=p$FL\!q[OX2YHkQ"Xu[ce:lb)`(+IDHA1NLG#LT@d9ZP2*D#V`F'Pnj2.^qj[^fGSZTN*+:,"(CDXCjp3!f,q+KoKSXk4]Tk,NNliAKYegT$(a/;\FAQ..R,NL=h?p`YT//dHBih$7qTpCs5o4.D24:ls+>oi1'RS?BAna_Q-+=lmBi\7.^V@K2p1KtslB""BE0&K7(=lY\9".loS-Ms*42)2(<&j^-Tui<FiJ.2'/E>@\c0&B8YBF.k9P6kF1pNg7eANq]hmmVA6hFBmbb\a,bt&-fs)qtX((Y6m@R,'bIOEGb?caM[5Nb%k_`1E]"M4R-hr=-4\Hqj:`Zr"LVAN&&684@`+hRA'HXZ/=R8r\H/Z0LF^\IbaRhVl)j>9mj1pPQll0jec@bC+37/Y>3ef:d?o'8%!X*mkNO'hpAiE=CuE-.1s<-^Q>GQ?'9KSM5`Y'jpf0jT2Ih)Xuqo)#UXXI.YWA!J*75PpPq)uCs&Fr$GM0H:qY7,=fS/?$[hke%:tVe(_9R\($I
 Qg>H4W)d1Vhqn6#OCqu,f=/D9-cnafQ>2E=qk08$:A6?_Z^/+Y"L3W65]P$<XklS,Kg`qZ_fQ^-5%1E:R7!7BkRhTai^XX3s0Xd3O'fWe4lncqSDio:(*Id.o<5*r7MPq,8/CSK0_HVjJoU8gD=(g%b(3T>G$FO(AMQG<Xu8"%K?76BibH.KG!bsCKOc!8T#[@+(*fLPn*aQS*ONOXiS+%HO()Eu)^Enh]PVn2^K':d-=r@:]ZpNd/k'8pc%H<1[GGmdsYj#N5J>(?J>eoH[&73pU5"PEU?;m+dcZadsDelSda;L=scXgLZM/=4V&.gn-skKZgI7bFZ?*[@V6BpE+=#:%Y$]1lVKS.P,E]]9&tLU(T@R*:bok]I<,"U]W8?C4n+W*ee3j"T,R\cE,WZ,.e\FB77Z<i1fQ,>Q,6_Z&Sl3%JS^&tZ[eMa5s(!R0Bps$d8B1VsGYBQEq1m;6ulY(n>,nA=TWIUdt).r]M`XY/Hf/7/'"@p4Abp?g>jAT?A5Y94q'Lf0K@OUW1;=S06F[$H]Q+/bccMu+GFJ]!l~>
+GauHN99\En'#++D0K4df@D-K&DZ`Y=5qp6mFMo49%dpX&b2>dlmHU;BpS;/:b-kQX?%SH2M7-Xb1/l?no&9E,l/B7PL]9P7mf\-TIu&L3HU/4Y^I#@nIjI*"M@$K7hXeY2&)Z0t^aNW)p",8QUC;VAFF<Si9g8KK?GB>m')9=jb.[h&ri\:1bKC]PciJQ$PcrQR3Nf98p^?OLn*,U6P9/$Hja6HI.S:lgW0@QQbrt2^r$(`[U1EK$H67LqL:u-Z1O9oIUtOe?T*L5*!X"H`P"Eb+R>u'B/C57i/s$#t^MD+D1+t:2oXdJY?S^I$cNY,uILJB^qZF5:P;*\Jegj&nooV"MqXK>VTtd*=RI:C\Ql[b@;qi[i:iu=_ELOkmRDr<93s-3C']J6c>S,k5#?uPI&h[n%rKD@FWI=I"O3cG,1&\IU*Ei>C<msF1)c.P@e_7S8m;ONjKnP))5,"WUmVr^HY(V),a/MN:AE)Pf(FPQn\VsRhfTs+%&9A*hOastS7V/Kg8DU@0Xb;4U6n?[\5FqJ%B-#t5>pfD:q$]2^k[]!\XNK=<<0A`J3(%j]`eb,l\t993)<,+nc<[7R8CWKk&9bhik)Jt;LOH2OWfp9C\9`UFOkC/PPpEgb/Ks0p63`+l*Qh,]OhQ*E<Gb8Yr*Y+FX2us1OqLMq7Y\,qEZOk'&XInW@7aSB,&o8E8KJEHr4b^'`?Di?)H1re]HMJo5Ns)SPie=4HqB7Fo]i0O@p-XV"1Gm,`*c6,V%#bLMo7Z:FF-HH,aP5m^CEbDRg2e)N92.'gfu@8s5i#C6D?_r0Lc0NK8_BLE(jm#lsa%KJlLUff=;TW)u/0.(D*n^!"fFNS&u1KoJKj8^?Yn`@A9TJ1W'PC8;->Gj+OZH4'/Ru`'@A5k]IBm$KTqCQOnNSTd8<42:G<rkpB-NOBYRs;q)FFf`71)7#E"rNZ4+\:51["[NB?"["p\=IUEGM+jZp>U#3n/G7c[DYG1B
 D=O;C$>(gjF6EUoB8&2/oj\_eM""I!&eSc;dUI3,N]#!oj2nSmIEt3>e#bh(s`M$fM_QFRlhs:ZW&H`oc?#._rJCMs'QF_U6D#ajO1+3R%#Y%t''<1;r2+L3EnulT@AI9,,lEp"YTUR&QL$An66U3fpGNMh;Jchr;a#CUK:P47p3]l/cJ6&Ju(:f)0EsTjEgfJBLWAkm,,#u+1fblUPK-[rUC]Q9F!"a*BD;N%0YM"g*FVh@g(9P<qPq7O<JK(cQleV=6<-_Os/&3gJ;Bo2!O9E1odYE,s)Fau37LI(Y&n)5[i\\-ea<Rhmo<N&Tg"XBLg(%3nIZ@bl%T/2eeukTqQ/,,o/)@q@f"!E%H7cjV,Y0mu]c^ueM8s`pZ]*i>]_nLflTmUSpug\X4f<RadqX&4Bn+NbW/uJT>sNS4OPR*SF.Su+B[G7nQFj8jK;(bok>7D"F\NtP<Uqt[a(>[_+OgClND<'>OI8&>37+<@NAe,p>Y6MJD9H3OW#5`5U>lV/`'b@#<hupoP,I8hM3]2aR]+!5\o4K066PRtLJmZfMjmP)Fj:>D-3-F@[OlOQPH[&8.%tYt\*n.eMS4JF`1K?)_UQ#u-%q^Q8AD:`pZQD$,(89i^4A_RD^I+i.1&`6''jV+GF'f(mRggX^?!6:-R"g<4s\e'F#ZH,h3o<fUjbufbj+dq&'Ii@FspN-l8:Z*H5k!7*dAY3"q#,.rEZh42n[gDjc:hBpcbIU<6bS0?@1ESHli^_aX\VtN<%4SoQ,/7X,X-V85JCqZP%MO-+222=9KAQ@e\G-/<#CgJpY6Y3OH,qhR_QZ;s&(`*o[Us3`J.XoT!ih>X<`!$W&d85RiHn9#.;_]<:%a+JY.k[E-KMfl4[9XF@[b.=H'C14rE'RqF`)n8tMaMR7h`67-QM)om3B`Wg,hh3PL"Qu-NI(Z#G*6Xd;9.9mq'4q+XqHD=4BAURE=^=iK>^]N3R@_&\;pTnj*&d7p*U]n
 \Q6f7bEOMGca4)IF_C:M3aedj#"Xl$"W[FT7#Td8SRfV,J$MU_$&I]`2tW+[npJp1@PMX2NU)$FE`_=RXV:+ss\i,Lt6qU"FTf6&++**K+m->'ri\+3](2j'@AX#J*C+*F^>ZLVYq\*MGgG%B^u@L=Ba^_8I:]PBS&S=$gc1oh5Voodr9\hPOac9)Hl;VU[:SNlVB+(C4JG&aHH6&4qkV!k*AXCY6R!\M0T79TLb4q]3##3[o=4]ulud14O$iO8@^fDFYEh.4]1j3KqqS&<pMH(jk//@p&Pb(*4jk@4OipF:%C@@X$(mD!LC>%%)#ES*PY7%NZ:H/Y>hV=F;e8f)L8`kKBH59M.OLBgedT8X#MY=509isO2nQmdU0$PK)>WN8i?"qbKBcC"(PcC$uI'$^OW-YAfed51K\/8Z:fF3n(W\un!J\?;kIfL>a^A5K62(XtiBLa*#p%I`?BE8DZQQ`Bsh+#&g_\g^J8oQgl1GSlBG%uT^g4"(W\o_B;oduW+50$s3FpYS"A&_`%nop#M=?[^%tCW%EO0]"mE8q>Tq'X$/Y$)Eulh\r'3_fN=Gjs^T9\^_kY-"YI`.Ei95hFWDn.LH89RU@36lhSaOo$_RIIRq>\h=Cr:mBIbRA#HBu,@IHh&H?1[Q:;]]b#?'i1WTYL'[lj($5.SjH:i]6KE$@(?J_]r.KDT]*lbCF9;X*+3]T>4pYA'HlXG*br`C52f4!1\^NhA]+J<?q$\Gh[+ko5'Z>9*6CL+VI;$7-u-RL+<O8~>
 endstream
 endobj
-63 0 obj
+65 0 obj
 << /Type /Page
 /Parent 1 0 R
 /MediaBox [ 0 0 612 792 ]
 /Resources 3 0 R
-/Contents 62 0 R
-/Annots 64 0 R
+/Contents 64 0 R
+/Annots 66 0 R
 >>
 endobj
-64 0 obj
+66 0 obj
 [
-65 0 R
-66 0 R
 67 0 R
 68 0 R
 69 0 R
@@ -464,12 +473,39 @@
 73 0 R
 74 0 R
 75 0 R
+76 0 R
+77 0 R
+78 0 R
+79 0 R
+80 0 R
 ]
 endobj
-65 0 obj
+67 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 181.98 660.8 205.98 648.8 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A << /URI (http://wiki.apache.org/lucene-hadoop/FAQ)
+/S /URI >>
+/H /I
+>>
+endobj
+68 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 297.3 609.547 349.62 597.547 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A << /URI (http://tinyurl.com/l6on4)
+/S /URI >>
+/H /I
+>>
+endobj
+69 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 90.0 664.8 156.312 652.8 ]
+/Rect [ 518.232 609.547 523.56 597.547 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A << /URI (http://www.apache.org/dyn/closer.cgi/lucene/hadoop/)
@@ -477,10 +513,21 @@
 /H /I
 >>
 endobj
-66 0 obj
+70 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 223.968 600.347 276.288 588.347 ]
+/Rect [ 90.0 596.347 156.312 584.347 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A << /URI (http://www.apache.org/dyn/closer.cgi/lucene/hadoop/)
+/S /URI >>
+/H /I
+>>
+endobj
+71 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 223.968 531.894 276.288 519.894 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A << /URI (http://tinyurl.com/rq3f7)
@@ -488,10 +535,10 @@
 /H /I
 >>
 endobj
-67 0 obj
+72 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 444.9 600.347 519.54 588.347 ]
+/Rect [ 444.9 531.894 519.54 519.894 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A << /URI (http://www.apache.org/dyn/closer.cgi/lucene/hadoop/)
@@ -499,10 +546,10 @@
 /H /I
 >>
 endobj
-68 0 obj
+73 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 333.3 549.094 385.62 537.094 ]
+/Rect [ 333.3 480.641 385.62 468.641 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A << /URI (http://tinyurl.com/rnnvz)
@@ -510,10 +557,10 @@
 /H /I
 >>
 endobj
-69 0 obj
+74 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 116.328 535.894 190.968 523.894 ]
+/Rect [ 116.328 467.441 190.968 455.441 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A << /URI (http://www.apache.org/dyn/closer.cgi/lucene/hadoop/)
@@ -521,10 +568,10 @@
 /H /I
 >>
 endobj
-70 0 obj
+75 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 161.988 458.241 214.308 446.241 ]
+/Rect [ 161.988 389.788 214.308 377.788 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A << /URI (http://tinyurl.com/qkgsg)
@@ -532,10 +579,10 @@
 /H /I
 >>
 endobj
-71 0 obj
+76 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 434.244 458.241 508.884 446.241 ]
+/Rect [ 434.244 389.788 508.884 377.788 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A << /URI (http://www.apache.org/dyn/closer.cgi/lucene/hadoop/)
@@ -543,10 +590,10 @@
 /H /I
 >>
 endobj
-72 0 obj
+77 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 360.936 406.988 381.588 394.988 ]
+/Rect [ 360.936 338.535 381.588 326.535 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A << /URI (http://www.apache.org/dyn/closer.cgi/lucene/hadoop/)
@@ -554,10 +601,10 @@
 /H /I
 >>
 endobj
-73 0 obj
+78 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 383.304 355.735 501.948 343.735 ]
+/Rect [ 383.304 287.282 501.948 275.282 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A << /URI (http://cvs.apache.org/dist/lucene/hadoop/nightly/)
@@ -565,10 +612,10 @@
 /H /I
 >>
 endobj
-74 0 obj
+79 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 90.0 342.535 185.316 330.535 ]
+/Rect [ 90.0 274.082 185.316 262.082 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A << /URI (http://cvs.apache.org/dist/lucene/hadoop/nightly/)
@@ -576,10 +623,10 @@
 /H /I
 >>
 endobj
-75 0 obj
+80 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 359.964 329.335 397.284 317.335 ]
+/Rect [ 359.964 260.882 397.284 248.882 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A << /URI (docs/api/)
@@ -587,177 +634,200 @@
 /H /I
 >>
 endobj
-77 0 obj
+81 0 obj
+<< /Length 386 /Filter [ /ASCII85Decode /FlateDecode ]
+ >>
+stream
+Gat%\b>,r/&4Q?mMIG*h(i7f6-VK=FL_Y_:/:`Fgg]qTSO9Q8GO7ObXlqlcafCmu]F63Y</D(mTYR]uVjW$9oXi"LC[m-,Z,r?*<fH$I]p\!3k5fdnAX;LDaGk_CMKd9N:"iVN(-ekZodnnrV9PiKbmPBa3nZQi`-F\0easaH1l$\OiG_Y3)UeAd*FlCAKV$3%0@)NJ-b_PNi[p/^BlYMNrgh7"XTpm,a(nZc,4bR^EILa1')B&p$Pgf_9*<Cu2/Pq7pAM_CBAnLDfeujMCX(2@L7t?suUF<r,LbRE`R0pif_<Snh?d3c-kolIrU[f[%6mXjkW/?Rmik2_C<8[RQqe;P\ADuFHd^E@e@8aPg7F>`i'($13q/@WLG2I;JNA^~>
+endstream
+endobj
+82 0 obj
+<< /Type /Page
+/Parent 1 0 R
+/MediaBox [ 0 0 612 792 ]
+/Resources 3 0 R
+/Contents 81 0 R
+>>
+endobj
+84 0 obj
 <<
  /Title (\376\377\0\61\0\40\0\116\0\145\0\167\0\163)
- /Parent 76 0 R
- /First 78 0 R
- /Last 93 0 R
- /Count -16
+ /Parent 83 0 R
+ /First 85 0 R
+ /Last 101 0 R
+ /Count -17
  /A 9 0 R
 >> endobj
-78 0 obj
+85 0 obj
 <<
- /Title (\376\377\0\61\0\56\0\61\0\40\0\66\0\40\0\117\0\143\0\164\0\157\0\142\0\145\0\162\0\54\0\40\0\62\0\60\0\60\0\66\0\72\0\40\0\162\0\145\0\154\0\145\0\141\0\163\0\145\0\40\0\60\0\56\0\67\0\56\0\60\0\40\0\141\0\166\0\141\0\151\0\154\0\141\0\142\0\154\0\145)
- /Parent 77 0 R
- /Next 79 0 R
+ /Title (\376\377\0\61\0\56\0\61\0\40\0\61\0\61\0\40\0\117\0\143\0\164\0\157\0\142\0\145\0\162\0\54\0\40\0\62\0\60\0\60\0\66\0\72\0\40\0\162\0\145\0\154\0\145\0\141\0\163\0\145\0\40\0\60\0\56\0\67\0\56\0\61\0\40\0\141\0\166\0\141\0\151\0\154\0\141\0\142\0\154\0\145)
+ /Parent 84 0 R
+ /Next 86 0 R
  /A 11 0 R
 >> endobj
-79 0 obj
+86 0 obj
 <<
- /Title (\376\377\0\61\0\56\0\62\0\40\0\61\0\70\0\40\0\123\0\145\0\160\0\164\0\145\0\155\0\142\0\145\0\162\0\54\0\40\0\62\0\60\0\60\0\66\0\72\0\40\0\162\0\145\0\154\0\145\0\141\0\163\0\145\0\40\0\60\0\56\0\66\0\56\0\62\0\40\0\141\0\166\0\141\0\151\0\154\0\141\0\142\0\154\0\145)
- /Parent 77 0 R
- /Prev 78 0 R
- /Next 80 0 R
+ /Title (\376\377\0\61\0\56\0\62\0\40\0\66\0\40\0\117\0\143\0\164\0\157\0\142\0\145\0\162\0\54\0\40\0\62\0\60\0\60\0\66\0\72\0\40\0\162\0\145\0\154\0\145\0\141\0\163\0\145\0\40\0\60\0\56\0\67\0\56\0\60\0\40\0\141\0\166\0\141\0\151\0\154\0\141\0\142\0\154\0\145)
+ /Parent 84 0 R
+ /Prev 85 0 R
+ /Next 87 0 R
  /A 13 0 R
 >> endobj
-80 0 obj
+87 0 obj
 <<
- /Title (\376\377\0\61\0\56\0\63\0\40\0\61\0\63\0\40\0\123\0\145\0\160\0\164\0\145\0\155\0\142\0\145\0\162\0\54\0\40\0\62\0\60\0\60\0\66\0\72\0\40\0\162\0\145\0\154\0\145\0\141\0\163\0\145\0\40\0\60\0\56\0\66\0\56\0\61\0\40\0\141\0\166\0\141\0\151\0\154\0\141\0\142\0\154\0\145)
- /Parent 77 0 R
- /Prev 79 0 R
- /Next 81 0 R
+ /Title (\376\377\0\61\0\56\0\63\0\40\0\61\0\70\0\40\0\123\0\145\0\160\0\164\0\145\0\155\0\142\0\145\0\162\0\54\0\40\0\62\0\60\0\60\0\66\0\72\0\40\0\162\0\145\0\154\0\145\0\141\0\163\0\145\0\40\0\60\0\56\0\66\0\56\0\62\0\40\0\141\0\166\0\141\0\151\0\154\0\141\0\142\0\154\0\145)
+ /Parent 84 0 R
+ /Prev 86 0 R
+ /Next 88 0 R
  /A 15 0 R
 >> endobj
-81 0 obj
+88 0 obj
 <<
- /Title (\376\377\0\61\0\56\0\64\0\40\0\70\0\40\0\123\0\145\0\160\0\164\0\145\0\155\0\142\0\145\0\162\0\54\0\40\0\62\0\60\0\60\0\66\0\72\0\40\0\162\0\145\0\154\0\145\0\141\0\163\0\145\0\40\0\60\0\56\0\66\0\56\0\60\0\40\0\141\0\166\0\141\0\151\0\154\0\141\0\142\0\154\0\145)
- /Parent 77 0 R
- /Prev 80 0 R
- /Next 82 0 R
+ /Title (\376\377\0\61\0\56\0\64\0\40\0\61\0\63\0\40\0\123\0\145\0\160\0\164\0\145\0\155\0\142\0\145\0\162\0\54\0\40\0\62\0\60\0\60\0\66\0\72\0\40\0\162\0\145\0\154\0\145\0\141\0\163\0\145\0\40\0\60\0\56\0\66\0\56\0\61\0\40\0\141\0\166\0\141\0\151\0\154\0\141\0\142\0\154\0\145)
+ /Parent 84 0 R
+ /Prev 87 0 R
+ /Next 89 0 R
  /A 17 0 R
 >> endobj
-82 0 obj
+89 0 obj
 <<
- /Title (\376\377\0\61\0\56\0\65\0\40\0\64\0\40\0\101\0\165\0\147\0\165\0\163\0\164\0\54\0\40\0\62\0\60\0\60\0\66\0\72\0\40\0\162\0\145\0\154\0\145\0\141\0\163\0\145\0\40\0\60\0\56\0\65\0\56\0\60\0\40\0\141\0\166\0\141\0\151\0\154\0\141\0\142\0\154\0\145)
- /Parent 77 0 R
- /Prev 81 0 R
- /Next 83 0 R
+ /Title (\376\377\0\61\0\56\0\65\0\40\0\70\0\40\0\123\0\145\0\160\0\164\0\145\0\155\0\142\0\145\0\162\0\54\0\40\0\62\0\60\0\60\0\66\0\72\0\40\0\162\0\145\0\154\0\145\0\141\0\163\0\145\0\40\0\60\0\56\0\66\0\56\0\60\0\40\0\141\0\166\0\141\0\151\0\154\0\141\0\142\0\154\0\145)
+ /Parent 84 0 R
+ /Prev 88 0 R
+ /Next 90 0 R
  /A 19 0 R
 >> endobj
-83 0 obj
+90 0 obj
 <<
- /Title (\376\377\0\61\0\56\0\66\0\40\0\62\0\70\0\40\0\112\0\165\0\156\0\145\0\54\0\40\0\62\0\60\0\60\0\66\0\72\0\40\0\162\0\145\0\154\0\145\0\141\0\163\0\145\0\40\0\60\0\56\0\64\0\56\0\60\0\40\0\141\0\166\0\141\0\151\0\154\0\141\0\142\0\154\0\145)
- /Parent 77 0 R
- /Prev 82 0 R
- /Next 84 0 R
+ /Title (\376\377\0\61\0\56\0\66\0\40\0\64\0\40\0\101\0\165\0\147\0\165\0\163\0\164\0\54\0\40\0\62\0\60\0\60\0\66\0\72\0\40\0\162\0\145\0\154\0\145\0\141\0\163\0\145\0\40\0\60\0\56\0\65\0\56\0\60\0\40\0\141\0\166\0\141\0\151\0\154\0\141\0\142\0\154\0\145)
+ /Parent 84 0 R
+ /Prev 89 0 R
+ /Next 91 0 R
  /A 21 0 R
 >> endobj
-84 0 obj
+91 0 obj
 <<
- /Title (\376\377\0\61\0\56\0\67\0\40\0\71\0\40\0\112\0\165\0\156\0\145\0\54\0\40\0\62\0\60\0\60\0\66\0\72\0\40\0\162\0\145\0\154\0\145\0\141\0\163\0\145\0\40\0\60\0\56\0\63\0\56\0\62\0\40\0\141\0\166\0\141\0\151\0\154\0\141\0\142\0\154\0\145)
- /Parent 77 0 R
- /Prev 83 0 R
- /Next 85 0 R
+ /Title (\376\377\0\61\0\56\0\67\0\40\0\62\0\70\0\40\0\112\0\165\0\156\0\145\0\54\0\40\0\62\0\60\0\60\0\66\0\72\0\40\0\162\0\145\0\154\0\145\0\141\0\163\0\145\0\40\0\60\0\56\0\64\0\56\0\60\0\40\0\141\0\166\0\141\0\151\0\154\0\141\0\142\0\154\0\145)
+ /Parent 84 0 R
+ /Prev 90 0 R
+ /Next 92 0 R
  /A 23 0 R
 >> endobj
-85 0 obj
+92 0 obj
 <<
- /Title (\376\377\0\61\0\56\0\70\0\40\0\70\0\40\0\112\0\165\0\156\0\145\0\54\0\40\0\62\0\60\0\60\0\66\0\72\0\40\0\106\0\101\0\121\0\40\0\141\0\144\0\144\0\145\0\144\0\40\0\164\0\157\0\40\0\127\0\151\0\153\0\151)
- /Parent 77 0 R
- /Prev 84 0 R
- /Next 86 0 R
+ /Title (\376\377\0\61\0\56\0\70\0\40\0\71\0\40\0\112\0\165\0\156\0\145\0\54\0\40\0\62\0\60\0\60\0\66\0\72\0\40\0\162\0\145\0\154\0\145\0\141\0\163\0\145\0\40\0\60\0\56\0\63\0\56\0\62\0\40\0\141\0\166\0\141\0\151\0\154\0\141\0\142\0\154\0\145)
+ /Parent 84 0 R
+ /Prev 91 0 R
+ /Next 93 0 R
  /A 25 0 R
 >> endobj
-86 0 obj
+93 0 obj
 <<
- /Title (\376\377\0\61\0\56\0\71\0\40\0\65\0\40\0\112\0\165\0\156\0\145\0\54\0\40\0\62\0\60\0\60\0\66\0\72\0\40\0\162\0\145\0\154\0\145\0\141\0\163\0\145\0\40\0\60\0\56\0\63\0\56\0\61\0\40\0\141\0\166\0\141\0\151\0\154\0\141\0\142\0\154\0\145)
- /Parent 77 0 R
- /Prev 85 0 R
- /Next 87 0 R
+ /Title (\376\377\0\61\0\56\0\71\0\40\0\70\0\40\0\112\0\165\0\156\0\145\0\54\0\40\0\62\0\60\0\60\0\66\0\72\0\40\0\106\0\101\0\121\0\40\0\141\0\144\0\144\0\145\0\144\0\40\0\164\0\157\0\40\0\127\0\151\0\153\0\151)
+ /Parent 84 0 R
+ /Prev 92 0 R
+ /Next 94 0 R
  /A 27 0 R
 >> endobj
-87 0 obj
+94 0 obj
 <<
- /Title (\376\377\0\61\0\56\0\61\0\60\0\40\0\62\0\40\0\112\0\165\0\156\0\145\0\54\0\40\0\62\0\60\0\60\0\66\0\72\0\40\0\162\0\145\0\154\0\145\0\141\0\163\0\145\0\40\0\60\0\56\0\63\0\56\0\60\0\40\0\141\0\166\0\141\0\151\0\154\0\141\0\142\0\154\0\145)
- /Parent 77 0 R
- /Prev 86 0 R
- /Next 88 0 R
+ /Title (\376\377\0\61\0\56\0\61\0\60\0\40\0\65\0\40\0\112\0\165\0\156\0\145\0\54\0\40\0\62\0\60\0\60\0\66\0\72\0\40\0\162\0\145\0\154\0\145\0\141\0\163\0\145\0\40\0\60\0\56\0\63\0\56\0\61\0\40\0\141\0\166\0\141\0\151\0\154\0\141\0\142\0\154\0\145)
+ /Parent 84 0 R
+ /Prev 93 0 R
+ /Next 95 0 R
  /A 29 0 R
 >> endobj
-88 0 obj
+95 0 obj
 <<
- /Title (\376\377\0\61\0\56\0\61\0\61\0\40\0\61\0\62\0\40\0\115\0\141\0\171\0\54\0\40\0\62\0\60\0\60\0\66\0\72\0\40\0\162\0\145\0\154\0\145\0\141\0\163\0\145\0\40\0\60\0\56\0\62\0\56\0\61\0\40\0\141\0\166\0\141\0\151\0\154\0\141\0\142\0\154\0\145)
- /Parent 77 0 R
- /Prev 87 0 R
- /Next 89 0 R
+ /Title (\376\377\0\61\0\56\0\61\0\61\0\40\0\62\0\40\0\112\0\165\0\156\0\145\0\54\0\40\0\62\0\60\0\60\0\66\0\72\0\40\0\162\0\145\0\154\0\145\0\141\0\163\0\145\0\40\0\60\0\56\0\63\0\56\0\60\0\40\0\141\0\166\0\141\0\151\0\154\0\141\0\142\0\154\0\145)
+ /Parent 84 0 R
+ /Prev 94 0 R
+ /Next 96 0 R
  /A 31 0 R
 >> endobj
-89 0 obj
+96 0 obj
 <<
- /Title (\376\377\0\61\0\56\0\61\0\62\0\40\0\65\0\40\0\115\0\141\0\171\0\54\0\40\0\62\0\60\0\60\0\66\0\72\0\40\0\162\0\145\0\154\0\145\0\141\0\163\0\145\0\40\0\60\0\56\0\62\0\56\0\60\0\40\0\141\0\166\0\141\0\151\0\154\0\141\0\142\0\154\0\145)
- /Parent 77 0 R
- /Prev 88 0 R
- /Next 90 0 R
+ /Title (\376\377\0\61\0\56\0\61\0\62\0\40\0\61\0\62\0\40\0\115\0\141\0\171\0\54\0\40\0\62\0\60\0\60\0\66\0\72\0\40\0\162\0\145\0\154\0\145\0\141\0\163\0\145\0\40\0\60\0\56\0\62\0\56\0\61\0\40\0\141\0\166\0\141\0\151\0\154\0\141\0\142\0\154\0\145)
+ /Parent 84 0 R
+ /Prev 95 0 R
+ /Next 97 0 R
  /A 33 0 R
 >> endobj
-90 0 obj
+97 0 obj
 <<
- /Title (\376\377\0\61\0\56\0\61\0\63\0\40\0\62\0\40\0\101\0\160\0\162\0\151\0\154\0\54\0\40\0\62\0\60\0\60\0\66\0\72\0\40\0\162\0\145\0\154\0\145\0\141\0\163\0\145\0\40\0\60\0\56\0\61\0\56\0\60\0\40\0\141\0\166\0\141\0\151\0\154\0\141\0\142\0\154\0\145)
- /Parent 77 0 R
- /Prev 89 0 R
- /Next 91 0 R
+ /Title (\376\377\0\61\0\56\0\61\0\63\0\40\0\65\0\40\0\115\0\141\0\171\0\54\0\40\0\62\0\60\0\60\0\66\0\72\0\40\0\162\0\145\0\154\0\145\0\141\0\163\0\145\0\40\0\60\0\56\0\62\0\56\0\60\0\40\0\141\0\166\0\141\0\151\0\154\0\141\0\142\0\154\0\145)
+ /Parent 84 0 R
+ /Prev 96 0 R
+ /Next 98 0 R
  /A 35 0 R
 >> endobj
-91 0 obj
+98 0 obj
 <<
- /Title (\376\377\0\61\0\56\0\61\0\64\0\40\0\66\0\40\0\106\0\145\0\142\0\162\0\165\0\141\0\162\0\171\0\54\0\40\0\62\0\60\0\60\0\66\0\72\0\40\0\156\0\151\0\147\0\150\0\164\0\154\0\171\0\40\0\142\0\165\0\151\0\154\0\144\0\163)
- /Parent 77 0 R
- /Prev 90 0 R
- /Next 92 0 R
+ /Title (\376\377\0\61\0\56\0\61\0\64\0\40\0\62\0\40\0\101\0\160\0\162\0\151\0\154\0\54\0\40\0\62\0\60\0\60\0\66\0\72\0\40\0\162\0\145\0\154\0\145\0\141\0\163\0\145\0\40\0\60\0\56\0\61\0\56\0\60\0\40\0\141\0\166\0\141\0\151\0\154\0\141\0\142\0\154\0\145)
+ /Parent 84 0 R
+ /Prev 97 0 R
+ /Next 99 0 R
  /A 37 0 R
 >> endobj
-92 0 obj
+99 0 obj
 <<
- /Title (\376\377\0\61\0\56\0\61\0\65\0\40\0\63\0\40\0\106\0\145\0\142\0\162\0\165\0\141\0\162\0\171\0\54\0\40\0\62\0\60\0\60\0\66\0\72\0\40\0\110\0\141\0\144\0\157\0\157\0\160\0\40\0\143\0\157\0\144\0\145\0\40\0\155\0\157\0\166\0\145\0\144\0\40\0\157\0\165\0\164\0\40\0\157\0\146\0\40\0\116\0\165\0\164\0\143\0\150)
- /Parent 77 0 R
- /Prev 91 0 R
- /Next 93 0 R
+ /Title (\376\377\0\61\0\56\0\61\0\65\0\40\0\66\0\40\0\106\0\145\0\142\0\162\0\165\0\141\0\162\0\171\0\54\0\40\0\62\0\60\0\60\0\66\0\72\0\40\0\156\0\151\0\147\0\150\0\164\0\154\0\171\0\40\0\142\0\165\0\151\0\154\0\144\0\163)
+ /Parent 84 0 R
+ /Prev 98 0 R
+ /Next 100 0 R
  /A 39 0 R
 >> endobj
-93 0 obj
+100 0 obj
 <<
- /Title (\376\377\0\61\0\56\0\61\0\66\0\40\0\63\0\60\0\40\0\115\0\141\0\162\0\143\0\150\0\54\0\40\0\62\0\60\0\60\0\66\0\72\0\40\0\110\0\141\0\144\0\157\0\157\0\160\0\40\0\160\0\162\0\157\0\152\0\145\0\143\0\164\0\40\0\141\0\160\0\160\0\162\0\157\0\166\0\145\0\144)
- /Parent 77 0 R
- /Prev 92 0 R
+ /Title (\376\377\0\61\0\56\0\61\0\66\0\40\0\63\0\40\0\106\0\145\0\142\0\162\0\165\0\141\0\162\0\171\0\54\0\40\0\62\0\60\0\60\0\66\0\72\0\40\0\110\0\141\0\144\0\157\0\157\0\160\0\40\0\143\0\157\0\144\0\145\0\40\0\155\0\157\0\166\0\145\0\144\0\40\0\157\0\165\0\164\0\40\0\157\0\146\0\40\0\116\0\165\0\164\0\143\0\150)
+ /Parent 84 0 R
+ /Prev 99 0 R
+ /Next 101 0 R
  /A 41 0 R
 >> endobj
-94 0 obj
+101 0 obj
+<<
+ /Title (\376\377\0\61\0\56\0\61\0\67\0\40\0\63\0\60\0\40\0\115\0\141\0\162\0\143\0\150\0\54\0\40\0\62\0\60\0\60\0\66\0\72\0\40\0\110\0\141\0\144\0\157\0\157\0\160\0\40\0\160\0\162\0\157\0\152\0\145\0\143\0\164\0\40\0\141\0\160\0\160\0\162\0\157\0\166\0\145\0\144)
+ /Parent 84 0 R
+ /Prev 100 0 R
+ /A 43 0 R
+>> endobj
+102 0 obj
 << /Type /Font
 /Subtype /Type1
 /Name /F3
 /BaseFont /Helvetica-Bold
 /Encoding /WinAnsiEncoding >>
 endobj
-95 0 obj
+103 0 obj
 << /Type /Font
 /Subtype /Type1
 /Name /F5
 /BaseFont /Times-Roman
 /Encoding /WinAnsiEncoding >>
 endobj
-96 0 obj
+104 0 obj
 << /Type /Font
 /Subtype /Type1
 /Name /F1
 /BaseFont /Helvetica
 /Encoding /WinAnsiEncoding >>
 endobj
-97 0 obj
+105 0 obj
 << /Type /Font
 /Subtype /Type1
 /Name /F9
 /BaseFont /Courier
 /Encoding /WinAnsiEncoding >>
 endobj
-98 0 obj
+106 0 obj
 << /Type /Font
 /Subtype /Type1
 /Name /F2
 /BaseFont /Helvetica-Oblique
 /Encoding /WinAnsiEncoding >>
 endobj
-99 0 obj
+107 0 obj
 << /Type /Font
 /Subtype /Type1
 /Name /F7
@@ -766,236 +836,250 @@
 endobj
 1 0 obj
 << /Type /Pages
-/Count 3
-/Kids [6 0 R 43 0 R 63 0 R ] >>
+/Count 4
+/Kids [6 0 R 45 0 R 65 0 R 82 0 R ] >>
 endobj
 2 0 obj
 << /Type /Catalog
 /Pages 1 0 R
- /Outlines 76 0 R
+ /Outlines 83 0 R
  /PageMode /UseOutlines
  >>
 endobj
 3 0 obj
 << 
-/Font << /F3 94 0 R /F5 95 0 R /F1 96 0 R /F9 97 0 R /F2 98 0 R /F7 99 0 R >> 
+/Font << /F3 102 0 R /F5 103 0 R /F1 104 0 R /F9 105 0 R /F2 106 0 R /F7 107 0 R >> 
 /ProcSet [ /PDF /ImageC /Text ] >> 
 endobj
 9 0 obj
 <<
 /S /GoTo
-/D [43 0 R /XYZ 85.0 659.0 null]
+/D [45 0 R /XYZ 85.0 659.0 null]
 >>
 endobj
 11 0 obj
 <<
 /S /GoTo
-/D [43 0 R /XYZ 85.0 627.866 null]
+/D [45 0 R /XYZ 85.0 627.866 null]
 >>
 endobj
 13 0 obj
 <<
 /S /GoTo
-/D [43 0 R /XYZ 85.0 576.613 null]
+/D [45 0 R /XYZ 85.0 563.413 null]
 >>
 endobj
 15 0 obj
 <<
 /S /GoTo
-/D [43 0 R /XYZ 85.0 512.16 null]
+/D [45 0 R /XYZ 85.0 512.16 null]
 >>
 endobj
 17 0 obj
 <<
 /S /GoTo
-/D [43 0 R /XYZ 85.0 447.707 null]
+/D [45 0 R /XYZ 85.0 447.707 null]
 >>
 endobj
 19 0 obj
 <<
 /S /GoTo
-/D [43 0 R /XYZ 85.0 396.454 null]
+/D [45 0 R /XYZ 85.0 383.254 null]
 >>
 endobj
 21 0 obj
 <<
 /S /GoTo
-/D [43 0 R /XYZ 85.0 345.201 null]
+/D [45 0 R /XYZ 85.0 332.001 null]
 >>
 endobj
 23 0 obj
 <<
 /S /GoTo
-/D [43 0 R /XYZ 85.0 293.948 null]
+/D [45 0 R /XYZ 85.0 280.748 null]
 >>
 endobj
 25 0 obj
 <<
 /S /GoTo
-/D [43 0 R /XYZ 85.0 229.495 null]
+/D [45 0 R /XYZ 85.0 229.495 null]
 >>
 endobj
 27 0 obj
 <<
 /S /GoTo
-/D [43 0 R /XYZ 85.0 178.242 null]
+/D [45 0 R /XYZ 85.0 165.042 null]
 >>
 endobj
 29 0 obj
 <<
 /S /GoTo
-/D [63 0 R /XYZ 85.0 641.8 null]
+/D [65 0 R /XYZ 85.0 637.8 null]
 >>
 endobj
 31 0 obj
 <<
 /S /GoTo
-/D [63 0 R /XYZ 85.0 577.347 null]
+/D [65 0 R /XYZ 85.0 573.347 null]
 >>
 endobj
 33 0 obj
 <<
 /S /GoTo
-/D [63 0 R /XYZ 85.0 512.894 null]
+/D [65 0 R /XYZ 85.0 508.894 null]
 >>
 endobj
 35 0 obj
 <<
 /S /GoTo
-/D [63 0 R /XYZ 85.0 435.241 null]
+/D [65 0 R /XYZ 85.0 444.441 null]
 >>
 endobj
 37 0 obj
 <<
 /S /GoTo
-/D [63 0 R /XYZ 85.0 383.988 null]
+/D [65 0 R /XYZ 85.0 366.788 null]
 >>
 endobj
 39 0 obj
 <<
 /S /GoTo
-/D [63 0 R /XYZ 85.0 306.335 null]
+/D [65 0 R /XYZ 85.0 315.535 null]
 >>
 endobj
 41 0 obj
 <<
 /S /GoTo
-/D [63 0 R /XYZ 85.0 241.882 null]
+/D [65 0 R /XYZ 85.0 237.882 null]
 >>
 endobj
-76 0 obj
+43 0 obj
+<<
+/S /GoTo
+/D [65 0 R /XYZ 85.0 173.429 null]
+>>
+endobj
+83 0 obj
 <<
- /First 77 0 R
- /Last 77 0 R
+ /First 84 0 R
+ /Last 84 0 R
 >> endobj
 xref
-0 100
+0 108
 0000000000 65535 f 
-0000020642 00000 n 
-0000020714 00000 n 
-0000020806 00000 n 
+0000022551 00000 n 
+0000022630 00000 n 
+0000022722 00000 n 
 0000000015 00000 n 
 0000000071 00000 n 
-0000001166 00000 n 
-0000001286 00000 n 
-0000001423 00000 n 
-0000020940 00000 n 
-0000001558 00000 n 
-0000021003 00000 n 
-0000001694 00000 n 
-0000021069 00000 n 
-0000001831 00000 n 
-0000021135 00000 n 
-0000001968 00000 n 
-0000021200 00000 n 
-0000002105 00000 n 
-0000021266 00000 n 
-0000002242 00000 n 
-0000021332 00000 n 
-0000002379 00000 n 
-0000021398 00000 n 
-0000002516 00000 n 
-0000021464 00000 n 
-0000002653 00000 n 
-0000021530 00000 n 
-0000002790 00000 n 
-0000021596 00000 n 
-0000002927 00000 n 
-0000021660 00000 n 
-0000003064 00000 n 
-0000021726 00000 n 
-0000003201 00000 n 
-0000021792 00000 n 
-0000003336 00000 n 
-0000021858 00000 n 
-0000003473 00000 n 
-0000021924 00000 n 
-0000003610 00000 n 
-0000021990 00000 n 
-0000003747 00000 n 
-0000006076 00000 n 
-0000006199 00000 n 
-0000006338 00000 n 
-0000006516 00000 n 
-0000006721 00000 n 
-0000006896 00000 n 
-0000007099 00000 n 
-0000007276 00000 n 
-0000007481 00000 n 
-0000007659 00000 n 
-0000007864 00000 n 
-0000008042 00000 n 
-0000008247 00000 n 
-0000008425 00000 n 
-0000008628 00000 n 
-0000008803 00000 n 
-0000009007 00000 n 
-0000009209 00000 n 
-0000009401 00000 n 
-0000009576 00000 n 
-0000012201 00000 n 
-0000012324 00000 n 
-0000012421 00000 n 
-0000012619 00000 n 
-0000012797 00000 n 
-0000012999 00000 n 
-0000013174 00000 n 
+0000001189 00000 n 
+0000001309 00000 n 
+0000001453 00000 n 
+0000022862 00000 n 
+0000001588 00000 n 
+0000022925 00000 n 
+0000001724 00000 n 
+0000022991 00000 n 
+0000001860 00000 n 
+0000023057 00000 n 
+0000001997 00000 n 
+0000023122 00000 n 
+0000002134 00000 n 
+0000023188 00000 n 
+0000002271 00000 n 
+0000023254 00000 n 
+0000002408 00000 n 
+0000023320 00000 n 
+0000002545 00000 n 
+0000023386 00000 n 
+0000002682 00000 n 
+0000023452 00000 n 
+0000002819 00000 n 
+0000023518 00000 n 
+0000002956 00000 n 
+0000023582 00000 n 
+0000003093 00000 n 
+0000023648 00000 n 
+0000003230 00000 n 
+0000023714 00000 n 
+0000003367 00000 n 
+0000023780 00000 n 
+0000003502 00000 n 
+0000023846 00000 n 
+0000003639 00000 n 
+0000023912 00000 n 
+0000003776 00000 n 
+0000023978 00000 n 
+0000003913 00000 n 
+0000006213 00000 n 
+0000006336 00000 n 
+0000006475 00000 n 
+0000006652 00000 n 
+0000006857 00000 n 
+0000007033 00000 n 
+0000007236 00000 n 
+0000007413 00000 n 
+0000007618 00000 n 
+0000007795 00000 n 
+0000008000 00000 n 
+0000008178 00000 n 
+0000008383 00000 n 
+0000008561 00000 n 
+0000008766 00000 n 
+0000008944 00000 n 
+0000009147 00000 n 
+0000009322 00000 n 
+0000009526 00000 n 
+0000009728 00000 n 
+0000012571 00000 n 
+0000012694 00000 n 
+0000012812 00000 n 
+0000013000 00000 n 
+0000013175 00000 n 
 0000013379 00000 n 
-0000013557 00000 n 
-0000013762 00000 n 
-0000013967 00000 n 
-0000014170 00000 n 
-0000014370 00000 n 
-0000022056 00000 n 
-0000014533 00000 n 
-0000014675 00000 n 
-0000015000 00000 n 
-0000015356 00000 n 
-0000015712 00000 n 
-0000016063 00000 n 
-0000016396 00000 n 
-0000016722 00000 n 
-0000017043 00000 n 
-0000017332 00000 n 
-0000017653 00000 n 
-0000017979 00000 n 
-0000018304 00000 n 
-0000018624 00000 n 
-0000018956 00000 n 
-0000019258 00000 n 
-0000019652 00000 n 
-0000019980 00000 n 
-0000020093 00000 n 
-0000020203 00000 n 
-0000020311 00000 n 
-0000020417 00000 n 
-0000020533 00000 n 
+0000013581 00000 n 
+0000013759 00000 n 
+0000013961 00000 n 
+0000014136 00000 n 
+0000014341 00000 n 
+0000014519 00000 n 
+0000014724 00000 n 
+0000014929 00000 n 
+0000015132 00000 n 
+0000015332 00000 n 
+0000015495 00000 n 
+0000015973 00000 n 
+0000024044 00000 n 
+0000016081 00000 n 
+0000016224 00000 n 
+0000016554 00000 n 
+0000016893 00000 n 
+0000017249 00000 n 
+0000017605 00000 n 
+0000017956 00000 n 
+0000018289 00000 n 
+0000018615 00000 n 
+0000018936 00000 n 
+0000019225 00000 n 
+0000019551 00000 n 
+0000019877 00000 n 
+0000020202 00000 n 
+0000020522 00000 n 
+0000020854 00000 n 
+0000021157 00000 n 
+0000021553 00000 n 
+0000021883 00000 n 
+0000021997 00000 n 
+0000022108 00000 n 
+0000022217 00000 n 
+0000022324 00000 n 
+0000022441 00000 n 
 trailer
 <<
-/Size 100
+/Size 108
 /Root 2 0 R
 /Info 4 0 R
 >>
 startxref
-22107
+24095
 %%EOF

Modified: lucene/hadoop/branches/branch-0.7/src/java/org/apache/hadoop/ipc/Server.java
URL: http://svn.apache.org/viewvc/lucene/hadoop/branches/branch-0.7/src/java/org/apache/hadoop/ipc/Server.java?view=diff&rev=462942&r1=462941&r2=462942
==============================================================================
--- lucene/hadoop/branches/branch-0.7/src/java/org/apache/hadoop/ipc/Server.java (original)
+++ lucene/hadoop/branches/branch-0.7/src/java/org/apache/hadoop/ipc/Server.java Wed Oct 11 14:05:38 2006
@@ -30,6 +30,7 @@
 import java.nio.channels.ServerSocketChannel;
 import java.nio.channels.SocketChannel;
 
+import java.net.InetAddress;
 import java.net.InetSocketAddress;
 import java.net.Socket;
 
@@ -351,6 +352,10 @@
     private long lastContact;
     private int dataLength;
     private Socket socket;
+    // Cache the remote host & port info so that even if the socket is 
+    // disconnected, we can say where it used to connect to.
+    private String hostAddress;
+    private int remotePort;
 
     public Connection(SelectionKey key, SocketChannel channel, 
     long lastContact) {
@@ -363,14 +368,21 @@
       this.out = new DataOutputStream
         (new BufferedOutputStream(
          this.channelOut = new SocketChannelOutputStream(channel, 4096)));
+      InetAddress addr = socket.getInetAddress();
+      if (addr == null) {
+        this.hostAddress = "*Unknown*";
+      } else {
+        this.hostAddress = addr.getHostAddress();
+      }
+      this.remotePort = socket.getPort();
     }   
 
     public String toString() {
-      return getHostAddress() + ":" + socket.getPort(); 
+      return getHostAddress() + ":" + remotePort; 
     }
     
     public String getHostAddress() {
-      return socket.getInetAddress().getHostAddress();
+      return hostAddress;
     }
 
     public void setLastContact(long lastContact) {
@@ -431,7 +443,8 @@
       Call call = new Call(id, param, this);
       synchronized (callQueue) {
         if (callQueue.size() >= maxQueueSize) {
-          callQueue.removeFirst();
+          Call oldCall = (Call) callQueue.removeFirst();
+          LOG.warn("Call queue overflow discarding oldest call " + oldCall);
         }
         callQueue.addLast(call);              // queue the call
         callQueue.notify();                   // wake up a waiting handler
@@ -484,7 +497,7 @@
           // throw the message away if it is too old
           if (System.currentTimeMillis() - call.receivedTime > 
               maxCallStartAge) {
-            LOG.info("Call " + call.toString() + 
+            LOG.warn("Call " + call.toString() + 
                      " discarded for being too old (" +
                      (System.currentTimeMillis() - call.receivedTime) + ")");
             continue;
@@ -492,7 +505,7 @@
           
           if (LOG.isDebugEnabled())
             LOG.debug(getName() + ": has #" + call.id + " from " +
-                     call.connection.socket.getInetAddress().getHostAddress());
+                     call.connection);
           
           String errorClass = null;
           String error = null;

Modified: lucene/hadoop/branches/branch-0.7/src/java/org/apache/hadoop/mapred/JobInProgress.java
URL: http://svn.apache.org/viewvc/lucene/hadoop/branches/branch-0.7/src/java/org/apache/hadoop/mapred/JobInProgress.java?view=diff&rev=462942&r1=462941&r2=462942
==============================================================================
--- lucene/hadoop/branches/branch-0.7/src/java/org/apache/hadoop/mapred/JobInProgress.java (original)
+++ lucene/hadoop/branches/branch-0.7/src/java/org/apache/hadoop/mapred/JobInProgress.java Wed Oct 11 14:05:38 2006
@@ -20,7 +20,6 @@
 import org.apache.hadoop.fs.*;
 import org.apache.hadoop.conf.*;
 import org.apache.hadoop.mapred.JobTracker.JobTrackerMetrics;
-import org.apache.hadoop.mapred.JobHistory.Keys ; 
 import org.apache.hadoop.mapred.JobHistory.Values ; 
 import java.io.*;
 import java.net.*;
@@ -33,7 +32,7 @@
 // doing bookkeeping of its Tasks.
 ///////////////////////////////////////////////////////
 class JobInProgress {
-    public static final Log LOG = LogFactory.getLog("org.apache.hadoop.mapred.JobInProgress");
+    private static final Log LOG = LogFactory.getLog("org.apache.hadoop.mapred.JobInProgress");
 
     JobProfile profile;
     JobStatus status;
@@ -473,25 +472,24 @@
                    " successfully.");          
 
           String taskTrackerName = status.getTaskTracker();
-          TaskTrackerStatus taskTracker = this.jobtracker.getTaskTracker(taskTrackerName);
           
           if(status.getIsMap()){
             JobHistory.MapAttempt.logStarted(profile.getJobId(), 
                 tip.getTIPId(), status.getTaskId(), status.getStartTime(), 
-                taskTracker.getHost()); 
+                taskTrackerName); 
             JobHistory.MapAttempt.logFinished(profile.getJobId(), 
                 tip.getTIPId(), status.getTaskId(), status.getFinishTime(), 
-                taskTracker.getHost()); 
+                taskTrackerName); 
             JobHistory.Task.logFinished(profile.getJobId(), tip.getTIPId(), 
                 Values.MAP.name(), status.getFinishTime()); 
           }else{
               JobHistory.ReduceAttempt.logStarted(profile.getJobId(), 
                   tip.getTIPId(), status.getTaskId(), status.getStartTime(), 
-                  taskTracker.getHost()); 
+                  taskTrackerName); 
               JobHistory.ReduceAttempt.logFinished(profile.getJobId(), 
                   tip.getTIPId(), status.getTaskId(), status.getShuffleFinishTime(),
                   status.getSortFinishTime(), status.getFinishTime(), 
-                  taskTracker.getHost()); 
+                  taskTrackerName); 
               JobHistory.Task.logFinished(profile.getJobId(), tip.getTIPId(), 
                   Values.REDUCE.name(), status.getFinishTime()); 
           }
@@ -609,21 +607,20 @@
         
         // update job history
         String taskTrackerName = status.getTaskTracker();
-        TaskTrackerStatus taskTracker = this.jobtracker.getTaskTracker(taskTrackerName);
-        if(status.getIsMap()){
+        if (status.getIsMap()) {
           JobHistory.MapAttempt.logStarted(profile.getJobId(), 
               tip.getTIPId(), status.getTaskId(), status.getStartTime(), 
-              taskTracker.getHost()); 
+              taskTrackerName); 
           JobHistory.MapAttempt.logFailed(profile.getJobId(), 
               tip.getTIPId(), status.getTaskId(), System.currentTimeMillis(),
-              taskTracker.getHost(), status.getDiagnosticInfo()); 
-        }else{
+              taskTrackerName, status.getDiagnosticInfo()); 
+        } else {
           JobHistory.ReduceAttempt.logStarted(profile.getJobId(), 
               tip.getTIPId(), status.getTaskId(), status.getStartTime(), 
-              taskTracker.getHost()); 
+              taskTrackerName); 
           JobHistory.ReduceAttempt.logFailed(profile.getJobId(), 
               tip.getTIPId(), status.getTaskId(), System.currentTimeMillis(),
-              taskTracker.getHost(), status.getDiagnosticInfo()); 
+              taskTrackerName, status.getDiagnosticInfo()); 
         }
         
         // After this, try to assign tasks with the one after this, so that

Modified: lucene/hadoop/branches/branch-0.7/src/java/org/apache/hadoop/mapred/JobTracker.java
URL: http://svn.apache.org/viewvc/lucene/hadoop/branches/branch-0.7/src/java/org/apache/hadoop/mapred/JobTracker.java?view=diff&rev=462942&r1=462941&r2=462942
==============================================================================
--- lucene/hadoop/branches/branch-0.7/src/java/org/apache/hadoop/mapred/JobTracker.java (original)
+++ lucene/hadoop/branches/branch-0.7/src/java/org/apache/hadoop/mapred/JobTracker.java Wed Oct 11 14:05:38 2006
@@ -21,6 +21,7 @@
 import org.apache.hadoop.fs.*;
 import org.apache.hadoop.ipc.*;
 import org.apache.hadoop.conf.*;
+import org.apache.hadoop.util.StringUtils;
 
 import java.io.*;
 import java.net.*;
@@ -114,8 +115,8 @@
       private Map launchingTasks = new LinkedHashMap();
       
       public void run() {
-        try {
-          while (shouldRun) {
+        while (shouldRun) {
+          try {
             // Every 3 minutes check for any tasks that are overdue
             Thread.sleep(TASKTRACKER_EXPIRY_INTERVAL/3);
             long now = System.currentTimeMillis();
@@ -151,9 +152,13 @@
                 }
               }
             }
+          } catch (InterruptedException ie) {
+            // all done
+            return;
+          } catch (Exception e) {
+            LOG.error("Expire Launching Task Thread got exception: " +
+                      StringUtils.stringifyException(e));
           }
-        } catch (InterruptedException ie) {
-          // all done
         }
       }
       
@@ -188,15 +193,13 @@
          */
         public void run() {
             while (shouldRun) {
+              try {
                 //
                 // Thread runs periodically to check whether trackers should be expired.
                 // The sleep interval must be no more than half the maximum expiry time
                 // for a task tracker.
                 //
-                try {
-                    Thread.sleep(TASKTRACKER_EXPIRY_INTERVAL / 3);
-                } catch (InterruptedException ie) {
-                }
+                Thread.sleep(TASKTRACKER_EXPIRY_INTERVAL / 3);
 
                 //
                 // Loop through all expired items in the queue
@@ -232,6 +235,10 @@
                         }
                     }
                 }
+              } catch (Exception t) {
+                LOG.error("Tracker Expiry Thread got exception: " +
+                          StringUtils.stringifyException(t));
+              }
             }
         }
         

Modified: lucene/hadoop/branches/branch-0.7/src/java/org/apache/hadoop/mapred/Task.java
URL: http://svn.apache.org/viewvc/lucene/hadoop/branches/branch-0.7/src/java/org/apache/hadoop/mapred/Task.java?view=diff&rev=462942&r1=462941&r2=462942
==============================================================================
--- lucene/hadoop/branches/branch-0.7/src/java/org/apache/hadoop/mapred/Task.java (original)
+++ lucene/hadoop/branches/branch-0.7/src/java/org/apache/hadoop/mapred/Task.java Wed Oct 11 14:05:38 2006
@@ -176,10 +176,26 @@
     }
   }
 
-  public void done(TaskUmbilicalProtocol umbilical)
-    throws IOException {
-    umbilical.progress(getTaskId(),               // send a final status report
-                       taskProgress.get(), taskProgress.toString(), phase);
-    umbilical.done(getTaskId());
+  public void done(TaskUmbilicalProtocol umbilical) throws IOException {
+    int retries = 10;
+    boolean needProgress = true;
+    while (true) {
+      try {
+        if (needProgress) {
+          // send a final status report
+          umbilical.progress(getTaskId(), taskProgress.get(), 
+                             taskProgress.toString(), phase);
+          needProgress = false;
+        }
+        umbilical.done(getTaskId());
+        return;
+      } catch (IOException ie) {
+        LOG.warn("Failure signalling completion: " + 
+                 StringUtils.stringifyException(ie));
+        if (--retries == 0) {
+          throw ie;
+        }
+      }
+    }
   }
 }

Modified: lucene/hadoop/branches/branch-0.7/src/java/org/apache/hadoop/mapred/TaskTracker.java
URL: http://svn.apache.org/viewvc/lucene/hadoop/branches/branch-0.7/src/java/org/apache/hadoop/mapred/TaskTracker.java?view=diff&rev=462942&r1=462941&r2=462942
==============================================================================
--- lucene/hadoop/branches/branch-0.7/src/java/org/apache/hadoop/mapred/TaskTracker.java (original)
+++ lucene/hadoop/branches/branch-0.7/src/java/org/apache/hadoop/mapred/TaskTracker.java Wed Oct 11 14:05:38 2006
@@ -1365,30 +1365,39 @@
         Path filename = conf.getLocalPath(mapId+"/part-"+reduce+".out");
         response.setContentLength((int) fileSys.getLength(filename));
         InputStream inStream = null;
+        // true iff IOException was caused by attempt to access input
+        boolean isInputException = true;
         try {
           inStream = fileSys.open(filename);
           try {
             int len = inStream.read(buffer);
             while (len > 0) {
-              outStream.write(buffer, 0, len);
+              try {
+                outStream.write(buffer, 0, len);
+              } catch (IOException ie) {
+                isInputException = false;
+                throw ie;
+              }
               len = inStream.read(buffer);
             }
           } finally {
             inStream.close();
-            outStream.close();
           }
         } catch (IOException ie) {
           TaskTracker tracker = 
             (TaskTracker) context.getAttribute("task.tracker");
           Log log = (Log) context.getAttribute("log");
-          String errorMsg = "getMapOutput(" + mapId + "," + reduceId + 
-          ") failed :\n"+
-          StringUtils.stringifyException(ie);
+          String errorMsg = ("getMapOutput(" + mapId + "," + reduceId + 
+                             ") failed :\n"+
+                             StringUtils.stringifyException(ie));
           log.warn(errorMsg);
-          tracker.mapOutputLost(mapId, errorMsg);
+          if (isInputException) {
+            tracker.mapOutputLost(mapId, errorMsg);
+          }
           response.sendError(HttpServletResponse.SC_GONE, errorMsg);
           throw ie;
         } 
+        outStream.close();
       }
     }
 }

Modified: lucene/hadoop/branches/branch-0.7/src/java/overview.html
URL: http://svn.apache.org/viewvc/lucene/hadoop/branches/branch-0.7/src/java/overview.html?view=diff&rev=462942&r1=462941&r2=462942
==============================================================================
--- lucene/hadoop/branches/branch-0.7/src/java/overview.html (original)
+++ lucene/hadoop/branches/branch-0.7/src/java/overview.html Wed Oct 11 14:05:38 2006
@@ -16,7 +16,7 @@
 
 <ol>
   
-<li>Java 1.4.x, preferably from <a
+<li>Java 1.5.x, preferably from <a
  href="http://java.sun.com/j2se/downloads.html">Sun</a> Set
  <tt>JAVA_HOME</tt> to the root of your Java installation.</li>
   

Modified: lucene/hadoop/branches/branch-0.7/src/site/src/documentation/content/xdocs/index.xml
URL: http://svn.apache.org/viewvc/lucene/hadoop/branches/branch-0.7/src/site/src/documentation/content/xdocs/index.xml?view=diff&rev=462942&r1=462941&r2=462942
==============================================================================
--- lucene/hadoop/branches/branch-0.7/src/site/src/documentation/content/xdocs/index.xml (original)
+++ lucene/hadoop/branches/branch-0.7/src/site/src/documentation/content/xdocs/index.xml Wed Oct 11 14:05:38 2006
@@ -15,6 +15,15 @@
       <title>News</title>
 
       <section>
+      <title>11 October, 2006: release 0.7.1 available</title>
+      <p>This fixes critical bugs in 0.7.0.  For details see the <a
+      href="http://tinyurl.com/p7qod">release notes</a>. The release can
+      be obtained from <a
+      href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
+      nearby mirror</a>.
+      </p> </section>
+
+      <section>
       <title>6 October, 2006: release 0.7.0 available</title>
       <p>For details see the <a
       href="http://tinyurl.com/kvd9m">release notes</a>. The release can



Mime
View raw message