You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kudu.apache.org by jd...@apache.org on 2017/08/18 20:28:30 UTC

kudu git commit: [docs] Deprecate Java 7 and Spark 1

Repository: kudu
Updated Branches:
  refs/heads/master f9a8cd909 -> 44a820bff


[docs] Deprecate Java 7 and Spark 1

Starts the release notes for Kudu 1.5.0 and adds
entries for Java 7 and Spark 1 deprecation.

Change-Id: I050df790ca51729cc99866b9cd75933c3c907a4c
Reviewed-on: http://gerrit.cloudera.org:8080/7699
Tested-by: Kudu Jenkins
Reviewed-by: Dan Burkert <da...@apache.org>
Reviewed-by: Jean-Daniel Cryans <jd...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/kudu/repo
Commit: http://git-wip-us.apache.org/repos/asf/kudu/commit/44a820bf
Tree: http://git-wip-us.apache.org/repos/asf/kudu/tree/44a820bf
Diff: http://git-wip-us.apache.org/repos/asf/kudu/diff/44a820bf

Branch: refs/heads/master
Commit: 44a820bff358194482ddbd0c9b67077aae2f9635
Parents: f9a8cd9
Author: Grant Henke <gr...@gmail.com>
Authored: Wed Aug 16 22:55:54 2017 -0500
Committer: Jean-Daniel Cryans <jd...@apache.org>
Committed: Fri Aug 18 20:28:11 2017 +0000

----------------------------------------------------------------------
 docs/installation.adoc        |   5 +-
 docs/prior_release_notes.adoc | 216 +++++++++++++++++++++++++++++++++++
 docs/release_notes.adoc       | 223 ++++++-------------------------------
 java/README.md                |  20 ++--
 4 files changed, 269 insertions(+), 195 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kudu/blob/44a820bf/docs/installation.adoc
----------------------------------------------------------------------
diff --git a/docs/installation.adoc b/docs/installation.adoc
index c7b2844..4e16512 100644
--- a/docs/installation.adoc
+++ b/docs/installation.adoc
@@ -649,9 +649,12 @@ Other libraries and headers are internal to Kudu and have no stability guarantee
 == Build the Java Client
 
 .Requirements
-- JDK 7
+- JDK 7 or JDK 8
 - Apache Maven 3.x
 
+WARNING: Support for Java 7 is deprecated as of Kudu 1.5.0 and may be removed in
+the next major release.
+
 To build the Java client, clone the Kudu Git
 repository, change to the `java` directory, and issue the following command:
 

http://git-wip-us.apache.org/repos/asf/kudu/blob/44a820bf/docs/prior_release_notes.adoc
----------------------------------------------------------------------
diff --git a/docs/prior_release_notes.adoc b/docs/prior_release_notes.adoc
index f1ea542..8ea5dbd 100644
--- a/docs/prior_release_notes.adoc
+++ b/docs/prior_release_notes.adoc
@@ -37,6 +37,222 @@ reproduced on this page. Please consult the
 link:http://kudu.apache.org/releases/[documentation of the appropriate release]
 for a list of known issues and limitations.
 
