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>