PageRenderTime 49ms CodeModel.GetById 19ms RepoModel.GetById 0ms app.codeStats 0ms

/ZOOKEEPER/3.5.0/RELEASENOTES.3.5.0.md

https://gitlab.com/andrewmusselman/eco-release-metadata
Markdown | 332 lines | 157 code | 175 blank | 0 comment | 0 complexity | aa24894cb522e201bb1df4c912e3bf9a MD5 | raw file
  1. <!---
  2. # Licensed to the Apache Software Foundation (ASF) under one
  3. # or more contributor license agreements. See the NOTICE file
  4. # distributed with this work for additional information
  5. # regarding copyright ownership. The ASF licenses this file
  6. # to you under the Apache License, Version 2.0 (the
  7. # "License"); you may not use this file except in compliance
  8. # with the License. You may obtain a copy of the License at
  9. #
  10. # http://www.apache.org/licenses/LICENSE-2.0
  11. #
  12. # Unless required by applicable law or agreed to in writing, software
  13. # distributed under the License is distributed on an "AS IS" BASIS,
  14. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  15. # See the License for the specific language governing permissions and
  16. # limitations under the License.
  17. -->
  18. # Apache Zookeeper 3.5.0 Release Notes
  19. These release notes cover new developer and user-facing incompatibilities, important issues, features, and major improvements.
  20. ---
  21. * [ZOOKEEPER-1972](https://issues.apache.org/jira/browse/ZOOKEEPER-1972) | *Major* | **Fix invalid volatile long/int increment (++)**
  22. Awesome! thanks Hongchao! Committed to trunk
  23. ---
  24. * [ZOOKEEPER-1835](https://issues.apache.org/jira/browse/ZOOKEEPER-1835) | *Major* | **dynamic configuration file renaming fails on Windows**
  25. Patch described in this comment below:
  26. https://issues.apache.org/jira/browse/ZOOKEEPER-1835?focusedCommentId=13848420&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13848420
  27. ---
  28. * [ZOOKEEPER-1819](https://issues.apache.org/jira/browse/ZOOKEEPER-1819) | *Minor* | **DeserializationPerfTest calls method with wrong arguments**
  29. Fix DeserializationPerfTest which was not testing the desired scenarios.
  30. ---
  31. * [ZOOKEEPER-1812](https://issues.apache.org/jira/browse/ZOOKEEPER-1812) | *Minor* | **ZooInspector reconnection always fails if first connection fails**
  32. Fixed ZooInspector reconnection
  33. ---
  34. * [ZOOKEEPER-1811](https://issues.apache.org/jira/browse/ZOOKEEPER-1811) | *Major* | **The ZooKeeperSaslClient service name principal is hardcoded to "zookeeper"**
  35. Adds a new system property "zookeeper.sasl.client.username" that can be used to configure the ZK Kerberos (SASL) client user principal name to something other than "zookeeper" (default) for any environments that use non-standard naming for its principals.
  36. ---
  37. * [ZOOKEEPER-1771](https://issues.apache.org/jira/browse/ZOOKEEPER-1771) | *Minor* | **ZooInspector authentication**
  38. Added authentication for ZooInspector.
  39. ---
  40. * [ZOOKEEPER-1718](https://issues.apache.org/jira/browse/ZOOKEEPER-1718) | *Critical* | **Support JLine 2**
  41. JLine upgraded to version 2.11
  42. ---
  43. * [ZOOKEEPER-1666](https://issues.apache.org/jira/browse/ZOOKEEPER-1666) | *Major* | **Avoid Reverse DNS lookup if the hostname in connection string is literal IP address.**
  44. Try to avoid reverse name service look up when the connection string consists of literal IP addresses but not real host names.
  45. ---
  46. * [ZOOKEEPER-1632](https://issues.apache.org/jira/browse/ZOOKEEPER-1632) | *Minor* | **fix memory leaks in cli\_st**
  47. The fix for this issue solves the memory leak spotted in the absence of errors. In the case the completion function is not registered because of an error (e.g., see zoo\_async), the line duplicate won't be freed.
  48. ---
  49. * [ZOOKEEPER-1562](https://issues.apache.org/jira/browse/ZOOKEEPER-1562) | *Trivial* | **Memory leaks in zoo\_multi API**
  50. zoo\_multi API used to leak memory while deserializing the response from zookeeper server.
  51. Completion entries for individual operation in zoo\_multi transaction weren't getting cleaned causing memory leak. This patch resolves this memory leak by destroying completion entries in deserialize\_multi function.
  52. ---
  53. * [ZOOKEEPER-1557](https://issues.apache.org/jira/browse/ZOOKEEPER-1557) | *Major* | **jenkins jdk7 test failure in testBadSaslAuthNotifiesWatch**
  54. Committed to 3.4.6/trunk. Thanks Eugene.
  55. ---
  56. * [ZOOKEEPER-1509](https://issues.apache.org/jira/browse/ZOOKEEPER-1509) | *Major* | **Please update documentation to reflect updated FreeBSD support.**
  57. Update documentation to reflect full FreeBSD support.
  58. ---
  59. * [ZOOKEEPER-1506](https://issues.apache.org/jira/browse/ZOOKEEPER-1506) | *Blocker* | **Re-try DNS hostname -\> IP resolution if node connection fails**
  60. Tests pass with this patch.
  61. This patch is for the branch-3.4 branch ONLY.
  62. ---
  63. * [ZOOKEEPER-1459](https://issues.apache.org/jira/browse/ZOOKEEPER-1459) | *Major* | **Standalone ZooKeeperServer is not closing the transaction log files on shutdown**
  64. **WARNING: No release note provided for this incompatible change.**
  65. ---
  66. * [ZOOKEEPER-1408](https://issues.apache.org/jira/browse/ZOOKEEPER-1408) | *Minor* | **CLI: sort output of ls command**
  67. The output of ls-command in CLI does not contain the []-frame any more. Instead the nodes are sorted.
  68. ---
  69. * [ZOOKEEPER-1367](https://issues.apache.org/jira/browse/ZOOKEEPER-1367) | *Blocker* | **Data inconsistencies and unexpired ephemeral nodes after cluster restart**
  70. Fix Data inconsistencies and unexpired ephemeral nodes after cluster restart.
  71. ---
  72. * [ZOOKEEPER-1344](https://issues.apache.org/jira/browse/ZOOKEEPER-1344) | *Critical* | **ZooKeeper client multi-update command is not considering the Chroot request**
  73. **WARNING: No release note provided for this incompatible change.**
  74. ---
  75. * [ZOOKEEPER-1340](https://issues.apache.org/jira/browse/ZOOKEEPER-1340) | *Major* | **multi problem - typical user operations are generating ERROR level messages in the server**
  76. Unwanted ERROR messages in the logs.
  77. ---
  78. * [ZOOKEEPER-1336](https://issues.apache.org/jira/browse/ZOOKEEPER-1336) | *Major* | **javadoc for multi is confusing, references functionality that doesn't seem to exist**
  79. Improved Javadoc for multi API's.
  80. ---
  81. * [ZOOKEEPER-1327](https://issues.apache.org/jira/browse/ZOOKEEPER-1327) | *Major* | **there are still remnants of hadoop urls**
  82. Remove links to Hadoop wiki's in ZooKeeper docs.
  83. ---
  84. * [ZOOKEEPER-1322](https://issues.apache.org/jira/browse/ZOOKEEPER-1322) | *Major* | **Cleanup/fix logging in Quorum code.**
  85. Improved logging in Quorum Code.
  86. ---
  87. * [ZOOKEEPER-1305](https://issues.apache.org/jira/browse/ZOOKEEPER-1305) | *Major* | **zookeeper.c:prepend\_string func can dereference null ptr**
  88. return ZBADARGUMENTS when passed NULL zhandle instead of dereferencing null pointer.
  89. ---
  90. * [ZOOKEEPER-1294](https://issues.apache.org/jira/browse/ZOOKEEPER-1294) | *Major* | **One of the zookeeper server is not accepting any requests**
  91. **WARNING: No release note provided for this incompatible change.**
  92. ---
  93. * [ZOOKEEPER-1291](https://issues.apache.org/jira/browse/ZOOKEEPER-1291) | *Major* | **AcceptedEpoch not updated at leader before it proposes the epoch to followers**
  94. Revision 1198053
  95. ---
  96. * [ZOOKEEPER-1282](https://issues.apache.org/jira/browse/ZOOKEEPER-1282) | *Major* | **Learner.java not following Zab 1.0 protocol - setCurrentEpoch should be done upon receipt of NEWLEADER (before acking it) and not upon receipt of UPTODATE**
  97. Revision 1198053
  98. ---
  99. * [ZOOKEEPER-1277](https://issues.apache.org/jira/browse/ZOOKEEPER-1277) | *Critical* | **servers stop serving when lower 32bits of zxid roll over**
  100. Workaround: there is a simple workaround for this issue. Force a leader re-election before the lower 32bits reach 0xffffffff
  101. Most users won't even see this given the number of writes on a typical installation - say you are doing 500 writes/second, you'd see this after ~3 months if the quorum is stable, any changes (such as upgrading the server software) would cause the xid to be reset, thereby staving off this issue for another period.
  102. ---
  103. * [ZOOKEEPER-1264](https://issues.apache.org/jira/browse/ZOOKEEPER-1264) | *Blocker* | **FollowerResyncConcurrencyTest failing intermittently**
  104. Revision 1198053
  105. ---
  106. * [ZOOKEEPER-1263](https://issues.apache.org/jira/browse/ZOOKEEPER-1263) | *Major* | **fix handling of min/max session timeout value initialization**
  107. trunk: http://svn.apache.org/viewvc?view=revision&revision=1581522
  108. ---
  109. * [ZOOKEEPER-1262](https://issues.apache.org/jira/browse/ZOOKEEPER-1262) | *Major* | **Documentation for Lock recipe has major flaw**
  110. Updated recipes to document how to use a GUID to manage a recoverable create() error.
  111. ---
  112. * [ZOOKEEPER-1239](https://issues.apache.org/jira/browse/ZOOKEEPER-1239) | *Major* | **add logging/stats to identify fsync stalls**
  113. committed to 3.3.4, 3.4, trunk rev 1202360
  114. ---
  115. * [ZOOKEEPER-1208](https://issues.apache.org/jira/browse/ZOOKEEPER-1208) | *Blocker* | **Ephemeral node not removed after the client session is long gone**
  116. trunk version 1201832
  117. ---
  118. * [ZOOKEEPER-1189](https://issues.apache.org/jira/browse/ZOOKEEPER-1189) | *Major* | **For an invalid snapshot file(less than 10bytes size) RandomAccessFile stream is leaking.**
  119. **WARNING: No release note provided for this incompatible change.**
  120. ---
  121. * [ZOOKEEPER-1185](https://issues.apache.org/jira/browse/ZOOKEEPER-1185) | *Major* | **Send AuthFailed event to client if SASL authentication fails**
  122. This patch fixes SaslAuthFailTest.testBadSaslAuthNotifiesWatch() to test for the AuthFailed event : previously, the test was incorrectly not testing for this event.
  123. It also removes the testBadSaslAuthNotifiesWatch() method from the SaslAuthTest class : this method belongs in SaslAuthFailTest, not SaslAuthTest. The former tests unsuccessful SASL authentication; the latter, successful SASL authentication.
  124. ---
  125. * [ZOOKEEPER-1181](https://issues.apache.org/jira/browse/ZOOKEEPER-1181) | *Major* | **Fix problems with Kerberos TGT renewal**
  126. -Fixes two findbugs warnings related to holding a lock while sleeping.
  127. -Addresses Camille's point: merge two almost-identical retry methods into a single retry method.
  128. ---
  129. * [ZOOKEEPER-1179](https://issues.apache.org/jira/browse/ZOOKEEPER-1179) | *Critical* | **NettyServerCnxn does not properly close socket on 4 letter word requests**
  130. Thanks Rakesh, you are right, this error is not happening anymore. Flavio, I'm closing this.
  131. ---
  132. * [ZOOKEEPER-1149](https://issues.apache.org/jira/browse/ZOOKEEPER-1149) | *Blocker* | **users cannot migrate from 3.4-\>3.3-\>3.4 server code against a single datadir**
  133. The ZooKeeper server cannot be migrated from version 3.4 to version 3.3 and then back to version 3.4 without user intervention.
  134. Upgrading from 3.3 to 3.4 is supported as is downgrading from 3.4 to 3.3. However moving from 3.4 to 3.3 and back to 3.4 will fail. 3.4 is checking the datadir for "acceptedEpoch" and "currentEpoch" files and comparing these against the snapshot and log files contained in the same directory. These epoch files are new in 3.4.
  135. As a result:
  136. 1) upgrading from 3.3 to 3.4 is fine - the files don't exist, the server creates them
  137. 2) downgrading from 3.4 to 3.3 - this is also fine as version 3.3 ignores these files
  138. 3) however, 3.4-\>3.3-\>3.4 fails because 3.4 will see invalid \*Epoch files in the datadir (as 3.3 would have ignored them, applying changes to snap/log w/o updating them)
  139. A workaround for this problem is to delete the epoch files if this situation occurrs - the version 3.4 server will create them similar to case 1) above.
  140. ---
  141. * [ZOOKEEPER-1100](https://issues.apache.org/jira/browse/ZOOKEEPER-1100) | *Major* | **Killed (or missing) SendThread will cause hanging threads**
  142. **WARNING: No release note provided for this incompatible change.**
  143. ---
  144. * [ZOOKEEPER-1062](https://issues.apache.org/jira/browse/ZOOKEEPER-1062) | *Major* | **Net-ZooKeeper: Net::ZooKeeper consumes 100% cpu on wait**
  145. Cosmetic fixes to the patch
  146. ---
  147. * [ZOOKEEPER-732](https://issues.apache.org/jira/browse/ZOOKEEPER-732) | *Minor* | **Improper translation of error into Python exception**
  148. Client that uses python binding may receive SystemError on session expiration.
  149. ---
  150. * [ZOOKEEPER-271](https://issues.apache.org/jira/browse/ZOOKEEPER-271) | *Minor* | **Better command line parsing in ZookeeperMain.**
  151. There are three incompatibilities introduced by this commit into the client shell:
  152. 1) now requires commons-cli
  153. 2) get no longer returns stat information by default, however there is a "-s" option that will result in the stat being included
  154. 3) a deprecated message is reported in some cases, when the old command format is used. As a result the output of the command may be different compared to client output prior to this change.
  155. ---
  156. * [ZOOKEEPER-87](https://issues.apache.org/jira/browse/ZOOKEEPER-87) | *Critical* | **Follower does not shut itself down if its too far behind the leader.**
  157. The value of syncLimit should be reviewed before this change is introduced in the cluster. Since it now detects followers that are lagging behind, clusters in which this was happening will now see followers being disconnected from time to time. This will normally be solved by increasing the syncLimit value.