Author: mahadev
Date: Mon Jun  8 20:38:46 2009
New Revision: 782775

URL: http://svn.apache.org/viewvc?rev=782775&view=rev
Log:
ZOOKEEPER-396. race condition in zookeeper client library between 
zookeeper_close and zoo_synchronous api. (mahadev)

Modified:
    hadoop/zookeeper/trunk/CHANGES.txt
    hadoop/zookeeper/trunk/docs/zookeeperAdmin.html
    hadoop/zookeeper/trunk/docs/zookeeperAdmin.pdf
    hadoop/zookeeper/trunk/docs/zookeeperProgrammers.html
    hadoop/zookeeper/trunk/docs/zookeeperProgrammers.pdf
    hadoop/zookeeper/trunk/docs/zookeeperQuotas.html
    hadoop/zookeeper/trunk/docs/zookeeperQuotas.pdf
    hadoop/zookeeper/trunk/src/c/include/zookeeper.h
    
hadoop/zookeeper/trunk/src/docs/src/documentation/content/xdocs/zookeeperProgrammers.xml

Modified: hadoop/zookeeper/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/CHANGES.txt?rev=782775&r1=782774&r2=782775&view=diff
==============================================================================
--- hadoop/zookeeper/trunk/CHANGES.txt (original)
+++ hadoop/zookeeper/trunk/CHANGES.txt Mon Jun  8 20:38:46 2009
@@ -187,6 +187,9 @@
   ZOOKEEPER-358. Throw exception when ledger does not exist. (flavio via breed)
 
   ZOOKEEPER-431. Expose methods to ease ZK integration. (Jean-Daniel via breed)
+
+  ZOOKEEPER-396. race condition in zookeeper client library between
+zookeeper_close and zoo_synchronous api. (mahadev)
  
 NEW FEATURES:
 

Modified: hadoop/zookeeper/trunk/docs/zookeeperAdmin.html
URL: 
http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/docs/zookeeperAdmin.html?rev=782775&r1=782774&r2=782775&view=diff
==============================================================================
--- hadoop/zookeeper/trunk/docs/zookeeperAdmin.html (original)
+++ hadoop/zookeeper/trunk/docs/zookeeperAdmin.html Mon Jun  8 20:38:46 2009
@@ -535,8 +535,8 @@
 
               
 <p>
-<span class="codefrag computeroutput">$ java -cp 
zookeeper.jar:src/java/lib/log4j-1.2.15.jar:conf \
-      org.apache.zookeeper.ZooKeeperMain 127.0.0.1:2181</span>
+<span class="codefrag computeroutput">$ java -cp 
zookeeper.jar:src/java/lib/log4j-1.2.15.jar:conf:src/java/lib/jline-0.9.94.jar \
+      org.apache.zookeeper.ZooKeeperMain -server 127.0.0.1:2181</span>
 </p>
             
 </li>

Modified: hadoop/zookeeper/trunk/docs/zookeeperAdmin.pdf
URL: 
http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/docs/zookeeperAdmin.pdf?rev=782775&r1=782774&r2=782775&view=diff
==============================================================================
Binary files - no diff available.

Modified: hadoop/zookeeper/trunk/docs/zookeeperProgrammers.html
URL: 
http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/docs/zookeeperProgrammers.html?rev=782775&r1=782774&r2=782775&view=diff
==============================================================================
--- hadoop/zookeeper/trunk/docs/zookeeperProgrammers.html (original)
+++ hadoop/zookeeper/trunk/docs/zookeeperProgrammers.html Mon Jun  8 20:38:46 
2009
@@ -1547,9 +1547,9 @@
 </ul>
 <p>Finally, the rules associated with shutdown are straightforward:
       once a ZooKeeper object is closed or receives a fatal event
-      (SESSION_EXPIRED and AUTH_FAILED), the ZooKeeper object becomes invalid,
-      the two threads shut down, and any further ZooKeeper calls throw
-      errors.</p>
+      (SESSION_EXPIRED and AUTH_FAILED), the ZooKeeper object becomes invalid.
+      On a close, the two threads shut down and any further access on zookeeper
+      handle is undefined behavior and should be avoided. </p>
 <a name="N104F3"></a><a name="C+Binding"></a>
 <h3 class="h4">C Binding</h3>
 <p>The C binding has a single-threaded and multi-threaded library.

