You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kudu.apache.org by ab...@apache.org on 2022/03/03 13:52:01 UTC

[kudu] branch branch-1.16.x updated: [docs] Add release notes for 1.16.0

This is an automated email from the ASF dual-hosted git repository.

abukor pushed a commit to branch branch-1.16.x
in repository https://gitbox.apache.org/repos/asf/kudu.git


The following commit(s) were added to refs/heads/branch-1.16.x by this push:
     new bc7d073  [docs] Add release notes for 1.16.0
bc7d073 is described below

commit bc7d073e3984004ad41229204ad1bfd46fb20011
Author: Attila Bukor <ab...@apache.org>
AuthorDate: Fri Feb 25 15:04:00 2022 +0100

    [docs] Add release notes for 1.16.0
    
    Change-Id: I0beb2e182af261ce785cfe21c7de34ca953e6a32
    Reviewed-on: http://gerrit.cloudera.org:8080/18275
    Tested-by: Kudu Jenkins
    Reviewed-by: Alexey Serbin <as...@cloudera.com>
    Reviewed-by: Andrew Wong <aw...@cloudera.com>
---
 docs/release_notes.adoc | 156 +++++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 147 insertions(+), 9 deletions(-)

diff --git a/docs/release_notes.adoc b/docs/release_notes.adoc
index 39f8387..21e6cd3 100644
--- a/docs/release_notes.adoc
+++ b/docs/release_notes.adoc
@@ -31,27 +31,156 @@
 [[rn_1.16.0_upgrade_notes]]
 == Upgrade Notes
 
-
-[[rn_1.16.0_obsoletions]]
-== Obsoletions
-
-
 [[rn_1.16.0_deprecations]]
 == Deprecations
-
-Support for Python 2.x and Python 3.4 and earlier is deprecated and may be removed in the next minor release.
+* Support for Python 2.x and Python 3.4 and earlier is deprecated and may be
+  removed in the next minor release.
 
 [[rn_1.16.0_new_features]]
 == New features
 
