releasenotes.html 40 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <head>
  4. <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
  5. <meta content="Apache Forrest" name="Generator">
  6. <meta name="Forrest-version" content="0.8">
  7. <meta name="Forrest-skin-name" content="pelt">
  8. <title>ZooKeeper 3.0.1 Release Notes</title>
  9. <link type="text/css" href="skin/basic.css" rel="stylesheet">
  10. <link media="screen" type="text/css" href="skin/screen.css" rel="stylesheet">
  11. <link media="print" type="text/css" href="skin/print.css" rel="stylesheet">
  12. <link type="text/css" href="skin/profile.css" rel="stylesheet">
  13. <script src="skin/getBlank.js" language="javascript" type="text/javascript"></script><script src="skin/getMenu.js" language="javascript" type="text/javascript"></script><script src="skin/fontsize.js" language="javascript" type="text/javascript"></script>
  14. <link rel="shortcut icon" href="images/favicon.ico">
  15. </head>
  16. <body onload="init()">
  17. <script type="text/javascript">ndeSetTextSize();</script>
  18. <div id="top">
  19. <!--+
  20. |breadtrail
  21. +-->
  22. <div class="breadtrail">
  23. <a href="http://www.apache.org/">Apache</a> &gt; <a href="http://hadoop.apache.org/">Hadoop</a> &gt; <a href="http://hadoop.apache.org/zookeeper/">ZooKeeper</a><script src="skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script>
  24. </div>
  25. <!--+
  26. |header
  27. +-->
  28. <div class="header">
  29. <!--+
  30. |start group logo
  31. +-->
  32. <div class="grouplogo">
  33. <a href="http://hadoop.apache.org/"><img class="logoImage" alt="Hadoop" src="images/hadoop-logo.jpg" title="Apache Hadoop"></a>
  34. </div>
  35. <!--+
  36. |end group logo
  37. +-->
  38. <!--+
  39. |start Project Logo
  40. +-->
  41. <div class="projectlogo">
  42. <a href="http://hadoop.apache.org/zookeeper/"><img class="logoImage" alt="ZooKeeper" src="images/zookeeper_small.gif" title="The Hadoop database"></a>
  43. </div>
  44. <!--+
  45. |end Project Logo
  46. +-->
  47. <!--+
  48. |start Search
  49. +-->
  50. <div class="searchbox">
  51. <form action="http://www.google.com/search" method="get" class="roundtopsmall">
  52. <input value="hadoop.apache.org" name="sitesearch" type="hidden"><input onFocus="getBlank (this, 'Search the site with google');" size="25" name="q" id="query" type="text" value="Search the site with google">&nbsp;
  53. <input name="Search" value="Search" type="submit">
  54. </form>
  55. </div>
  56. <!--+
  57. |end search
  58. +-->
  59. <!--+
  60. |start Tabs
  61. +-->
  62. <ul id="tabs">
  63. <li>
  64. <a class="unselected" href="http://hadoop.apache.org/zookeeper/">Project</a>
  65. </li>
  66. <li>
  67. <a class="unselected" href="http://wiki.apache.org/hadoop/ZooKeeper">Wiki</a>
  68. </li>
  69. <li class="current">
  70. <a class="selected" href="index.html">ZooKeeper 3.0 Documentation</a>
  71. </li>
  72. </ul>
  73. <!--+
  74. |end Tabs
  75. +-->
  76. </div>
  77. </div>
  78. <div id="main">
  79. <div id="publishedStrip">
  80. <!--+
  81. |start Subtabs
  82. +-->
  83. <div id="level2tabs"></div>
  84. <!--+
  85. |end Endtabs
  86. +-->
  87. <script type="text/javascript"><!--
  88. document.write("Last Published: " + document.lastModified);
  89. // --></script>
  90. </div>
  91. <!--+
  92. |breadtrail
  93. +-->
  94. <div class="breadtrail">
  95. &nbsp;
  96. </div>
  97. <!--+
  98. |start Menu, mainarea
  99. +-->
  100. <!--+
  101. |start Menu
  102. +-->
  103. <div id="menu">
  104. <div onclick="SwitchMenu('menu_selected_1.1', 'skin/')" id="menu_selected_1.1Title" class="menutitle" style="background-image: url('skin/images/chapter_open.gif');">Overview</div>
  105. <div id="menu_selected_1.1" class="selectedmenuitemgroup" style="display: block;">
  106. <div class="menuitem">
  107. <a href="index.html">Welcome</a>
  108. </div>
  109. <div class="menuitem">
  110. <a href="zookeeperOver.html">Overview</a>
  111. </div>
  112. <div class="menuitem">
  113. <a href="zookeeperStarted.html">Getting Started</a>
  114. </div>
  115. <div class="menupage">
  116. <div class="menupagetitle">Release Notes</div>
  117. </div>
  118. </div>
  119. <div onclick="SwitchMenu('menu_1.2', 'skin/')" id="menu_1.2Title" class="menutitle">Developer</div>
  120. <div id="menu_1.2" class="menuitemgroup">
  121. <div class="menuitem">
  122. <a href="api/index.html">API Docs</a>
  123. </div>
  124. <div class="menuitem">
  125. <a href="zookeeperProgrammers.html">Programmer's Guide</a>
  126. </div>
  127. <div class="menuitem">
  128. <a href="javaExample.html">Java Example</a>
  129. </div>
  130. <div class="menuitem">
  131. <a href="zookeeperTutorial.html">Barrier and Queue Tutorial</a>
  132. </div>
  133. <div class="menuitem">
  134. <a href="recipes.html">Recipes</a>
  135. </div>
  136. </div>
  137. <div onclick="SwitchMenu('menu_1.3', 'skin/')" id="menu_1.3Title" class="menutitle">Admin &amp; Ops</div>
  138. <div id="menu_1.3" class="menuitemgroup">
  139. <div class="menuitem">
  140. <a href="zookeeperAdmin.html">Administrator's Guide</a>
  141. </div>
  142. </div>
  143. <div onclick="SwitchMenu('menu_1.4', 'skin/')" id="menu_1.4Title" class="menutitle">Contributor</div>
  144. <div id="menu_1.4" class="menuitemgroup">
  145. <div class="menuitem">
  146. <a href="zookeeperInternals.html">ZooKeeper Internals</a>
  147. </div>
  148. </div>
  149. <div onclick="SwitchMenu('menu_1.5', 'skin/')" id="menu_1.5Title" class="menutitle">Miscellaneous</div>
  150. <div id="menu_1.5" class="menuitemgroup">
  151. <div class="menuitem">
  152. <a href="http://wiki.apache.org/hadoop/ZooKeeper">Wiki</a>
  153. </div>
  154. <div class="menuitem">
  155. <a href="http://wiki.apache.org/hadoop/ZooKeeper/FAQ">FAQ</a>
  156. </div>
  157. <div class="menuitem">
  158. <a href="http://hadoop.apache.org/zookeeper/mailing_lists.html">Mailing Lists</a>
  159. </div>
  160. </div>
  161. <div id="credit"></div>
  162. <div id="roundbottom">
  163. <img style="display: none" class="corner" height="15" width="15" alt="" src="skin/images/rc-b-l-15-1body-2menu-3menu.png"></div>
  164. <!--+
  165. |alternative credits
  166. +-->
  167. <div id="credit2"></div>
  168. </div>
  169. <!--+
  170. |end Menu
  171. +-->
  172. <!--+
  173. |start content
  174. +-->
  175. <div id="content">
  176. <div title="Portable Document Format" class="pdflink">
  177. <a class="dida" href="releasenotes.pdf"><img alt="PDF -icon" src="skin/images/pdfdoc.gif" class="skin"><br>
  178. PDF</a>
  179. </div>
  180. <h1>ZooKeeper 3.0.1 Release Notes</h1>
  181. <div id="minitoc-area">
  182. <ul class="minitoc">
  183. <li>
  184. <a href="#migration">Migration Instructions when Upgrading to version 3</a>
  185. <ul class="minitoc">
  186. <li>
  187. <a href="#migration_code">Migrating Client Code</a>
  188. <ul class="minitoc">
  189. <li>
  190. <a href="#Watch+Management">Watch Management</a>
  191. </li>
  192. <li>
  193. <a href="#Java+API">Java API</a>
  194. </li>
  195. <li>
  196. <a href="#C+API">C API</a>
  197. </li>
  198. </ul>
  199. </li>
  200. <li>
  201. <a href="#migration_data">Migrating Server Data</a>
  202. </li>
  203. <li>
  204. <a href="#migration_config">Migrating Server Configuration</a>
  205. </li>
  206. </ul>
  207. </li>
  208. <li>
  209. <a href="#changes">ZooKeeper 3.0.1 Changes</a>
  210. </li>
  211. </ul>
  212. </div>
  213. <p>
  214. These release notes include new developer and user facing incompatibilities, features, and major improvements.
  215. </p>
  216. <ul>
  217. <li>
  218. <p>
  219. <a href="#migration">Migration Instructions</a>
  220. </p>
  221. </li>
  222. <li>
  223. <p>
  224. <a href="#changes">Changes</a>
  225. </p>
  226. </li>
  227. </ul>
  228. <a name="N1001B"></a><a name="migration"></a>
  229. <h2 class="h3">Migration Instructions when Upgrading to version 3</h2>
  230. <div class="section">
  231. <p>
  232. <em>You should only have to read this section if you are upgrading from a previous version of ZooKeeper, version 2 or earlier, to version 3, otw skip down to <a href="#changes">changes</a></em>
  233. </p>
  234. <p>
  235. A small number of changes in this release have resulted in non-backward compatible Zookeeper client user code and server instance data. The following instructions provide details on how to migrate code and date from version 2.2.1 to version 3.0.0.
  236. </p>
  237. <p>
  238. Note: ZooKeeper increments the major version number (major.minor.fix) when backward incompatible changes are made to the source base. As part of the migration from SourceForge we changed the package structure (com.yahoo.zookeeper.* to org.apache.zookeeper.*) and felt it was a good time to incorporate some changes that we had been withholding. As a result the following will be required when migrating from 2.2.1 to 3.0.0 version of ZooKeeper.
  239. </p>
  240. <ul>
  241. <li>
  242. <p>
  243. <a href="#migration_code">Migrating Client Code</a>
  244. </p>
  245. </li>
  246. <li>
  247. <p>
  248. <a href="#migration_data">Migrating Server Data</a>
  249. </p>
  250. </li>
  251. <li>
  252. <p>
  253. <a href="#migration_config">Migrating Server Configuration</a>
  254. </p>
  255. </li>
  256. </ul>
  257. <a name="N10045"></a><a name="migration_code"></a>
  258. <h3 class="h4">Migrating Client Code</h3>
  259. <p>
  260. The underlying client-server protocol has changed in version 3.0.0
  261. of ZooKeeper. As a result clients must be upgraded along with
  262. serving clusters to ensure proper operation of the system (old
  263. pre-3.0.0 clients are not guaranteed to operate against upgraded
  264. 3.0.0 servers and vice-versa).
  265. </p>
  266. <a name="N1004E"></a><a name="Watch+Management"></a>
  267. <h4>Watch Management</h4>
  268. <p>
  269. In previous releases of ZooKeeper any watches registered by clients were lost if the client lost a connection to a ZooKeeper server.
  270. This meant that developers had to track watches they were interested in and reregister them if a session disconnect event was recieved.
  271. In this release the client library tracks watches that a client has registered and reregisters the watches when a connection is made to a new server.
  272. Applications that still manually reregister interest should continue working properly as long as they are able to handle unsolicited watches.
  273. For example, an old application may register a watch for /foo and /goo, lose the connection, and reregister only /goo.
  274. As long as the application is able to recieve a notification for /foo, (probably ignoring it) the applications does not to be changes.
  275. One caveat to the watch management: it is possible to miss an event for the creation and deletion of a znode if watching for creation and both the create and delete happens while the client is disconnected from ZooKeeper.
  276. </p>
  277. <p>
  278. This release also allows clients to specify call specific watch functions.
  279. This gives the developer the ability to modularize logic in different watch functions rather than cramming everything in the watch function attached to the ZooKeeper handle.
  280. Call specific watch functions receive all session events for as long as they are active, but will only receive the watch callbacks for which they are registered.
  281. </p>
  282. <a name="N1005B"></a><a name="Java+API"></a>
  283. <h4>Java API</h4>
  284. <ol>
  285. <li>
  286. <p>The java package structure has changed from <strong>com.yahoo.zookeeper*</strong> to <strong>org.apache.zookeeper*</strong>. This will probably effect all of your java code which makes use of ZooKeeper APIs (typically import statements)</p>
  287. </li>
  288. <li>
  289. <p>A number of constants used in the client ZooKeeper API were re-specified using enums (rather than ints). See <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-7">ZOOKEEPER-7</a>, <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-132">ZOOKEEPER-132</a> and <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-139">ZOOKEEPER-139</a> for full details</p>
  290. </li>
  291. <li>
  292. <p>
  293. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-18">ZOOKEEPER-18</a> removed KeeperStateChanged, use KeeperStateDisconnected instead</p>
  294. </li>
  295. </ol>
  296. <p>
  297. Also see <a href="http://hadoop.apache.org/zookeeper/docs/current/api/index.html">the current java API</a>
  298. </p>
  299. <a name="N1008D"></a><a name="C+API"></a>
  300. <h4>C API</h4>
  301. <ol>
  302. <li>
  303. <p>A number of constants used in the client ZooKeeper API were renamed in order to reduce namespace collision, see <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-6">ZOOKEEPER-6</a> for full details</p>
  304. </li>
  305. </ol>
  306. <a name="N100A0"></a><a name="migration_data"></a>
  307. <h3 class="h4">Migrating Server Data</h3>
  308. <p>
  309. The following issues resulted in changes to the on-disk data format (the snapshot and transaction log files contained within the ZK data directory) and require a migration utility to be run.
  310. </p>
  311. <ul>
  312. <li>
  313. <p>
  314. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-27">ZOOKEEPER-27 Unique DB identifiers for servers and clients</a>
  315. </p>
  316. </li>
  317. <li>
  318. <p>
  319. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-32">ZOOKEEPER-32 CRCs for ZooKeeper data</a>
  320. </p>
  321. </li>
  322. <li>
  323. <p>
  324. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-33">ZOOKEEPER-33 Better ACL management</a>
  325. </p>
  326. </li>
  327. <li>
  328. <p>
  329. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-38">ZOOKEEPER-38 headers (version+) in log/snap files</a>
  330. </p>
  331. </li>
  332. </ul>
  333. <p>
  334. <strong>The following must be run once, and only once, when upgrading the ZooKeeper server instances to version 3.0.0.</strong>
  335. </p>
  336. <div class="note">
  337. <div class="label">Note</div>
  338. <div class="content">
  339. <p>
  340. The &lt;dataLogDir&gt; and &lt;dataDir&gt; directories referenced
  341. below are specified by the <em>dataLogDir</em>
  342. and <em>dataDir</em> specification in your
  343. ZooKeeper config file
  344. respectively. <em>dataLogDir</em> defaults to the
  345. value of <em>dataDir</em> if not specified explicitly
  346. in the ZooKeeper server config file (in which case provide the
  347. same directory for both parameters to the upgrade utility).
  348. </p>
  349. </div>
  350. </div>
  351. <ol>
  352. <li>
  353. <p>Shutdown the ZooKeeper server cluster.</p>
  354. </li>
  355. <li>
  356. <p>Backup your &lt;dataLogDir&gt; and &lt;dataDir&gt; directories</p>
  357. </li>
  358. <li>
  359. <p>Run upgrade using</p>
  360. <ul>
  361. <li>
  362. <p>
  363. <span class="codefrag computeroutput">bin/zkServer.sh upgrade &lt;dataLogDir&gt; &lt;dataDir&gt;</span>
  364. </p>
  365. </li>
  366. </ul>
  367. <p>or</p>
  368. <ul>
  369. <li>
  370. <p>
  371. <span class="codefrag computeroutput">java -classpath pathtolog4j:pathtozookeeper.jar UpgradeMain &lt;dataLogDir&gt; &lt;dataDir&gt;</span>
  372. </p>
  373. </li>
  374. </ul>
  375. <p>where &lt;dataLogDir&gt; is the directory where all transaction logs (log.*) are stored. &lt;dataDir&gt; is the directory where all the snapshots (snapshot.*) are stored.</p>
  376. </li>
  377. <li>
  378. <p>Restart the cluster. </p>
  379. </li>
  380. </ol>
  381. <p>
  382. If you have any failure during the upgrade procedure keep reading to sanitize your database.
  383. </p>
  384. <p>This is how upgrade works in ZooKeeper. This will help you troubleshoot in case you have problems while upgrading</p>
  385. <ol>
  386. <li>
  387. <p>Upgrade moves files from &lt;dataLogDir&gt; and &lt;dataDir&gt; to &lt;dataLogDir&gt;/version-1/ and &lt;dataDir&gt;/version-1 respectively (version-1 sub-directory is created by the upgrade utility). </p>
  388. </li>
  389. <li>
  390. <p>Upgrade creates a new version sub-directory &lt;dataDir&gt;/version-2 and &lt;dataLogDir&gt;/version-2</p>
  391. </li>
  392. <li>
  393. <p>Upgrade reads the old database from &lt;dataDir&gt;/version-1 and &lt;dataLogDir&gt;/version-1 into the memory and creates a new upgraded snapshot. </p>
  394. </li>
  395. <li>
  396. <p>Upgrade writes the new database in &lt;dataDir&gt;/version-2. </p>
  397. </li>
  398. </ol>
  399. <p>Troubleshooting.</p>
  400. <ol>
  401. <li>
  402. <p>In case you start ZooKeeper 3.0 without upgrading from 2.0 on a 2.0 database - the servers will start up with an empty database.
  403. This is because the servers assume that &lt;dataDir&gt;/version-2 and &lt;dataLogDir&gt;/version-2 will have the database to start with. Since this will be empty
  404. in case of no upgrade, the servers will start with an empty database. In such a case, shutdown the ZooKeeper servers, remove the version-2 directory (remember
  405. this will lead to loss of updates after you started 3.0.)
  406. and then start the upgrade procedure.</p>
  407. </li>
  408. <li>
  409. <p>If the upgrade fails while trying to rename files into the version-1 directory, you should try and move all the files under &lt;dataDir&gt;/version-1
  410. and &lt;dataLogDir&gt;/version-1 to &lt;dataDir&gt; and &lt;dataLogDir&gt; respectively. Then try upgrade again.
  411. </p>
  412. </li>
  413. <li>
  414. <p> If you do not wish to run with ZooKeeper 3.0 and prefer to run with ZooKeeper 2.0 and have already upgraded - you can run ZooKeeper 2 with
  415. the &lt;dataDir&gt; and &lt;dataLogDir&gt; directories changed to &lt;dataDir&gt;/version-1 and &lt;dataLogDir&gt;/version-1. Remember that you will lose all the updates that you made after the upgrade.
  416. </p>
  417. </li>
  418. </ol>
  419. <a name="N10135"></a><a name="migration_config"></a>
  420. <h3 class="h4">Migrating Server Configuration</h3>
  421. <p>
  422. There is a significant change to the ZooKeeper server configuration file.
  423. </p>
  424. <p>The default election algorithm, specified by
  425. the <em>electionAlg</em> configuration attribute, has
  426. changed from a default of <em>0</em> to a default
  427. of <em>3</em>. See
  428. <a href="zookeeperAdmin.html#sc_clusterOptions">Cluster
  429. Options</a> section of the administrators guide, specifically
  430. the <em>electionAlg</em>
  431. and <em>server.X</em> properties.
  432. </p>
  433. <p>
  434. You will either need to explicitly
  435. set <em>electionAlg</em> to it's previous default value
  436. of <em>0</em> or change
  437. your <em>server.X</em> options to include the leader
  438. election port.
  439. </p>
  440. </div>
  441. <a name="N10162"></a><a name="changes"></a>
  442. <h2 class="h3">ZooKeeper 3.0.1 Changes</h2>
  443. <div class="section">
  444. <table class="ForrestTable" cellspacing="1" cellpadding="4">
  445. <caption>Changes Since ZooKeeper 3.0.0</caption>
  446. <title>Changes Since ZooKeeper 3.0.0</title>
  447. <tr>
  448. <th>Issue</th>
  449. <th>Notes</th>
  450. </tr>
  451. <tr>
  452. <td>
  453. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-211">
  454. ZOOKEEPER-211</a>
  455. </td>
  456. <td>
  457. Not all Mock tests are working
  458. </td>
  459. </tr>
  460. <tr>
  461. <td>
  462. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-223">
  463. ZOOKEEPER-223</a>
  464. </td>
  465. <td>
  466. change default level in root logger to INFO.
  467. </td>
  468. </tr>
  469. <tr>
  470. <td>
  471. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-212">
  472. ZOOKEEPER-212</a>
  473. </td>
  474. <td>
  475. fix the snapshot to be asynchronous.
  476. </td>
  477. </tr>
  478. <tr>
  479. <td>
  480. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-213">
  481. ZOOKEEPER-213</a>
  482. </td>
  483. <td>
  484. fix programmer guide C api docs to be in sync with latest zookeeper.h
  485. </td>
  486. </tr>
  487. <tr>
  488. <td>
  489. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-219">
  490. ZOOKEEPER-219</a>
  491. </td>
  492. <td>
  493. fix events.poll timeout in watcher test to be longer.
  494. </td>
  495. </tr>
  496. <tr>
  497. <td>
  498. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-217">
  499. ZOOKEEPER-217</a>
  500. </td>
  501. <td>
  502. Fix errors in config to be thrown as Exceptions.
  503. </td>
  504. </tr>
  505. <tr>
  506. <td>
  507. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-228">
  508. ZOOKEEPER-228</a>
  509. </td>
  510. <td>
  511. fix apache header missing in DBTest.
  512. </td>
  513. </tr>
  514. <tr>
  515. <td>
  516. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-218">
  517. ZOOKEEPER-218</a>
  518. </td>
  519. <td>
  520. fix the error in the barrier example code.
  521. </td>
  522. </tr>
  523. <tr>
  524. <td>
  525. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-206">
  526. ZOOKEEPER-206</a>
  527. </td>
  528. <td>
  529. documentation tab should contain the version number and other small site changes.
  530. </td>
  531. </tr>
  532. <tr>
  533. <td>
  534. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-226">
  535. ZOOKEEPER-226</a>
  536. </td>
  537. <td>
  538. fix exists calls that fail on server if node has null data.
  539. </td>
  540. </tr>
  541. <tr>
  542. <td>
  543. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-204">
  544. ZOOKEEPER-204</a>
  545. </td>
  546. <td>
  547. SetWatches needs to be the first message after auth messages to the server
  548. </td>
  549. </tr>
  550. <tr>
  551. <td>
  552. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-208">
  553. ZOOKEEPER-208</a>
  554. </td>
  555. <td>
  556. Zookeeper C client uses API that are not thread safe, causing crashes when multiple instances are active.
  557. </td>
  558. </tr>
  559. <tr>
  560. <td>
  561. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-227">
  562. ZOOKEEPER-227</a>
  563. </td>
  564. <td>
  565. gcc warning from recordio.h
  566. </td>
  567. </tr>
  568. <tr>
  569. <td>
  570. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-232">
  571. ZOOKEEPER-232</a>
  572. </td>
  573. <td>
  574. fix apache licence header in TestableZookeeper
  575. </td>
  576. </tr>
  577. </table>
  578. <p>
  579. Version 2.2.1 code, documentation, binaries, etc... are still accessible on <a href="http://sourceforge.net/projects/zookeeper">SourceForge</a>
  580. </p>
  581. <table class="ForrestTable" cellspacing="1" cellpadding="4">
  582. <caption>Changes Since ZooKeeper 2.2.1</caption>
  583. <title>Changes Since ZooKeeper 2.2.1</title>
  584. <tr>
  585. <th>Issue</th>
  586. <th>Notes</th>
  587. </tr>
  588. <tr>
  589. <td>
  590. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-43">
  591. ZOOKEEPER-43</a>
  592. </td>
  593. <td>
  594. Server side of auto reset watches.
  595. </td>
  596. </tr>
  597. <tr>
  598. <td>
  599. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-132">
  600. ZOOKEEPER-132</a>
  601. </td>
  602. <td>
  603. Create Enum to replace CreateFlag in ZooKepper.create method
  604. </td>
  605. </tr>
  606. <tr>
  607. <td>
  608. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-139">
  609. ZOOKEEPER-139</a>
  610. </td>
  611. <td>
  612. Create Enums for WatcherEvent's KeeperState and EventType
  613. </td>
  614. </tr>
  615. <tr>
  616. <td>
  617. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-18">
  618. ZOOKEEPER-18</a>
  619. </td>
  620. <td>
  621. keeper state inconsistency
  622. </td>
  623. </tr>
  624. <tr>
  625. <td>
  626. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-38">
  627. ZOOKEEPER-38</a>
  628. </td>
  629. <td>
  630. headers in log/snap files
  631. </td>
  632. </tr>
  633. <tr>
  634. <td>
  635. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-8">
  636. ZOOKEEPER-8</a>
  637. </td>
  638. <td>
  639. Stat enchaned to include num of children and size
  640. </td>
  641. </tr>
  642. <tr>
  643. <td>
  644. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-6">
  645. ZOOKEEPER-6</a>
  646. </td>
  647. <td>
  648. List of problem identifiers in zookeeper.h
  649. </td>
  650. </tr>
  651. <tr>
  652. <td>
  653. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-7">
  654. ZOOKEEPER-7</a>
  655. </td>
  656. <td>
  657. Use enums rather than ints for types and state
  658. </td>
  659. </tr>
  660. <tr>
  661. <td>
  662. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-27">
  663. ZOOKEEPER-27</a>
  664. </td>
  665. <td>
  666. Unique DB identifiers for servers and clients
  667. </td>
  668. </tr>
  669. <tr>
  670. <td>
  671. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-32">
  672. ZOOKEEPER-32</a>
  673. </td>
  674. <td>
  675. CRCs for ZooKeeper data
  676. </td>
  677. </tr>
  678. <tr>
  679. <td>
  680. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-33">
  681. ZOOKEEPER-33</a>
  682. </td>
  683. <td>
  684. Better ACL management
  685. </td>
  686. </tr>
  687. <tr>
  688. <td>
  689. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-203">
  690. ZOOKEEPER-203</a>
  691. </td>
  692. <td>
  693. fix datadir typo in releasenotes
  694. </td>
  695. </tr>
  696. <tr>
  697. <td>
  698. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-145">
  699. ZOOKEEPER-145</a>
  700. </td>
  701. <td>
  702. write detailed release notes for users migrating from 2.x to 3.0
  703. </td>
  704. </tr>
  705. <tr>
  706. <td>
  707. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-23">
  708. ZOOKEEPER-23</a>
  709. </td>
  710. <td>
  711. Auto reset of watches on reconnect
  712. </td>
  713. </tr>
  714. <tr>
  715. <td>
  716. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-191">
  717. ZOOKEEPER-191</a>
  718. </td>
  719. <td>
  720. forrest docs for upgrade.
  721. </td>
  722. </tr>
  723. <tr>
  724. <td>
  725. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-201">
  726. ZOOKEEPER-201</a>
  727. </td>
  728. <td>
  729. validate magic number when reading snapshot and transaction logs
  730. </td>
  731. </tr>
  732. <tr>
  733. <td>
  734. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-200">
  735. ZOOKEEPER-200</a>
  736. </td>
  737. <td>
  738. the magic number for snapshot and log must be different
  739. </td>
  740. </tr>
  741. <tr>
  742. <td>
  743. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-199">
  744. ZOOKEEPER-199</a>
  745. </td>
  746. <td>
  747. fix log messages in persistence code
  748. </td>
  749. </tr>
  750. <tr>
  751. <td>
  752. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-197">
  753. ZOOKEEPER-197</a>
  754. </td>
  755. <td>
  756. create checksums for snapshots
  757. </td>
  758. </tr>
  759. <tr>
  760. <td>
  761. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-198">
  762. ZOOKEEPER-198</a>
  763. </td>
  764. <td>
  765. apache license header missing from FollowerSyncRequest.java
  766. </td>
  767. </tr>
  768. <tr>
  769. <td>
  770. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-5">
  771. ZOOKEEPER-5</a>
  772. </td>
  773. <td>
  774. Upgrade Feature in Zookeeper server.
  775. </td>
  776. </tr>
  777. <tr>
  778. <td>
  779. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-194">
  780. ZOOKEEPER-194</a>
  781. </td>
  782. <td>
  783. Fix terminology in zookeeperAdmin.xml
  784. </td>
  785. </tr>
  786. <tr>
  787. <td>
  788. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-151">
  789. ZOOKEEPER-151</a>
  790. </td>
  791. <td>
  792. Document change to server configuration
  793. </td>
  794. </tr>
  795. <tr>
  796. <td>
  797. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-193">
  798. ZOOKEEPER-193</a>
  799. </td>
  800. <td>
  801. update java example doc to compile with latest zookeeper
  802. </td>
  803. </tr>
  804. <tr>
  805. <td>
  806. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-187">
  807. ZOOKEEPER-187</a>
  808. </td>
  809. <td>
  810. CreateMode api docs missing
  811. </td>
  812. </tr>
  813. <tr>
  814. <td>
  815. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-186">
  816. ZOOKEEPER-186</a>
  817. </td>
  818. <td>
  819. add new "releasenotes.xml" to forrest documentation
  820. </td>
  821. </tr>
  822. <tr>
  823. <td>
  824. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-190">
  825. ZOOKEEPER-190</a>
  826. </td>
  827. <td>
  828. Reorg links to docs and navs to docs into related sections
  829. </td>
  830. </tr>
  831. <tr>
  832. <td>
  833. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-189">
  834. ZOOKEEPER-189</a>
  835. </td>
  836. <td>
  837. forrest build not validated xml of input documents
  838. </td>
  839. </tr>
  840. <tr>
  841. <td>
  842. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-188">
  843. ZOOKEEPER-188</a>
  844. </td>
  845. <td>
  846. Check that election port is present for all servers
  847. </td>
  848. </tr>
  849. <tr>
  850. <td>
  851. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-185">
  852. ZOOKEEPER-185</a>
  853. </td>
  854. <td>
  855. Improved version of FLETest
  856. </td>
  857. </tr>
  858. <tr>
  859. <td>
  860. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-184">
  861. ZOOKEEPER-184</a>
  862. </td>
  863. <td>
  864. tests: An explicit include derective is needed for the usage of memcpy functions
  865. </td>
  866. </tr>
  867. <tr>
  868. <td>
  869. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-183">
  870. ZOOKEEPER-183</a>
  871. </td>
  872. <td>
  873. Array subscript is above array bounds in od_completion, src/cli.c.
  874. </td>
  875. </tr>
  876. <tr>
  877. <td>
  878. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-182">
  879. ZOOKEEPER-182</a>
  880. </td>
  881. <td>
  882. zookeeper_init accepts empty host-port string and returns valid pointer to zhandle_t.
  883. </td>
  884. </tr>
  885. <tr>
  886. <td>
  887. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-17">
  888. ZOOKEEPER-17</a>
  889. </td>
  890. <td>
  891. zookeeper_init doc needs clarification
  892. </td>
  893. </tr>
  894. <tr>
  895. <td>
  896. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-181">
  897. ZOOKEEPER-181</a>
  898. </td>
  899. <td>
  900. Some Source Forge Documents did not get moved over: javaExample, zookeeperTutorial, zookeeperInternals
  901. </td>
  902. </tr>
  903. <tr>
  904. <td>
  905. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-180">
  906. ZOOKEEPER-180</a>
  907. </td>
  908. <td>
  909. Placeholder sections needed in document for new topics that the umbrella jira discusses
  910. </td>
  911. </tr>
  912. <tr>
  913. <td>
  914. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-179">
  915. ZOOKEEPER-179</a>
  916. </td>
  917. <td>
  918. Programmer's Guide "Basic Operations" section is missing content
  919. </td>
  920. </tr>
  921. <tr>
  922. <td>
  923. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-178">
  924. ZOOKEEPER-178</a>
  925. </td>
  926. <td>
  927. FLE test.
  928. </td>
  929. </tr>
  930. <tr>
  931. <td>
  932. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-159">
  933. ZOOKEEPER-159</a>
  934. </td>
  935. <td>
  936. Cover two corner cases of leader election
  937. </td>
  938. </tr>
  939. <tr>
  940. <td>
  941. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-156">
  942. ZOOKEEPER-156</a>
  943. </td>
  944. <td>
  945. update programmer guide with acl details from old wiki page
  946. </td>
  947. </tr>
  948. <tr>
  949. <td>
  950. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-154">
  951. ZOOKEEPER-154</a>
  952. </td>
  953. <td>
  954. reliability graph diagram in overview doc needs context
  955. </td>
  956. </tr>
  957. <tr>
  958. <td>
  959. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-157">
  960. ZOOKEEPER-157</a>
  961. </td>
  962. <td>
  963. Peer can't find existing leader
  964. </td>
  965. </tr>
  966. <tr>
  967. <td>
  968. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-155">
  969. ZOOKEEPER-155</a>
  970. </td>
  971. <td>
  972. improve "the zookeeper project" section of overview doc
  973. </td>
  974. </tr>
  975. <tr>
  976. <td>
  977. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-140">
  978. ZOOKEEPER-140</a>
  979. </td>
  980. <td>
  981. Deadlock in QuorumCnxManager
  982. </td>
  983. </tr>
  984. <tr>
  985. <td>
  986. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-147">
  987. ZOOKEEPER-147</a>
  988. </td>
  989. <td>
  990. This is version of the documents with most of the [tbd...] scrubbed out
  991. </td>
  992. </tr>
  993. <tr>
  994. <td>
  995. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-150">
  996. ZOOKEEPER-150</a>
  997. </td>
  998. <td>
  999. zookeeper build broken
  1000. </td>
  1001. </tr>
  1002. <tr>
  1003. <td>
  1004. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-136">
  1005. ZOOKEEPER-136</a>
  1006. </td>
  1007. <td>
  1008. sync causes hang in all followers of quorum.
  1009. </td>
  1010. </tr>
  1011. <tr>
  1012. <td>
  1013. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-134">
  1014. ZOOKEEPER-134</a>
  1015. </td>
  1016. <td>
  1017. findbugs cleanup
  1018. </td>
  1019. </tr>
  1020. <tr>
  1021. <td>
  1022. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-133">
  1023. ZOOKEEPER-133</a>
  1024. </td>
  1025. <td>
  1026. hudson tests failing intermittently
  1027. </td>
  1028. </tr>
  1029. <tr>
  1030. <td>
  1031. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-144">
  1032. ZOOKEEPER-144</a>
  1033. </td>
  1034. <td>
  1035. add tostring support for watcher event, and enums for event type/state
  1036. </td>
  1037. </tr>
  1038. <tr>
  1039. <td>
  1040. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-21">
  1041. ZOOKEEPER-21</a>
  1042. </td>
  1043. <td>
  1044. Improve zk ctor/watcher
  1045. </td>
  1046. </tr>
  1047. <tr>
  1048. <td>
  1049. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-142">
  1050. ZOOKEEPER-142</a>
  1051. </td>
  1052. <td>
  1053. Provide Javadoc as to the maximum size of the data byte array that may be stored within a znode
  1054. </td>
  1055. </tr>
  1056. <tr>
  1057. <td>
  1058. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-93">
  1059. ZOOKEEPER-93</a>
  1060. </td>
  1061. <td>
  1062. Create Documentation for Zookeeper
  1063. </td>
  1064. </tr>
  1065. <tr>
  1066. <td>
  1067. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-117">
  1068. ZOOKEEPER-117</a>
  1069. </td>
  1070. <td>
  1071. threading issues in Leader election
  1072. </td>
  1073. </tr>
  1074. <tr>
  1075. <td>
  1076. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-137">
  1077. ZOOKEEPER-137</a>
  1078. </td>
  1079. <td>
  1080. client watcher objects can lose events
  1081. </td>
  1082. </tr>
  1083. <tr>
  1084. <td>
  1085. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-131">
  1086. ZOOKEEPER-131</a>
  1087. </td>
  1088. <td>
  1089. Old leader election can elect a dead leader over and over again
  1090. </td>
  1091. </tr>
  1092. <tr>
  1093. <td>
  1094. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-130">
  1095. ZOOKEEPER-130</a>
  1096. </td>
  1097. <td>
  1098. update build.xml to support apache release process
  1099. </td>
  1100. </tr>
  1101. <tr>
  1102. <td>
  1103. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-118">
  1104. ZOOKEEPER-118</a>
  1105. </td>
  1106. <td>
  1107. findbugs flagged switch statement in followerrequestprocessor.run
  1108. </td>
  1109. </tr>
  1110. <tr>
  1111. <td>
  1112. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-115">
  1113. ZOOKEEPER-115</a>
  1114. </td>
  1115. <td>
  1116. Potential NPE in QuorumCnxManager
  1117. </td>
  1118. </tr>
  1119. <tr>
  1120. <td>
  1121. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-114">
  1122. ZOOKEEPER-114</a>
  1123. </td>
  1124. <td>
  1125. cleanup ugly event messages in zookeeper client
  1126. </td>
  1127. </tr>
  1128. <tr>
  1129. <td>
  1130. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-112">
  1131. ZOOKEEPER-112</a>
  1132. </td>
  1133. <td>
  1134. src/java/main ZooKeeper.java has test code embedded into it.
  1135. </td>
  1136. </tr>
  1137. <tr>
  1138. <td>
  1139. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-39">
  1140. ZOOKEEPER-39</a>
  1141. </td>
  1142. <td>
  1143. Use Watcher objects rather than boolean on read operations.
  1144. </td>
  1145. </tr>
  1146. <tr>
  1147. <td>
  1148. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-97">
  1149. ZOOKEEPER-97</a>
  1150. </td>
  1151. <td>
  1152. supports optional output directory in code generator.
  1153. </td>
  1154. </tr>
  1155. <tr>
  1156. <td>
  1157. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-101">
  1158. ZOOKEEPER-101</a>
  1159. </td>
  1160. <td>
  1161. Integrate ZooKeeper with "violations" feature on hudson
  1162. </td>
  1163. </tr>
  1164. <tr>
  1165. <td>
  1166. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-105">
  1167. ZOOKEEPER-105</a>
  1168. </td>
  1169. <td>
  1170. Catch Zookeeper exceptions and print on the stderr.
  1171. </td>
  1172. </tr>
  1173. <tr>
  1174. <td>
  1175. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-42">
  1176. ZOOKEEPER-42</a>
  1177. </td>
  1178. <td>
  1179. Change Leader Election to fast tcp.
  1180. </td>
  1181. </tr>
  1182. <tr>
  1183. <td>
  1184. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-48">
  1185. ZOOKEEPER-48</a>
  1186. </td>
  1187. <td>
  1188. auth_id now handled correctly when no auth ids present
  1189. </td>
  1190. </tr>
  1191. <tr>
  1192. <td>
  1193. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-44">
  1194. ZOOKEEPER-44</a>
  1195. </td>
  1196. <td>
  1197. Create sequence flag children with prefixes of 0's so that they can be lexicographically sorted.
  1198. </td>
  1199. </tr>
  1200. <tr>
  1201. <td>
  1202. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-108">
  1203. ZOOKEEPER-108</a>
  1204. </td>
  1205. <td>
  1206. Fix sync operation reordering on a Quorum.
  1207. </td>
  1208. </tr>
  1209. <tr>
  1210. <td>
  1211. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-25">
  1212. ZOOKEEPER-25</a>
  1213. </td>
  1214. <td>
  1215. Fuse module for Zookeeper.
  1216. </td>
  1217. </tr>
  1218. <tr>
  1219. <td>
  1220. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-58">
  1221. ZOOKEEPER-58</a>
  1222. </td>
  1223. <td>
  1224. Race condition on ClientCnxn.java
  1225. </td>
  1226. </tr>
  1227. <tr>
  1228. <td>
  1229. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-56">
  1230. ZOOKEEPER-56</a>
  1231. </td>
  1232. <td>
  1233. Add clover support to build.xml.
  1234. </td>
  1235. </tr>
  1236. <tr>
  1237. <td>
  1238. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-75">
  1239. ZOOKEEPER-75</a>
  1240. </td>
  1241. <td>
  1242. register the ZooKeeper mailing lists with nabble.com
  1243. </td>
  1244. </tr>
  1245. <tr>
  1246. <td>
  1247. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-54">
  1248. ZOOKEEPER-54</a>
  1249. </td>
  1250. <td>
  1251. remove sleeps in the tests.
  1252. </td>
  1253. </tr>
  1254. <tr>
  1255. <td>
  1256. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-55">
  1257. ZOOKEEPER-55</a>
  1258. </td>
  1259. <td>
  1260. build.xml failes to retrieve a release number from SVN and the ant target "dist" fails
  1261. </td>
  1262. </tr>
  1263. <tr>
  1264. <td>
  1265. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-89">
  1266. ZOOKEEPER-89</a>
  1267. </td>
  1268. <td>
  1269. invoke WhenOwnerListener.whenNotOwner when the ZK connection fails
  1270. </td>
  1271. </tr>
  1272. <tr>
  1273. <td>
  1274. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-90">
  1275. ZOOKEEPER-90</a>
  1276. </td>
  1277. <td>
  1278. invoke WhenOwnerListener.whenNotOwner when the ZK session expires and the znode is the leader
  1279. </td>
  1280. </tr>
  1281. <tr>
  1282. <td>
  1283. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-82">
  1284. ZOOKEEPER-82</a>
  1285. </td>
  1286. <td>
  1287. Make the ZooKeeperServer more DI friendly.
  1288. </td>
  1289. </tr>
  1290. <tr>
  1291. <td>
  1292. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-110">
  1293. ZOOKEEPER-110</a>
  1294. </td>
  1295. <td>
  1296. Build script relies on svnant, which is not compatible with subversion 1.5 working copies
  1297. </td>
  1298. </tr>
  1299. <tr>
  1300. <td>
  1301. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-111">
  1302. ZOOKEEPER-111</a>
  1303. </td>
  1304. <td>
  1305. Significant cleanup of existing tests.
  1306. </td>
  1307. </tr>
  1308. <tr>
  1309. <td>
  1310. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-122">
  1311. ZOOKEEPER-122</a>
  1312. </td>
  1313. <td>
  1314. Fix NPE in jute's Utils.toCSVString.
  1315. </td>
  1316. </tr>
  1317. <tr>
  1318. <td>
  1319. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-123">
  1320. ZOOKEEPER-123</a>
  1321. </td>
  1322. <td>
  1323. Fix the wrong class is specified for the logger.
  1324. </td>
  1325. </tr>
  1326. <tr>
  1327. <td>
  1328. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-2">
  1329. ZOOKEEPER-2</a>
  1330. </td>
  1331. <td>
  1332. Fix synchronization issues in QuorumPeer and FastLeader election.
  1333. </td>
  1334. </tr>
  1335. <tr>
  1336. <td>
  1337. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-125">
  1338. ZOOKEEPER-125</a>
  1339. </td>
  1340. <td>
  1341. Remove unwanted class declaration in FastLeaderElection.
  1342. </td>
  1343. </tr>
  1344. <tr>
  1345. <td>
  1346. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-61">
  1347. ZOOKEEPER-61</a>
  1348. </td>
  1349. <td>
  1350. Address in client/server test cases.
  1351. </td>
  1352. </tr>
  1353. <tr>
  1354. <td>
  1355. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-75">
  1356. ZOOKEEPER-75</a>
  1357. </td>
  1358. <td>
  1359. cleanup the library directory
  1360. </td>
  1361. </tr>
  1362. <tr>
  1363. <td>
  1364. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-109">
  1365. ZOOKEEPER-109</a>
  1366. </td>
  1367. <td>
  1368. cleanup of NPE and Resource issue nits found by static analysis
  1369. </td>
  1370. </tr>
  1371. <tr>
  1372. <td>
  1373. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-76">
  1374. ZOOKEEPER-76</a>
  1375. </td>
  1376. <td>
  1377. Commit 677109 removed the cobertura library, but not the build targets.
  1378. </td>
  1379. </tr>
  1380. <tr>
  1381. <td>
  1382. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-63">
  1383. ZOOKEEPER-63</a>
  1384. </td>
  1385. <td>
  1386. Race condition in client close
  1387. </td>
  1388. </tr>
  1389. <tr>
  1390. <td>
  1391. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-70">
  1392. ZOOKEEPER-70</a>
  1393. </td>
  1394. <td>
  1395. Add skeleton forrest doc structure for ZooKeeper
  1396. </td>
  1397. </tr>
  1398. <tr>
  1399. <td>
  1400. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-79">
  1401. ZOOKEEPER-79</a>
  1402. </td>
  1403. <td>
  1404. Document jacob's leader election on the wiki recipes page
  1405. </td>
  1406. </tr>
  1407. <tr>
  1408. <td>
  1409. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-73">
  1410. ZOOKEEPER-73</a>
  1411. </td>
  1412. <td>
  1413. Move ZK wiki from SourceForge to Apache
  1414. </td>
  1415. </tr>
  1416. <tr>
  1417. <td>
  1418. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-72">
  1419. ZOOKEEPER-72</a>
  1420. </td>
  1421. <td>
  1422. Initial creation/setup of ZooKeeper ASF site.
  1423. </td>
  1424. </tr>
  1425. <tr>
  1426. <td>
  1427. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-71">
  1428. ZOOKEEPER-71</a>
  1429. </td>
  1430. <td>
  1431. Determine what to do re ZooKeeper Changelog
  1432. </td>
  1433. </tr>
  1434. <tr>
  1435. <td>
  1436. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-68">
  1437. ZOOKEEPER-68</a>
  1438. </td>
  1439. <td>
  1440. parseACLs in ZooKeeper.java fails to parse elements of ACL, should be lastIndexOf rather than IndexOf
  1441. </td>
  1442. </tr>
  1443. <tr>
  1444. <td>
  1445. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-130">
  1446. ZOOKEEPER-130</a>
  1447. </td>
  1448. <td>
  1449. update build.xml to support apache release process.
  1450. </td>
  1451. </tr>
  1452. <tr>
  1453. <td>
  1454. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-131">
  1455. ZOOKEEPER-131</a>
  1456. </td>
  1457. <td>
  1458. Fix Old leader election can elect a dead leader over and over again.
  1459. </td>
  1460. </tr>
  1461. <tr>
  1462. <td>
  1463. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-137">
  1464. ZOOKEEPER-137</a>
  1465. </td>
  1466. <td>
  1467. client watcher objects can lose events
  1468. </td>
  1469. </tr>
  1470. <tr>
  1471. <td>
  1472. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-117">
  1473. ZOOKEEPER-117</a>
  1474. </td>
  1475. <td>
  1476. threading issues in Leader election
  1477. </td>
  1478. </tr>
  1479. <tr>
  1480. <td>
  1481. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-128">
  1482. ZOOKEEPER-128</a>
  1483. </td>
  1484. <td>
  1485. test coverage on async client operations needs to be improved
  1486. </td>
  1487. </tr>
  1488. <tr>
  1489. <td>
  1490. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-127">
  1491. ZOOKEEPER-127</a>
  1492. </td>
  1493. <td>
  1494. Use of non-standard election ports in config breaks services
  1495. </td>
  1496. </tr>
  1497. <tr>
  1498. <td>
  1499. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-53">
  1500. ZOOKEEPER-53</a>
  1501. </td>
  1502. <td>
  1503. tests failing on solaris.
  1504. </td>
  1505. </tr>
  1506. <tr>
  1507. <td>
  1508. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-172">
  1509. ZOOKEEPER-172</a>
  1510. </td>
  1511. <td>
  1512. FLE Test
  1513. </td>
  1514. </tr>
  1515. <tr>
  1516. <td>
  1517. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-41">
  1518. ZOOKEEPER-41</a>
  1519. </td>
  1520. <td>
  1521. Sample startup script
  1522. </td>
  1523. </tr>
  1524. <tr>
  1525. <td>
  1526. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-33">
  1527. ZOOKEEPER-33</a>
  1528. </td>
  1529. <td>
  1530. Better ACL management
  1531. </td>
  1532. </tr>
  1533. <tr>
  1534. <td>
  1535. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-49">
  1536. ZOOKEEPER-49</a>
  1537. </td>
  1538. <td>
  1539. SetACL does not work
  1540. </td>
  1541. </tr>
  1542. <tr>
  1543. <td>
  1544. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-20">
  1545. ZOOKEEPER-20</a>
  1546. </td>
  1547. <td>
  1548. Child watches are not triggered when the node is deleted
  1549. </td>
  1550. </tr>
  1551. <tr>
  1552. <td>
  1553. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-15">
  1554. ZOOKEEPER-15</a>
  1555. </td>
  1556. <td>
  1557. handle failure better in build.xml:test
  1558. </td>
  1559. </tr>
  1560. <tr>
  1561. <td>
  1562. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-11">
  1563. ZOOKEEPER-11</a>
  1564. </td>
  1565. <td>
  1566. ArrayList is used instead of List
  1567. </td>
  1568. </tr>
  1569. <tr>
  1570. <td>
  1571. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-45">
  1572. ZOOKEEPER-45</a>
  1573. </td>
  1574. <td>
  1575. Restructure the SVN repository after initial import
  1576. </td>
  1577. </tr>
  1578. <tr>
  1579. <td>
  1580. <a href="https://issues.apache.org/jira/browse/ZOOKEEPER-1">
  1581. ZOOKEEPER-1</a>
  1582. </td>
  1583. <td>
  1584. Initial ZooKeeper code contribution from Yahoo!
  1585. </td>
  1586. </tr>
  1587. </table>
  1588. </div>
  1589. <p align="right">
  1590. <font size="-2"></font>
  1591. </p>
  1592. </div>
  1593. <!--+
  1594. |end content
  1595. +-->
  1596. <div class="clearboth">&nbsp;</div>
  1597. </div>
  1598. <div id="footer">
  1599. <!--+
  1600. |start bottomstrip
  1601. +-->
  1602. <div class="lastmodified">
  1603. <script type="text/javascript"><!--
  1604. document.write("Last Published: " + document.lastModified);
  1605. // --></script>
  1606. </div>
  1607. <div class="copyright">
  1608. Copyright &copy;
  1609. 2008 <a href="http://www.apache.org/licenses/">The Apache Software Foundation.</a>
  1610. </div>
  1611. <!--+
  1612. |end bottomstrip
  1613. +-->
  1614. </div>
  1615. </body>
  1616. </html>