Modified: hadoop/zookeeper/trunk/docs/zookeeperProgrammers.pdf
URL: 
http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/docs/zookeeperProgrammers.pdf?rev=782775&r1=782774&r2=782775&view=diff
==============================================================================
Binary files - no diff available.

Modified: hadoop/zookeeper/trunk/docs/zookeeperQuotas.html
URL: 
http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/docs/zookeeperQuotas.html?rev=782775&r1=782774&r2=782775&view=diff
==============================================================================
--- hadoop/zookeeper/trunk/docs/zookeeperQuotas.html (original)
+++ hadoop/zookeeper/trunk/docs/zookeeperQuotas.html Mon Jun  8 20:38:46 2009
@@ -216,8 +216,8 @@
        are printed in the log of the ZooKeeper. 
        </p>
 <p>
-<span class="codefrag computeroutput">$java -cp 
zookeeper.jar:src/java/lib/log4j-1.2.15.jar/conf \
-        org.apache.zookeeper.ZooKeeperMain host:port</span>
+<span class="codefrag computeroutput">$java -cp 
zookeeper.jar:src/java/lib/log4j-1.2.15.jar/conf:src/java/lib/jline-0.9.94.jar \
+        org.apache.zookeeper.ZooKeeperMain -server host:port</span>
 </p>
 <p> The above command gives you a command line option of using quotas.</p>
 <a name="N1001F"></a><a name="Setting+Quotas"></a>

Modified: hadoop/zookeeper/trunk/docs/zookeeperQuotas.pdf
URL: 
http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/docs/zookeeperQuotas.pdf?rev=782775&r1=782774&r2=782775&view=diff
==============================================================================
--- hadoop/zookeeper/trunk/docs/zookeeperQuotas.pdf (original)
+++ hadoop/zookeeper/trunk/docs/zookeeperQuotas.pdf Mon Jun  8 20:38:46 2009
@@ -69,10 +69,10 @@
 >>
 endobj
 16 0 obj
