<head>
<link rel="canonical" href="https://ignite.apache.org/releases/2.2.0/release_notes.html" />
<META NAME="ROBOTS" CONTENT="NOINDEX">

<style>h1 { color: #113847; font-size: 33px; font-weight: bold; margin: 30px 0 15px 0; padding-bottom: 7px; width: 700px; }h2 { border-bottom: 2px solid #ccc; color: #113847; font-size: 29px; font-weight: normal; margin: 30px 0 15px 0; padding-bottom: 7px; width: 700px; }a { color: #cc0000; text-decoration: none; } span { color: #cc0000; } a:hover { text-decoration: underline; } ul, ol { list-style: disc; margin-left: 30px; } ul li, ol li { margin: 5px 0; } p.description { width: 700px; }</style>

<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-61232409-1', 'auto');
  ga('send', 'pageview');

</script></head>
<body>
<h1>Apache IGNITE 2.2</h1>
<div>
	<p class="description">
		Apache Ignite 2.2 includes a couple of fixes to resolve excessive memory usage caused by default memory allocation parameters. The issue could happen more frequently if several nodes were started on a single box. It's recommended to update to 2.2 if your cluster nodes freeze and unresponsive because of a rival for available RAM on a local host.
	</p> 
</div>
<h2>Features and Improvements</h2>
<ul>
<li>Backport optimizations of checkpointing algorithm into 2.2: <a href="https://issues.apache.org/jira/browse/IGNITE-6204"> [#IGNITE-6204]</a>
</li>
<li>Change default max memory size from 80% to 20%: <a href="https://issues.apache.org/jira/browse/IGNITE-6182"> [#IGNITE-6182]</a>
</li>
</ul><h2>C++: Fixed</h2>
<ul>
<li>File interop_target.h is missing from source-release: <a href="https://issues.apache.org/jira/browse/IGNITE-4591"> [#IGNITE-4591]</a>
</li>
</ul></body>