+[[rn_1.4.0]]
+== Release notes specific to 1.4.0
+
+[[rn_1.4.0_upgrade_notes]]
+== Upgrade Notes
+
+* The Maintenance Manager now fully uses the threads it's given (see the improvements
+  described further below), so it's now able to generate a lot more IO by flushing and
+  compacting more often. Generally, the recommended ratio of MM threads to data
+  directories is 1:3; operators of clusters above that ratio should be mindful of
+  this when upgrading.
+
+[[rn_1.4.0_new_features]]
+== New features
+
+* The C++ and Java client libraries now support the ability to alter the
+  storage attributes (e.g. encoding and compression) and default value
+  of existing columns. Additionally, it is now possible to rename
+  a column which is part of a table's primary key.
+
+* The C++ client library now includes an experimental `KuduPartitioner` API which may
+  be used to efficiently map rows to their associated partitions and hosts.
+  This may be used to achieve better locality or distribution of writes
+  in client applications.
+
+* The Java client library now supports enabling fault tolerance on scanners.
+  Fault tolerant scanners are able to transparently recover from concurrent
+  server crashes at the cost of some performance overhead. See the Java
+  API documentation for more details on usage.
+
+* The `kudu` command line tool now includes a new advanced administrative
+  command `kudu remote_replica unsafe_change_config`. This command may be used
+  to force a tablet to perform an unsafe change of its Raft replication
+  configuration. This can be used to recover from scenarios such as a loss
+  of a majority of replicas, at the risk of losing edits.
+
+* The `kudu` command line tool now includes the `kudu fs check` command
+  which performs various offline consistency checks on the local on-disk
+  storage of a Kudu Tablet Server or Master. In addition to detecting
+  various inconsistencies or corruptions, it can also detect and remove
+  data blocks that are no longer referenced by any tablet but were not
+  fully removed from disk due to a crash or a bug in prior versions of Kudu.
+
+* The `kudu` command line tool can now be used to list the addresses and
+  identifiers of the servers in the cluster using either `kudu master list`
+  or `kudu tserver list`.
+
+* Kudu 1.4 now includes the optional ability to compute, store, and verify
+  checksums on all pieces of data stored on a server. Prior versions only
+  performed checksums on certain portions of the stored data. This feature
+  is not enabled by default since it makes a backward-incompatible change
+  to the on-disk formats and thus prevent downgrades. Kudu 1.5 will enable
+  the feature by default.
+
+== Optimizations and improvements
+
+* `kudu cluster ksck` now detects and reports new classes of
+  inconsistencies and issues. In particular, it is better able to
+  detect cases where a configuration change such as a replica eviction
+  or addition is pending but is unable to be committed. It also now
+  properly detects and reports cases where a tablet has no elected
+  leader.
+
+* The default size for Write Ahead Log (WAL) segments has been reduced
+  from 64MB to 8MB. Additionally, in the case that all replicas of a
+  tablet are fully up to date and data has been flushed from memory,
+  servers will now retain only a single WAL segment rather than
+  two. These changes are expected to reduce the average consumption of
+  disk space on the configured WAL disk by 16x, as well as improve the
+  startup speed of tablet servers by reducing the number and size of
+  WAL segments that need to be re-read.
+
+* The default on-disk storage system used by Kudu servers (Log Block Manager)
+  has been improved to compact its metadata and remove dead containers.
+  This compaction and garbage collection occurs only at startup. Thus, the
+  first startup after upgrade is expected to be longer than usual, and
+  subsequent restarts should be shorter.
+
+* The usability of the Kudu web interfaces has been improved,
+  particularly for the case where a server hosts many tablets or a
+  table has many partitions. Pages that list tablets now include
+  a top-level summary of tablet status and show the complete list
+  under a toggleable section.
+
+* The Maintenance Manager has been improved to improve utilization of the
+  configured maintenance threads. Previously, maintenance work would
+  only be scheduled a maximum of 4 times per second, but now maintenance
+  work will be scheduled immediately whenever any configured thread is
+  available. This can improve the throughput of write-heavy workloads.
+
+* The Maintenance Manager will now aggressively schedule flushes of
+  in-memory data when memory consumption crosses 60% of the configured
+  process-wide memory limit. The backpressure mechanism which begins
+  to throttle client writes has been accordingly adjusted to not begin
+  throttling until reaching 80% of the configured limit. These two
+  changes together result in improved write throughput, more consistent
+  latency, and fewer timeouts due to memory exhaustion.
+
+* Many performance improvements were made to write performance. Applications
+  which send large batches of writes to Kudu should see substantially
+  improved throughput in Kudu 1.4.
+
+* Several improvements were made to reduce the memory consumption of
+  Kudu Tablet Servers which hold large volumes of data. The specific
+  amount of memory saved varies depending on workload, but the expectation
+  is that approximately 350MB of excess peak memory usage has been eliminated
+  per TB of data stored.
+
+* The number of threads used by the Kudu Tablet Server has been reduced.
+  Previously, each tablet used a dedicated thread to append to its WAL.
+  Those threads now automatically stop running if there is no activity
+  on a given tablet for a short period of time.
+
+[[rn_1.4.0_fixed_issues]]
+== Fixed Issues
+
+* link:https://issues.apache.org/jira/browse/KUDU-2020[KUDU-2020]
+  Fixed an issue where re-replication after a failure would proceed
+  significantly slower than expected. This bug caused many tablets
+  to be unnecessarily copied multiple times before successfully
+  being considered re-replicated, resulting in significantly more
+  network and IO bandwidth usage than expected. Mean time to recovery
+  on clusters with large amounts of data is improved by up to 10x by this
+  fix.
+
+* link:https://issues.apache.org/jira/browse/KUDU-1982[KUDU-1982]
+  Fixed an issue where the Java client would call `NetworkInterface.getByInetAddress`
+  very often, causing performance problems particularly on Windows
+  where this function can be quite slow.
+
+* link:https://issues.apache.org/jira/browse/KUDU-1755[KUDU-1755]
+  Improved the accuracy of the `on_disk_size` replica metrics to
+  include the size consumed by bloom filters, primary key indexes,
+  and superblock metadata, and delta files. Note that, because the size
+  metric is now more accurate, the reported values are expected to
+  increase after upgrading to Kudu 1.4. This does not indicate that
+  replicas are using more space after the upgrade; rather, it is
+  now accurately reporting the amount of space that has always been
+  used.
+
+* link:https://issues.apache.org/jira/browse/KUDU-1192[KUDU-1192]
+  Kudu servers will now periodically flush their log messages to disk
+  even if no `WARNING`-level messages have been logged. This makes it
+  easier to tail the logs to see progress output during normal startup.
+
+* link:https://issues.apache.org/jira/browse/KUDU-1999[KUDU-1999]
+  Fixed the ability to run Spark jobs in "cluster" mode against
+  Kudu clusters secured by Kerberos.
+
+
+[[rn_1.4.0_wire_compatibility]]
+== Wire Protocol compatibility
+
+Kudu 1.4.0 is wire-compatible with previous versions of Kudu:
+
+* Kudu 1.4 clients may connect to servers running Kudu 1.0 or later. If the client uses
+  features that are not available on the target server, an error will be returned.
+* Kudu 1.0 clients may connect to servers running Kudu 1.4 with the exception of the
+  below-mentioned restrictions regarding secure clusters.
+* Rolling upgrade between Kudu 1.3 and Kudu 1.4 servers is believed to be possible
+  though has not been sufficiently tested. Users are encouraged to shut down all nodes
+  in the cluster, upgrade the software, and then restart the daemons on the new version.
+
+The authentication features introduced in Kudu 1.3 place the following limitations
+on wire compatibility between Kudu 1.4 and versions earlier than 1.3:
+
+* If a Kudu 1.4 cluster is configured with authentication or encryption set to "required",
+  clients older than Kudu 1.3 will be unable to connect.
+* If a Kudu 1.4 cluster is configured with authentication and encryption set to "optional"
+  or "disabled", older clients will still be able to connect.
+
+[[rn_1.4.0_incompatible_changes]]
+== Incompatible Changes in Kudu 1.4.0
+
+* Kudu servers, by default, will now only allow unencrypted or unauthenticated connections
+  from trusted subnets, which are private networks (127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,
+  192.168.0.0/16,169.254.0.0/16) and local subnets of all local network interfaces.
+  Unencrypted or unauthenticated connections from publicly routable IPs will be rejected,
+  even if encryption and authentication are not configured.
++
+The trusted subnets can be configured using the `--trusted_subnets` flag, which can be set
+   to IP blocks represented in CIDR notation separated by comma. Set it to '0.0.0.0/0' to
+   allow unauthenticated connections from all remote IP addresses. However, if network access
+   is not otherwise restricted by a firewall, malicious users may be able to gain unauthorized
+   access. This can be mitigated if authentication and encryption are configured to be
+   required.
+
+[[rn_1.4.0_client_compatibility]]
+=== Client Library Compatibility
+* The Kudu 1.4 Java client library is API- and ABI-compatible with Kudu 1.3. Applications
+  written against Kudu 1.3 will compile and run against the Kudu 1.4 client library and
+  vice-versa, unless one of the following newly added APIs is used:
+** `[Async]KuduScannerBuilder.setFaultTolerant(...)`
+** New methods in `AlterTableOptions`: `removeDefault`, `changeDefault`, `changeDesiredBlockSize`,
+   `changeEncoding`, `changeCompressionAlgorithm`
+** `KuduClient.updateLastPropagatedTimestamp`
+** `KuduClient.getLastPropagatedTimestamp`
+** New getters in `PartialRow`: `getBoolean`, `getByte`, `getShort`, `getInt`, `getLong`,
+   `getFloat`, `getDouble`, `getString`, `getBinaryCopy`, `getBinary`, `isNull`,
+   `isSet`.
+
+
+* The Kudu 1.4 {cpp} client is API- and ABI-forward-compatible with Kudu 1.3.
+  Applications written and compiled against the Kudu 1.3 client library will run without
+  modification against the Kudu 1.4 client library. Applications written and compiled
+  against the Kudu 1.4 client library will run without modification against the Kudu 1.3
+  client library unless they use one of the following new APIs:
+** `KuduPartitionerBuilder`
+** `KuduPartitioner
+** `KuduScanner::SetRowFormatFlags` (unstable API)
+** `KuduScanBatch::direct_data`, `KuduScanBatch::indirect_data` (unstable API)
+
+* The Kudu 1.4 Python client is API-compatible with Kudu 1.3. Applications
+  written against Kudu 1.3 will continue to run against the Kudu 1.4 client
+  and vice-versa.
+
 [[rn_1.3.0]]
 == Release notes specific to 1.3.0
 

http://git-wip-us.apache.org/repos/asf/kudu/blob/44a820bf/docs/release_notes.adoc
----------------------------------------------------------------------
diff --git a/docs/release_notes.adoc b/docs/release_notes.adoc
index 7e74db4..6e589b4 100644
--- a/docs/release_notes.adoc
+++ b/docs/release_notes.adoc
@@ -16,7 +16,7 @@
 // under the License.
 
 [[release_notes]]
-= Apache Kudu 1.4.0 Release Notes
+= Apache Kudu 1.5.0 Release Notes
 
 :author: Kudu Team
 :imagesdir: ./images
@@ -28,225 +28,74 @@
 :sectlinks:
 :experimental:
 
-[[rn_1.4.0]]
+[[rn_1.5.0]]
 
-[[rn_1.4.0_upgrade_notes]]
+[[rn_1.5.0_upgrade_notes]]
 == Upgrade Notes
 
-* The Maintenance Manager now fully uses the threads it's given (see the improvements
-  described further below), so it's now able to generate a lot more IO by flushing and
-  compacting more often. Generally, the recommended ratio of MM threads to data
-  directories is 1:3; operators of clusters above that ratio should be mindful of
-  this when upgrading.
+* Kudu 1.5 now enables the optional ability to compute, store, and verify
+  checksums on all pieces of data stored on a server by default. Due to
+  storage format changes, downgrading to versions 1.3 or earlier is not
+  supported and will result in an error.
 
-[[rn_1.4.0_new_features]]
-== New features
-
-* The C++ and Java client libraries now support the ability to alter the
-  storage attributes (e.g. encoding and compression) and default value
-  of existing columns. Additionally, it is now possible to rename
-  a column which is part of a table's primary key.
-
-* The C++ client library now includes an experimental `KuduPartitioner` API which may
-  be used to efficiently map rows to their associated partitions and hosts.
-  This may be used to achieve better locality or distribution of writes
-  in client applications.
-
-* The Java client library now supports enabling fault tolerance on scanners.
-  Fault tolerant scanners are able to transparently recover from concurrent
-  server crashes at the cost of some performance overhead. See the Java
-  API documentation for more details on usage.
+[[rn_1.5.0_deprecations]]
+== Deprecations
 
-* The `kudu` command line tool now includes a new advanced administrative
-  command `kudu remote_replica unsafe_change_config`. This command may be used
-  to force a tablet to perform an unsafe change of its Raft replication
-  configuration. This can be used to recover from scenarios such as a loss
-  of a majority of replicas, at the risk of losing edits.
+* Support for Java 7 is deprecated as of Kudu 1.5.0 and may be removed in
+  the next major release.
 
-* The `kudu` command line tool now includes the `kudu fs check` command
-  which performs various offline consistency checks on the local on-disk
-  storage of a Kudu Tablet Server or Master. In addition to detecting
-  various inconsistencies or corruptions, it can also detect and remove
-  data blocks that are no longer referenced by any tablet but were not
-  fully removed from disk due to a crash or a bug in prior versions of Kudu.
+* Support for Spark 1 is deprecated as of Kudu 1.5.0 and may be removed in
+  the next minor release.
 
-* The `kudu` command line tool can now be used to list the addresses and
-  identifiers of the servers in the cluster using either `kudu master list`
-  or `kudu tserver list`.
-
-* Kudu 1.4 now includes the optional ability to compute, store, and verify
-  checksums on all pieces of data stored on a server. Prior versions only
-  performed checksums on certain portions of the stored data. This feature
-  is not enabled by default since it makes a backward-incompatible change
-  to the on-disk formats and thus prevent downgrades. Kudu 1.5 will enable
-  the feature by default.
+[[rn_1.5.0_new_features]]
+== New features
 
 == Optimizations and improvements
 
-* `kudu cluster ksck` now detects and reports new classes of
-  inconsistencies and issues. In particular, it is better able to
-  detect cases where a configuration change such as a replica eviction
-  or addition is pending but is unable to be committed. It also now
-  properly detects and reports cases where a tablet has no elected
-  leader.
-
-* The default size for Write Ahead Log (WAL) segments has been reduced
-  from 64MB to 8MB. Additionally, in the case that all replicas of a
-  tablet are fully up to date and data has been flushed from memory,
-  servers will now retain only a single WAL segment rather than
-  two. These changes are expected to reduce the average consumption of
-  disk space on the configured WAL disk by 16x, as well as improve the
-  startup speed of tablet servers by reducing the number and size of
-  WAL segments that need to be re-read.
-
-* The default on-disk storage system used by Kudu servers (Log Block Manager)
-  has been improved to compact its metadata and remove dead containers.
-  This compaction and garbage collection occurs only at startup. Thus, the
-  first startup after upgrade is expected to be longer than usual, and
-  subsequent restarts should be shorter.
-
-* The usability of the Kudu web interfaces has been improved,
-  particularly for the case where a server hosts many tablets or a
-  table has many partitions. Pages that list tablets now include
-  a top-level summary of tablet status and show the complete list
-  under a toggleable section.
-
-* The Maintenance Manager has been improved to improve utilization of the
-  configured maintenance threads. Previously, maintenance work would
-  only be scheduled a maximum of 4 times per second, but now maintenance
-  work will be scheduled immediately whenever any configured thread is
-  available. This can improve the throughput of write-heavy workloads.
-
-* The Maintenance Manager will now aggressively schedule flushes of
-  in-memory data when memory consumption crosses 60% of the configured
-  process-wide memory limit. The backpressure mechanism which begins
-  to throttle client writes has been accordingly adjusted to not begin
-  throttling until reaching 80% of the configured limit. These two
-  changes together result in improved write throughput, more consistent
-  latency, and fewer timeouts due to memory exhaustion.
-
-* Many performance improvements were made to write performance. Applications
-  which send large batches of writes to Kudu should see substantially
-  improved throughput in Kudu 1.4.
-
-* Several improvements were made to reduce the memory consumption of
-  Kudu Tablet Servers which hold large volumes of data. The specific
-  amount of memory saved varies depending on workload, but the expectation
-  is that approximately 350MB of excess peak memory usage has been eliminated
-  per TB of data stored.
-
-* The number of threads used by the Kudu Tablet Server has been reduced.
-  Previously, each tablet used a dedicated thread to append to its WAL.
-  Those threads now automatically stop running if there is no activity
-  on a given tablet for a short period of time.
-
-[[rn_1.4.0_fixed_issues]]
+[[rn_1.5.0_fixed_issues]]
 == Fixed Issues
 
-* link:https://issues.apache.org/jira/browse/KUDU-2020[KUDU-2020]
-  Fixed an issue where re-replication after a failure would proceed
-  significantly slower than expected. This bug caused many tablets
-  to be unnecessarily copied multiple times before successfully
-  being considered re-replicated, resulting in significantly more
-  network and IO bandwidth usage than expected. Mean time to recovery
-  on clusters with large amounts of data is improved by up to 10x by this
-  fix.
-
-* link:https://issues.apache.org/jira/browse/KUDU-1982[KUDU-1982]
-  Fixed an issue where the Java client would call `NetworkInterface.getByInetAddress`
-  very often, causing performance problems particularly on Windows
-  where this function can be quite slow.
-
-* link:https://issues.apache.org/jira/browse/KUDU-1755[KUDU-1755]
-  Improved the accuracy of the `on_disk_size` replica metrics to
-  include the size consumed by bloom filters, primary key indexes,
-  and superblock metadata, and delta files. Note that, because the size
-  metric is now more accurate, the reported values are expected to
-  increase after upgrading to Kudu 1.4. This does not indicate that
-  replicas are using more space after the upgrade; rather, it is
-  now accurately reporting the amount of space that has always been
-  used.
-
-* link:https://issues.apache.org/jira/browse/KUDU-1192[KUDU-1192]
-  Kudu servers will now periodically flush their log messages to disk
-  even if no `WARNING`-level messages have been logged. This makes it
-  easier to tail the logs to see progress output during normal startup.
-
-* link:https://issues.apache.org/jira/browse/KUDU-1999[KUDU-1999]
-  Fixed the ability to run Spark jobs in "cluster" mode against
-  Kudu clusters secured by Kerberos.
-
-
-[[rn_1.4.0_wire_compatibility]]
+[[rn_1.5.0_wire_compatibility]]
 == Wire Protocol compatibility
 
-Kudu 1.4.0 is wire-compatible with previous versions of Kudu:
+Kudu 1.5.0 is wire-compatible with previous versions of Kudu:
 
-* Kudu 1.4 clients may connect to servers running Kudu 1.0 or later. If the client uses
+* Kudu 1.5 clients may connect to servers running Kudu 1.0 or later. If the client uses
   features that are not available on the target server, an error will be returned.
-* Kudu 1.0 clients may connect to servers running Kudu 1.4 with the exception of the
+* Kudu 1.0 clients may connect to servers running Kudu 1.5 with the exception of the
   below-mentioned restrictions regarding secure clusters.
-* Rolling upgrade between Kudu 1.3 and Kudu 1.4 servers is believed to be possible
+* Rolling upgrade between Kudu 1.4 and Kudu 1.5 servers is believed to be possible
   though has not been sufficiently tested. Users are encouraged to shut down all nodes
   in the cluster, upgrade the software, and then restart the daemons on the new version.
 
 The authentication features introduced in Kudu 1.3 place the following limitations
-on wire compatibility between Kudu 1.4 and versions earlier than 1.3:
+on wire compatibility between Kudu 1.5 and versions earlier than 1.3:
 
-* If a Kudu 1.4 cluster is configured with authentication or encryption set to "required",
+* If a Kudu 1.5 cluster is configured with authentication or encryption set to "required",
   clients older than Kudu 1.3 will be unable to connect.
-* If a Kudu 1.4 cluster is configured with authentication and encryption set to "optional"
+* If a Kudu 1.5 cluster is configured with authentication and encryption set to "optional"
   or "disabled", older clients will still be able to connect.
 
-[[rn_1.4.0_incompatible_changes]]
-== Incompatible Changes in Kudu 1.4.0
-
-* Kudu servers, by default, will now only allow unencrypted or unauthenticated connections
-  from trusted subnets, which are private networks (127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,
-  192.168.0.0/16,169.254.0.0/16) and local subnets of all local network interfaces.
-  Unencrypted or unauthenticated connections from publicly routable IPs will be rejected,
-  even if encryption and authentication are not configured.
-+
-The trusted subnets can be configured using the `--trusted_subnets` flag, which can be set
-   to IP blocks represented in CIDR notation separated by comma. Set it to '0.0.0.0/0' to
-   allow unauthenticated connections from all remote IP addresses. However, if network access
-   is not otherwise restricted by a firewall, malicious users may be able to gain unauthorized
-   access. This can be mitigated if authentication and encryption are configured to be
-   required.
-
-[[rn_1.4.0_client_compatibility]]
+[[rn_1.5.0_incompatible_changes]]
+== Incompatible Changes in Kudu 1.5.0
 
+[[rn_1.5.0_client_compatibility]]
 === Client Library Compatibility
-* The Kudu 1.4 Java client library is API- and ABI-compatible with Kudu 1.3. Applications
-  written against Kudu 1.3 will compile and run against the Kudu 1.4 client library and
+* The Kudu 1.5 Java client library is API- and ABI-compatible with Kudu 1.4. Applications
+  written against Kudu 1.4 will compile and run against the Kudu 1.5 client library and
   vice-versa, unless one of the following newly added APIs is used:
-** `[Async]KuduScannerBuilder.setFaultTolerant(...)`
-** New methods in `AlterTableOptions`: `removeDefault`, `changeDefault`, `changeDesiredBlockSize`,
-   `changeEncoding`, `changeCompressionAlgorithm`
-** `KuduClient.updateLastPropagatedTimestamp`
-** `KuduClient.getLastPropagatedTimestamp`
-** New getters in `PartialRow`: `getBoolean`, `getByte`, `getShort`, `getInt`, `getLong`,
-   `getFloat`, `getDouble`, `getString`, `getBinaryCopy`, `getBinary`, `isNull`,
-   `isSet`.
 
-
-* The Kudu 1.4 {cpp} client is API- and ABI-forward-compatible with Kudu 1.3.
-  Applications written and compiled against the Kudu 1.3 client library will run without
-  modification against the Kudu 1.4 client library. Applications written and compiled
-  against the Kudu 1.4 client library will run without modification against the Kudu 1.3
+* The Kudu 1.5 {cpp} client is API- and ABI-forward-compatible with Kudu 1.4.
+  Applications written and compiled against the Kudu 1.4 client library will run without
+  modification against the Kudu 1.5 client library. Applications written and compiled
+  against the Kudu 1.5 client library will run without modification against the Kudu 1.4
   client library unless they use one of the following new APIs:
-** `KuduPartitionerBuilder`
-** `KuduPartitioner
-** `KuduScanner::SetRowFormatFlags` (unstable API)
-** `KuduScanBatch::direct_data`, `KuduScanBatch::indirect_data` (unstable API)
 