-<< /Length 1275 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Length 1302 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-Gau0CbECmB']%q&[%N<%,)R\iQ9DjOJXuoIMIBCO!F_\SEoP*D4I4GjoC^2.pr]j'h:,8(>t=X3Np`&%G-b<.EC:XecmDmTBYP\20gC7Va*dKHMi$bpbn9no6gt_jW)nJ`q05f&cqF!Yg3g[1G-gs[r+b-`Mq63c3:m...@7raipte6q!,PnNI"*uAk]X<&Rmc"^me">em]r*?9DUb$%:j?;!aHXitR_dMTc.!6[W3IDHb$s#Sm&ibAY3WLc1VG;aUM0q!P)T8]e^c5EjUI]r'PR.ds<N6/DmaMOsm5ie'3Yfuj2M"7nVKp]JYeK]^i1u=kOS`(M?Z1Gil0NH4!9F7TRH7j2eRB&?9+q]$')X'UNhhVHY\KU.gh<8HF)/1h4HF^o2)"U+e((m...@bqrv&[;TZU)=,3]"/c%$b(-*hVs2Vg#Mg>o[r$Is!CcC(,Kf$*oGG_>$O"^Y4M<U3r`ZBO*8tBBa;N8n.NFJgi$QrU2dFGqsV^\!'AY%edNIWn_)mB&b$(OCl.N]4_GGX#G_^X(O=_S%oKZUM<XLG3T*qOZFPc8_g3SOJaHcGiBUU/BpI_<E,s?Vl;`A1uBr>kG`7<.%WNNO:u)a#JJhW^&'(UapND_!'Q*FT=DQ7"uUi_:d5__aWhh'<s35\n;0Z?97/gg;4)5$B1XC][)....@hiw-]0n(Ka5P7:(q',(Hn>K%5*r#H&]#sIYR3SO.n-.oL41cI2<p\:,mF(>H+Df66llg9b#m;h?N=m]glS+C:)S5_B.)3#b;zs[...@f.0kt74^.q7qhxgh<8l/h6;;q...@hj>`q0'QL.l/q\4ZFL%EQOr6RNRk1?bTN>$k,M;AgOmakK09;:"[71#;dbAsf5SD/Y\3CPl'h...@!j7@7HNMj?a#"k[3>7r^N`k8MN>A%f;Mo^2?Tj]h2<0s&=,"m.3VKE'$qb7kirs.4kzssb7\28...@h`u2)CU0ekVF0;<5_YftUH?._,[Bja"
 
h#jWW5Mm?W^L&'l&7=/3C5g))APHX#c%BsV#7^"+m1)pqtKnt;r...@[xocqa%xn-*c+4^i%p$3[b=hk7u"#<V?M:EC1D5iPb&7oD1(63uV;e3IcC*8n/0qWS^P^]Ypck4rl'^2Bulp8U=.Q\.6jGG68Y8k4Q[)14D-J=t:NqI1W;FeA21IbQH0MigI^>pJAY!7ieu*<:Nqbqa7^AbuMMBUSpZeM`OTe=PZ!e)RmuYENh[,UjDBfT(^?u3p!WF%qc=+Z>;4`g`"hn4<GVTN!J_K"j...@oiw~>
+Gau0C969,]&AJ$CkWfmQ_.1_WYJ"K`Z3;cnbIWQ4b[E&^C^!t:Q/mVflY4&6...@6c+5d$4t52t^m^a@/Co$:70Tru9t[^4rIS32r2:@_E97L&.!Mf<dJDmXP,5Qq:47t...@[<0...@?c1d-72ih"T=6mS-[!GsghfUNugg4u<p...@l+6<Uq>a2QfeX(,#xh...@8qbewr*av1pfcu\pc[,%HXWhQ_]WO]W6/A"C,hAZKPj"S$7UIB1-d;eVGDgUb%qVa-*gYoODp6L8!tKR0U3r)<U$Y_Au<"4=I3a$W`/mjC_N)TM^5?L"P.eb76-cD,k,'Vc`agmr,buM7"BPHEJ:(e2(do2(G:Q(aqX%molm?61fLG%.>1Du-Mu#sXUWN"RAu\h35k5ogL0W>J]^<=b([N;]sngk...@t?uletlpwc2bzk/Omiqbr?9ZjrE:(Zd.a08]FD^#\)ZOLL=6o$U(2q>>>h:=RBsLr1T]1Dh#p[s!s':c...@mp3dhbp,G11`m#lI:^irnBN&`h%...@s\9adm9*>M"-,d'7kAsd(IZli1S9Y9s0E>RFg#9BC>St)0j;pi...@o%5t9pw3laq[%jmhq(<B#f8O(&tMbWI4CFs^V"C*/g6l^5*:p4>f&Y=VbBdQT2\f.-EjYPn9lK/moe/Dlh:Gf'cs^fm:ps$eRmKe3fJ%CR`9lT\h9QXPsTs)^+f5!B7l18TLSR(6'2gtLNm/r...@uadw[h3;;TD0?5L"Pg)P,Pk]ZeNsQjs.qF$S'5JS+5Gts5R7Xg?bpkY>CqH457Nm:?kYs30<,Kk!Qn-?P(n...@4j6kq,_;)f4XAN2]`Q-)tYPQUm/J*pEbpg,[1QZCt0o$/"L1P\Bmb<g(,sn)b=;\UT[;mpmJ1lmlhjA(lrZcaP&(*?ulquf3.s'c*+i[cco0...@h@opM<"_YmI_)9ogpa!.Kp[$'](Z#O+^cCCKY(kV<G;s...@\-f"!h@<u
 
s...@kzdum_v9mlcbt%28`n'nR!Y%&(:2H79m^`aT'+n=((!+lEMBGNaVZPV<W350S`KWY$MJEV8T/$$NYm>74N]t/n7&'92nu$ILlC\E%hZS1Ccgg^?td"jT/&>"V[L^Sl[T+XFm4CT(CY4;\CO<9`6]sPSXlST$r7"'50\I,jmC\j#A%Jc[B]I`oh\S(dGoMCj9G<%r/Qg[>E3liLk*SlG,)t*=Fp#ZECS'FT,5bqa9u+iHq8i;9Y_d`,+0MUi$[M_JQVS%e:tf=-)2$Bi"0h.>q_"S-`(ddm7YpQUk0%mMV.\G5hX&\UBA~>
 endstream
 endobj
 17 0 obj
@@ -189,19 +189,19 @@
 11 0 obj
 <<
 /S /GoTo
-/D [17 0 R /XYZ 85.0 524.666 null]
+/D [17 0 R /XYZ 85.0 511.466 null]
 >>
 endobj
 13 0 obj
 <<
 /S /GoTo
-/D [17 0 R /XYZ 85.0 412.613 null]
+/D [17 0 R /XYZ 85.0 399.413 null]
 >>
 endobj
 15 0 obj
 <<
 /S /GoTo
-/D [17 0 R /XYZ 85.0 361.36 null]
+/D [17 0 R /XYZ 85.0 348.16 null]
 >>
 endobj
 18 0 obj
@@ -212,35 +212,35 @@
 xref
 0 30
 0000000000 65535 f 
-0000004383 00000 n 
-0000004448 00000 n 
-0000004540 00000 n 
+0000004410 00000 n 
+0000004475 00000 n 
+0000004567 00000 n 
 0000000015 00000 n 
 0000000071 00000 n 
 0000000694 00000 n 
 0000000814 00000 n 
 0000000860 00000 n 
-0000004685 00000 n 
+0000004712 00000 n 
 0000000995 00000 n 
-0000004748 00000 n 
+0000004775 00000 n 
 0000001132 00000 n 
-0000004814 00000 n 
+0000004841 00000 n 
 0000001269 00000 n 
-0000004880 00000 n 
+0000004907 00000 n 
 0000001406 00000 n 
-0000002774 00000 n 
-0000004945 00000 n 
-0000002882 00000 n 
-0000003035 00000 n 
-0000003220 00000 n 
-0000003419 00000 n 
-0000003610 00000 n 
-0000003723 00000 n 
-0000003833 00000 n 
-0000003944 00000 n 
-0000004052 00000 n 
-0000004158 00000 n 
-0000004274 00000 n 
+0000002801 00000 n 
+0000004972 00000 n 
+0000002909 00000 n 
+0000003062 00000 n 
+0000003247 00000 n 
+0000003446 00000 n 
+0000003637 00000 n 
+0000003750 00000 n 
+0000003860 00000 n 
+0000003971 00000 n 
+0000004079 00000 n 
+0000004185 00000 n 
+0000004301 00000 n 
 trailer
 <<
 /Size 30
@@ -248,5 +248,5 @@
 /Info 4 0 R
 >>
 startxref
-4996
+5023
 %%EOF

Modified: hadoop/zookeeper/trunk/src/c/include/zookeeper.h
URL: 
http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/src/c/include/zookeeper.h?rev=782775&r1=782774&r2=782775&view=diff
==============================================================================
--- hadoop/zookeeper/trunk/src/c/include/zookeeper.h (original)
+++ hadoop/zookeeper/trunk/src/c/include/zookeeper.h Mon Jun  8 20:38:46 2009
@@ -314,7 +314,8 @@
  * block.
  *
  * This method should only be called only once on a zookeeper handle. Calling
- * twice will cause undefined (and probably undesirable behavior).
+ * twice will cause undefined (and probably undesirable behavior). Calling any 
other
+ * zookeeper method after calling close is undefined behaviour and should be 
avoided.
  *
  * \param zh the zookeeper handle obtained by a call to \ref zookeeper_init
  * \return a result code. Regardless of the error code returned, the zhandle 

Modified: 
hadoop/zookeeper/trunk/src/docs/src/documentation/content/xdocs/zookeeperProgrammers.xml
URL: 
http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/src/docs/src/documentation/content/xdocs/zookeeperProgrammers.xml?rev=782775&r1=782774&r2=782775&view=diff
==============================================================================
--- 
hadoop/zookeeper/trunk/src/docs/src/documentation/content/xdocs/zookeeperProgrammers.xml
 (original)
+++ 
hadoop/zookeeper/trunk/src/docs/src/documentation/content/xdocs/zookeeperProgrammers.xml
 Mon Jun  8 20:38:46 2009
@@ -1045,9 +1045,9 @@
 
       <para>Finally, the rules associated with shutdown are straightforward:
       once a ZooKeeper object is closed or receives a fatal event
-      (SESSION_EXPIRED and AUTH_FAILED), the ZooKeeper object becomes invalid,
-      the two threads shut down, and any further ZooKeeper calls throw
-      errors.</para>
+      (SESSION_EXPIRED and AUTH_FAILED), the ZooKeeper object becomes invalid.
+      On a close, the two threads shut down and any further access on zookeeper
+      handle is undefined behavior and should be avoided. </para>
     </section>
 
     <section>


Reply via email to