+* Clients can now require authentication and encryption instead of depending on
+  server-side settings
+  (link:https://issues.apache.org/jira/browse/KUDU-1921[KUDU-1921]).
+
+* Kudu Masters now automatically attempt to add themselves to an existing
+  cluster if there is a healthy Raft quorum among Kudu Masters.
+
+* A new tool `kudu master unsafe_rebuild` is added to reconstruct the master
+  catalog from tablet metadata collected from tablet servers. This can be used
+  in emergencies to restore access to tables when all masters are unavailable.
+
+* A new tool `kudu table set_replication_factor` is added to alter the
+  replication factor of a table. The tool immediately updates table metadata in
+  the master, and the master will asynchronously effect the new replication
+  factor. Progress can be monitored by running `ksck`.
+
+* It’s now possible to require a minimum replication factor for a Kudu table.
+  This can be achieved by customizing the setting for the newly introduced
+  `--min_num_replicas` kudu-master’s flag. For example, setting
+  `--min_num_replicas=3` enforces every newly created table to have at least 3
+  replicas for each of its tablets, so there cannot be a data loss when just a
+  single tablet server in the cluster fails irrecoverably. For the sake of
+  backward compatibility, `--min_num_replicas` is set to 1 by default.
+
+* It’s now possible to track startup progress on the `/startup` page on the web
+  UI. There are also metrics added to track the overall server startup progress
+  as well as the processing of the log block containers and starting of the
+  tablets (link:https://issues.apache.org/jira/browse/KUDU-1959[KUDU-1959]).
+
+* A new tool `kudu table add_column` is added to add columns to existing tables
+  using the CLI
+  (link:https://issues.apache.org/jira/browse/KUDU-3339[KUDU-3339]).
+
+* A new tool `kudu tserver unregister` is added to remove a dead tablet server
+  from the cluster without restarting the masters
+  (link:https://issues.apache.org/jira/browse/KUDU-2915[KUDU-2915]).
+
 
 [[rn_1.16.0_improvements]]
 == Optimizations and improvements
 
+* Kudu will now more aggressively fsync consensus-related metadata when metadata
+  is configured to be on an XFS mount. This may lead to increased contention on
+  the device that backs metadata, but will prevent corruption in the event of an
+  outage (link:https://issues.apache.org/jira/browse/KUDU-2195[KUDU-2195]).
+
+* A clearer message is logged when the Ranger subprocess crashes, to specify a
+  problem with the Ranger client.
+
+* Two new flags have been introduced for the `kudu table scan` and `kudu perf
+  table_scan` CLI tools: `--row_count_only` and `--report_scanner_stats`. With
+  these new flags, the above mentioned CLI tools allow to issue scan requests
+  equivalent to running “SELECT COUNT(1) FROM <table_name>” from impala-shell.
+  These new provisions are useful in detecting and troubleshooting scan
+  performance issues.
+
+* Added replica selection configuration knob for the `kudu table scan` and `kudu
+  perf table_scan` CLI tools: it’s controlled by the `--replica_selection` flag.
+
+* To improve security, the following flags are now marked as sensitive and will
+  be redacted in the logs and WebUI when the redaction is enabled:
+  ** `--webserver_private_key_file`
+  ** `--webserver_private_key_password_cmd`
+  ** `--webserver_password_file`
+
+* The logic to select the effective time source when running with
+  `--time_source=auto` has been updated. The `builtin` time source would be
+  auto-selected if a Kudu server runs with `--time_source=auto` in an
+  environment where the instance detector isn't aware of dedicated NTP servers
+  AND the `--builtin_ntp_servers` flag is set to a valid value. Otherwise, if
+  `--builtin_ntp_servers` flag is set to an empty or invalid value, the
+  effective time source becomes `system` for platforms supporting the
+  `get_ntptime()` API, otherwise the catch-all case selects the `system_unsync`
+  as the time effective source.
+
+* It is now possible to print or edit PBC files in batch using the `kudu pbc`
+  CLI tool, and also to format its JSON input/output as “pretty”.
+
+* Client connection timeout is now configurable in the Java client
+  (link:https://issues.apache.org/jira/browse/KUDU-3240[KUDU-3240]).
+
+* A new `/healthz` endpoint is now available on the kudu-master and tablet-server
+  embedded web servers for liveness checks
+  (link:https://issues.apache.org/jira/browse/KUDU-3308[KUDU-3308]).
+
+* Hive Metastore URI is now logged to the console when connecting via `kudu hms`
+  CLI tool (link:https://issues.apache.org/jira/browse/KUDU-3189[KUDU-3189]).
+
+* It is now possible to start up a master when there is an additional master
+  address present in the master addresses flag
+  (link:https://issues.apache.org/jira/browse/KUDU-3311[KUDU-3311]).
+
+* Table entity is now accessible in `KuduWriteOperation` in the C++ client,
+  making understanding errors on the client side easier
+  (link:https://issues.apache.org/jira/browse/KUDU-2623[KUDU-2623]).
+
+* The rebalancer tool now doesn’t move replicas to tablet servers in maintenance
+  mode (link:https://issues.apache.org/jira/browse/KUDU-3328[KUDU-3328]).
+
+* Improved the performance of the run length encoding (RLE).
 
 [[rn_1.16.0_fixed_issues]]
 == Fixed Issues
-
+* Log4J used in Ranger subprocess was upgraded to 2.17.1 which contains patches
+  go several security vulnerabilities
+  (link:https://nvd.nist.gov/vuln/detail/CVE-2021-44832[CVE-2021-44832],
+  link:https://nvd.nist.gov/vuln/detail/CVE-2021-45105[CVE-2021-45105],
+  link:https://nvd.nist.gov/vuln/detail/CVE-2021-45046[CVE-2021-45046], and
+  link:https://nvd.nist.gov/vuln/detail/CVE-2021-44228[CVE-2021-44228]).
+
+* Kudu servers previously crashed if hostnames became unresolvable via DNS (e.g.
+  if the container hosting a server were destroyed). Such errors are now treated
+  as transient and the lookups are retried periodically. See
+  link:https://issues.apache.org/jira/browse/KUDU-75[KUDU-75],
+  link:https://issues.apache.org/jira/browse/KUDU-1620[KUDU-1620],
+  and link:https://issues.apache.org/jira/browse/KUDU-1885[KUDU-1885] for more details.
+
+* Fixed an issue in Kudu Java client where concurrent flushing of data buffers
+  could lead to errors reported as 'java.lang.AssertionError: This Deferred was
+  already called'
+  (link:https://issues.apache.org/jira/browse/KUDU-3277[KUDU-3277]).
+
+* Fixed Kudu RPC negotiation issue when running with cyrus-sasl-gssapi-2.1.27-5
+  and newer versions of the RPM package. A failed RPC connection negotiation
+  attempt would result in an error logged along with the full connection
+  negotiation trace: `Runtime error: SASL(-15): mechanism too weak for this
+  user: Unable to find a callback: 32775`
+  (link:https://issues.apache.org/jira/browse/KUDU-3297[KUDU-3297]).
+
+* Fixed crash in kudu-master and kudu-tserver when running with kernel where the
+  `getrandom(2)` API is not available (versions of Linux kernel prior to 3.17).
+
+* Fixed bug which could lead to exhaustion of the address space for the outgoing
+  connections on a busy Kudu cluster
+  (link:https://issues.apache.org/jira/browse/KUDU-3352[KUDU-3352]).
+
+* Fixed a bug in the Java client where a malformed tablet server ID in the scan
+  token causes connection failures and timeouts in some cases
+  (link:https://issues.apache.org/jira/browse/KUDU-3349[KUDU-3349]).
+
+* Fixed a bug where the rebalancer failed with `-ignored_tservers` flag
+  (link:https://issues.apache.org/jira/browse/KUDU-3346[KUDU-3346]).
 
 [[rn_1.16.0_wire_compatibility]]
 == Wire Protocol compatibility
@@ -77,7 +206,6 @@ on wire compatibility between Kudu 1.16 and versions earlier than 1.3:
 [[rn_1.16.0_incompatible_changes]]
 == Incompatible Changes in Kudu 1.16.0
 
-
 [[rn_1.16.0_client_compatibility]]
 === Client Library Compatibility
 
@@ -104,6 +232,16 @@ documentation.
 [[rn_1.16.0_contributors]]
 == Contributors
 
+Kudu 1.16.0 includes contributions from 17 people, including 5 first-time contributors:
+
+* Riza Suminto
+* Zoltan Chovan
+* kedeng
+* khazarmammadli
+* yejiabao
+
+Thank you for your contributions!
+
 [[resources_and_next_steps]]
 == Resources