-* The Kudu 1.4 Python client is API-compatible with Kudu 1.3. Applications
-  written against Kudu 1.3 will continue to run against the Kudu 1.4 client
+* The Kudu 1.5 Python client is API-compatible with Kudu 1.4. Applications
+  written against Kudu 1.4 will continue to run against the Kudu 1.5 client
   and vice-versa.
 
-
-[[rn_1.4.0_known_issues]]
-
+[[rn_1.5.0_known_issues]]
 == Known Issues and Limitations
 
 Please refer to the link:known_issues.html[Known Issues and Limitations] section of the

http://git-wip-us.apache.org/repos/asf/kudu/blob/44a820bf/java/README.md
----------------------------------------------------------------------
diff --git a/java/README.md b/java/README.md
index 3b65f27..f94b373 100644
--- a/java/README.md
+++ b/java/README.md
@@ -16,10 +16,13 @@ Asynchronous Native Java Client for Kudu
 System Requirements
 ------------------------------------------------------------
 
-- Java 7
+- Java 7 or Java 8
 - Maven 3
 - MIT Kerberos (krb5)
 
+WARNING: Support for Java 7 is deprecated as of Kudu 1.5.0 and may be removed in
+the next major release.
+
 Building the Client
 ------------------------------------------------------------
 
@@ -53,16 +56,19 @@ $ mvn verify
 Building the Kudu-Spark integration for Spark 2.x with Scala 2.11
 ------------------------------------------------------------
 
-The Spark integration builds for Spark 1.x and Scala 2.10 by default.
-Additionally, there is a build profile available for Spark 2.x with
-Scala 2.11: from the kudu-spark directory, run
+The Spark integration builds for Spark 2.x and Scala 2.11 by default.
+Additionally, there is a build profile available for Spark 1.x with
+Scala 2.10: from the kudu-spark directory, run
 
-$ mvn clean package -P spark2_2.11
+$ mvn clean package -P spark_2.10
 
 The two artifactIds are
 
-1. kudu-spark_2.10 for Spark 1.x with Scala 2.10
-2. kudu-spark2_2.11 for Spark 2.x with Scala 2.11
+1. kudu-spark2_2.11 for Spark 2.x with Scala 2.11
+2. kudu-spark_2.10 for Spark 1.x with Scala 2.10
+
+WARNING: Support for Spark 1 is deprecated as of Kudu 1.5.0 and may be removed in
+the next minor release.
 
 State of Eclipse integration
 ------------------------------------------------------------