You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@calcite.apache.org by el...@apache.org on 2016/05/20 19:40:35 UTC

calcite git commit: [CALCITE-1251] Release notes for Apache Calcite Avatica 1.8.0

Repository: calcite
Updated Branches:
  refs/heads/master 4c89dce30 -> 10e8c79c6


[CALCITE-1251] Release notes for Apache Calcite Avatica 1.8.0


Project: http://git-wip-us.apache.org/repos/asf/calcite/repo
Commit: http://git-wip-us.apache.org/repos/asf/calcite/commit/10e8c79c
Tree: http://git-wip-us.apache.org/repos/asf/calcite/tree/10e8c79c
Diff: http://git-wip-us.apache.org/repos/asf/calcite/diff/10e8c79c

Branch: refs/heads/master
Commit: 10e8c79c63ade367d8354596d23d78945a3100ed
Parents: 4c89dce
Author: Josh Elser <el...@apache.org>
Authored: Fri May 20 15:40:01 2016 -0400
Committer: Josh Elser <el...@apache.org>
Committed: Fri May 20 15:40:01 2016 -0400

----------------------------------------------------------------------
 avatica/site/_docs/history.md | 63 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 63 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/calcite/blob/10e8c79c/avatica/site/_docs/history.md
----------------------------------------------------------------------
diff --git a/avatica/site/_docs/history.md b/avatica/site/_docs/history.md
index ae7bd64..1661929 100644
--- a/avatica/site/_docs/history.md
+++ b/avatica/site/_docs/history.md
@@ -28,6 +28,69 @@ For a full list of releases, see
 Downloads are available on the
 [downloads page]({{ site.baseurl }}/downloads/).
 
+## <a href="https://github.com/apache/calcite/releases/tag/calcite-avatica-1.8.0">1.8.0</a> / 2016-05-20
+{: #v1-8-0}
+
+Apache Calcite Avatica 1.8.0 continues the focus on compatibility with previous
+versions while also adding support for authentication between Avatica client and server.
+Performance, notably on the write-path, is also major area of improvement
+in this release, increasing as much as two to three times over previous versions
+with the addition of new API support. The documentation for both users and developers
+continues to receive improvements.
+
+Authentication is a major theme of this release, providing multiple layers of
+additional authentication mechanisms over previous versions. In these earlier
+versions, the only authentication provided by Avatica was achieved via the JDBC URL's
+standard user and password options. These have always been passed directly into
+the backend database's authentication system, but not all databases provide username
+and password based authentication systems. [CALCITE-1173](https://issues.apache.org/jira/browse/CALCITE-1173)
+adds Avatica-level authentication over [HTTP Basic](https://en.wikipedia.org/wiki/Basic_access_authentication)
+and [HTTP Digest](https://en.wikipedia.org/wiki/Digest_access_authentication)
+authentication mechanisms. These are provided specifically for the case when
+Avatica is used with a database that _does not already_ provide its own authentication
+implementation.
+
+Some systems rely on [Kerberos](http://web.mit.edu/kerberos/) for strong, centrally-
+managed authentication. [CALCITE-1159](https://issues.apache.org/jira/browse/CALCITE-1159)
+introduces Kerberos-based authentication for clients via [SPNEGO](https://en.wikipedia.org/wiki/SPNEGO).
+The Avatica server can be configured to only allow clients with a valid Kerberos ticket,
+optionally, also passing this information to the backend database to implement
+basic "impersonation" (where the Avatica server issues requests on behalf of the end user).
+
+Building on top of the work done in Avatica-1.7.0 in [CALCITE-1091](https://issues.apache.org/jira/browse/CALCITE-1091),
+this release also contains [CALCITE-1128](https://issues.apache.org/jira/browse/CALCITE-1128) which
+implements the batch-oriented JDBC APIs on `Statement`. Through careful inspection, it
+was observed that the overall performance of Avatica clients in 100% write workloads was
+dominated by the cost of the HTTP calls. By leveraging the `Statement#addBatch()`
+and `Statement#executeBatch()` API calls, clients can efficiently batch multiple updates
+in a single HTTP call. In testing this over the previous single HTTP call per update with
+[Apache Phoenix](https://phoenix.apache.org), it was observed that performance increased by
+two to three times, bringing Avatica's performance on par with the Phoenix "native" driver.
+
+Returning back to compatibility, a new component appears in this release which is designed to
+test versions of Avatica against each other. [CALCITE-1190](https://issues.apache.org/jira/browse/CALCITE-1190)
+introduces a "Technology Compatibility Kit" (TCK) which automates the testing of one version
+of Avatica against other versions. To further ease this testing, a runnable JAR to launch
+an HSQLDB instance and an Avatica server also makes it debut with these changes. This TCK
+makes it much easier to run tests of newer clients against older servers and vice versa.
+Validating the backwards compatibility that is being built is extremely important to be
+confident in the guarantees being provided to users.
+
+Finally, a number of bugs are also fixed in the Protocol Buffer wire API. Some of these
+include [CALCITE-1113](https://issues.apache.org/jira/browse/CALCITE-1113) and
+[CALCITE-1103](https://issues.apache.org/jira/browse/CALCITE-1103) which fix how certain
+numbers are serialized, [CALITE-1243](https://issues.apache.org/jira/browse/CALCITE-1243)
+which corrects some fields in Protocol Buffer messages which were incorrectly marked
+as unsigned integers instead of signed integers, and [CALCITE-1209](https://issues.apache.org/jira/browse/CALCITE-1209)
+which removes incorrect parsing of binary fields as Base64-encoded strings. All of
+these issues are fixed in a backwards-compatible manner and should have no additional negative
+impact on older clients (older clients will not break, but they may continue to return
+incorrect data for certain numbers).
+
+For users of the Avatica driver, a new [client reference page]({{ base_url }}/avatica/docs/client_reference.html)
+is added which details the options that are available in the Avatica JDBC Driver's URL.
+The wire API documentation for Protocol Buffers continues to receive updates as the API continues to evolve.
+
 ## <a href="https://github.com/apache/calcite/releases/tag/calcite-avatica-1.7.1">1.7.1</a> / 2016-03-18
 {: #v1-7-1}