blob: 73df854d55b1d43ee277511141e977946130f24e [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title>Release 1.7.1</title>
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="generator" content="Jekyll v4.2.2">
<link rel="stylesheet" href="//fonts.googleapis.com/css?family=Lato:300,300italic,400,400italic,700,700italic,900">
<link rel="stylesheet" href="/avatica/css/screen.css">
<link rel="icon" type="image/x-icon" href="/avatica/favicon.ico">
</head>
<body class="wrap">
<header role="banner">
<nav class="mobile-nav show-on-mobiles">
<ul>
<li class="">
<a href="/avatica/">Home</a>
</li>
<li class="">
<a href="/avatica/downloads/">Download</a>
</li>
<li class="">
<a href="/avatica/community/">Community</a>
</li>
<li class="">
<a href="/avatica/develop/">Develop</a>
</li>
<li class="current">
<a href="/avatica/news/">News</a>
</li>
<li class="">
<a href="/avatica/docs/">Docs</a>
</li>
</ul>
</nav>
<div class="grid">
<div class="unit one-third center-on-mobiles">
<h1>
<a href="/avatica/">
<span class="sr-only">Apache Calcite Avatica</span>
<img src="/avatica/img/logo.png" width="226" height="140" alt="Calcite Logo">
</a>
</h1>
</div>
<nav class="main-nav unit two-thirds hide-on-mobiles">
<ul>
<li class="">
<a href="/avatica/">Home</a>
</li>
<li class="">
<a href="/avatica/downloads/">Download</a>
</li>
<li class="">
<a href="/avatica/community/">Community</a>
</li>
<li class="">
<a href="/avatica/develop/">Develop</a>
</li>
<li class="current">
<a href="/avatica/news/">News</a>
</li>
<li class="">
<a href="/avatica/docs/">Docs</a>
</li>
</ul>
</nav>
</div>
</header>
<section class="news">
<div class="grid">
<div class="docs-nav-mobile unit whole show-on-mobiles">
<select onchange="if (this.value) window.location.href=this.value">
<option value="">Navigate the blog…</option>
<option value="/avatica/news/">Home</option>
<optgroup label="v1.x">
<option value="/news/2023/01/19/release-1.23.0/">Release 1.23.0</option>
<option value="/news/2022/10/13/release-avatica-go-5.2.0/">Release Avatica Go 5.2.0</option>
<option value="/news/2022/07/28/release-1.22.0/">Release 1.22.0</option>
<option value="/news/2022/05/08/release-1.21.0/">Release 1.21.0</option>
<option value="/news/2022/03/27/release-avatica-go-5.1.0/">Release Avatica Go 5.1.0</option>
<option value="/news/2021/12/13/release-1.20.0/">Release 1.20.0</option>
<option value="/news/2021/10/11/release-1.19.0/">Release 1.19.0</option>
<option value="/news/2021/05/18/release-1.18.0/">Release 1.18.0</option>
<option value="/news/2020/07/16/release-avatica-go-5.0.0/">Release Avatica Go 5.0.0</option>
<option value="/news/2020/06/22/release-1.17.0/">Release 1.17.0</option>
<option value="/news/2019/12/19/release-1.16.0/">Release 1.16.0</option>
<option value="/news/2019/05/16/release-avatica-go-4.0.0/">Release Avatica Go 4.0.0</option>
<option value="/news/2019/05/13/release-1.15.0/">Release 1.15.0</option>
<option value="/news/2019/04/29/release-1.14.0/">Release 1.14.0</option>
<option value="/news/2018/12/04/release-1.13.0/">Release 1.13.0</option>
<option value="/news/2018/09/18/release-avatica-go-3.2.0/">Release Avatica Go 3.2.0</option>
<option value="/news/2018/09/10/release-avatica-go-3.1.0/">Release Avatica Go 3.1.0</option>
<option value="/news/2018/06/24/release-1.12.0/">Release 1.12.0</option>
<option value="/news/2018/04/27/release-avatica-go-3.0.0/">Release Avatica Go 3.0.0</option>
<option value="/news/2018/03/09/release-1.11.0/">Release 1.11.0</option>
<option value="/news/2017/05/30/release-1.10.0/">Release 1.10.0</option>
<option value="/news/2017/03/31/new-avatica-repository/">New Avatica Repository</option>
<option value="/news/2016/11/01/release-1.9.0/">Release 1.9.0</option>
<option value="/news/2016/06/04/release-1.8.0/">Release 1.8.0</option>
<option value="/news/2016/03/18/release-1.7.1/">Release 1.7.1</option>
<option value="/news/2016/03/04/separate-project/">Splitting Avatica from Calcite</option>
</optgroup>
</select>
</div>
<div class="unit four-fifths">
<article>
<h2>
Release 1.7.1
<a href="/news/2016/03/18/release-1.7.1/" class="permalink" title="Permalink"></a>
</h2>
<span class="post-category">
<span class="label">
release
</span>
</span>
<div class="post-meta">
<span class="post-date">
18 Mar 2016
</span>
<a href="http://github.com/joshelser" class="post-author">
<img src="http://github.com/joshelser.png"
class="avatar" alt="elserj avatar"
width="24" height="24">
elserj
</a>
</div>
<div class="post-content">
<!--
-->
<p>Apache Calcite’s PMC has just released Avatica 1.7.1, the first
release of <a href="http://calcite.apache.org/avatica/">Avatica</a> as an
independent project. We’re excited because it makes Avatica easier to
use, and allows us to be more agile in our release schedule.</p>
<p>(Avatica was previously released as part of Calcite. Avatica is still
governed by Apache Calcite’s PMC, and stored in the same git
repository as Calcite, but releases are no longer synchronized, and
Avatica does not depend on any Calcite modules.)</p>
<p>A significant portion of the work of this release was “Maven work” to
separate the build and release processes, but there were several
important bug fixes, including a security fix for Jetty (see below).</p>
<p>Performance, specifically on the write path, was a big focus in this
release.
[<a href="https://issues.apache.org/jira/browse/CALCITE-1091">CALCITE-1091</a>]
contained a number of important changes. Some of these changes (e.g.
[<a href="https://issues.apache.org/jira/browse/CALCITE-1092">CALCITE-1092</a>]
and
[<a href="https://issues.apache.org/jira/browse/CALCITE-1093">CALCITE-1093</a>])
were related to heap usage in the Avatica server, while
[<a href="https://issues.apache.org/jira/browse/CALCITE-1094">CALCITE-1094</a>]
and
[<a href="https://issues.apache.org/jira/browse/CALCITE-1117">CALCITE-1117</a>]
were strictly performance-related.</p>
<p>The latter improved performance the most. Switching to the
<a href="http://hc.apache.org/">Apache Commons HttpComponents Client</a>
library instead of using the Java platform’s built-in
<a href="https://docs.oracle.com/javase/7/docs/api/java/net/HttpURLConnection.html">HttpURLConnection</a>,
we noticed a 15% improvement in pure write workloads.</p>
<p>Three dependent library upgrades:</p>
<ul>
<li>We completely removed
<a href="https://commons.apache.org/proper/commons-logging/">Commons Logging</a>
in favor of <a href="http://slf4j.org/">SLF4J</a> in
[<a href="https://issues.apache.org/jira/browse/CALCITE-669">CALCITE-669</a>].
This logging framework update will allow downstream integrators to
use the logging implementation of their choice instead of being
forced to inherit Commons Logging.</li>
<li>We upgraded Jackson from 2.1.1 to 2.6.3 in
[<a href="https://issues.apache.org/jira/browse/CALCITE-1021">CALCITE-1021</a>].</li>
<li>We upgraded Jetty from 9.2.7.v20150116 to 9.2.15.v20160210 in
[<a href="https://issues.apache.org/jira/browse/CALCITE-1156">CALCITE-1156</a>]
to fix a
<a href="https://blog.gdssecurity.com/labs/2015/2/25/jetleak-vulnerability-remote-leakage-of-shared-buffers-in-je.html">security issue</a>.</li>
</ul>
<p>Note that Avatica’s Maven coordinates have changed. The <code class="language-plaintext highlighter-rouge">groupId</code> is
now “org.apache.calcite.avatica” (previously “org.apache.calcite”),
and <code class="language-plaintext highlighter-rouge">artifactId</code>s are
“avatica”,
“avatica-metrics”,
“avatica-metrics-dropwizardmetrics3”,
“avatica-noop-driver”,
“avatica-server”
(previously “calcite-avatica”, etc.). Make sure to update these when
upgrading to this version.</p>
<p>See the <a href="/avatica/docs/history.html#v1-7-1">release notes</a>;
<a href="/avatica/downloads/avatica.html#source-releases">download</a> the release.</p>
</div>
</article>
</div>
<div class="unit one-fifth hide-on-mobiles">
<aside>
<ul>
<li class="">
<a href="/avatica/news/">All News</a>
</li>
<li class="">
<a href="/avatica/news/avatica-releases/">Avatica Releases</a>
</li>
<li class="">
<a href="/avatica/news/avatica-go-releases/">Avatica Go Releases</a>
</li>
</ul>
<h4>Recent Releases</h4>
<ul>
<li class="">
<a href="/avatica/news/2023/01/19/release-1.23.0/">avatica 1.23.0</a>
</li>
<li class="">
<a href="/avatica/news/2022/10/13/release-avatica-go-5.2.0/">avatica-go 5.2.0</a>
</li>
<li class="">
<a href="/avatica/news/2022/07/28/release-1.22.0/">avatica 1.22.0</a>
</li>
<li class="">
<a href="/avatica/news/2022/05/08/release-1.21.0/">avatica 1.21.0</a>
</li>
<li class="">
<a href="/avatica/news/2022/03/27/release-avatica-go-5.1.0/">avatica-go 5.1.0</a>
</li>
</ul>
<h4>Other News</h4>
<ul>
<li class="">
<a href="/avatica/news/2017/03/31/new-avatica-repository/">New Avatica Repository</a>
</li>
<li class="">
<a href="/avatica/news/2016/03/04/separate-project/">Splitting Avatica from Calcite</a>
</li>
</ul>
</aside>
</div>
<div class="clear"></div>
</div>
</section>
<footer role="contentinfo">
<div id="poweredby">
<a href="http://www.apache.org/">
<span class="sr-only">Apache</span>
<img src="/avatica/img/feather.png" width="190" height="77" alt="Apache Logo"></a>
</div>
<div id="copyright">
<p>The contents of this website are &copy;&nbsp;2023
<a href="https://www.apache.org/">Apache Software Foundation</a>
under the terms of
the <a href="https://www.apache.org/licenses/LICENSE-2.0.html">
Apache&nbsp;License&nbsp;v2</a>. Apache Calcite and its logo are
trademarks of the Apache Software Foundation.
</p>
<p>
<a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy Policy</a>
</p>
</div>
</footer>
<script>
var anchorForId = function (id) {
var anchor = document.createElement("a");
anchor.className = "header-link";
anchor.href = "#" + id;
anchor.innerHTML = "<span class=\"sr-only\">Permalink</span><i class=\"fa fa-link\"></i>";
anchor.title = "Permalink";
return anchor;
};
var linkifyAnchors = function (level, containingElement) {
var headers = containingElement.getElementsByTagName("h" + level);
for (var h = 0; h < headers.length; h++) {
var header = headers[h];
if (typeof header.id !== "undefined" && header.id !== "") {
header.appendChild(anchorForId(header.id));
}
}
};
document.onreadystatechange = function () {
if (this.readyState === "complete") {
var contentBlock = document.getElementsByClassName("docs")[0] || document.getElementsByClassName("news")[0];
if (!contentBlock) {
return;
}
for (var level = 1; level <= 6; level++) {
linkifyAnchors(level, contentBlock);
}
}
};
</script>
</body>
</html>