blob: 347a2075b4391d493b68ee2197e0b9e77eb7d664 [file] [log] [blame]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1" />
<title>Blogging in Action</title>
<link rel="canonical" href="https://ignite.apache.org/blog" />
<meta property="og:title" content="Blogging in Action" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://ignite.apache.org/blog" />
<meta property="og:image" content="/img/og-pic.png" />
<link rel="stylesheet" href="/js/vendor/hystmodal/hystmodal.min.css?ver=0.9" />
<link rel="stylesheet" href="/css/utils.css?ver=0.9" />
<link rel="stylesheet" href="/css/site.css?ver=0.9" />
<link rel="stylesheet" href="/css/blog.css?ver=0.9" />
<link rel="stylesheet" href="/css/media.css?ver=0.9" media="only screen and (max-width:1199px)" />
<link rel="icon" type="image/png" href="/img/favicon.png" />
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag() {
dataLayer.push(arguments);
}
gtag('js', new Date());
gtag('config', 'UA-61232409-1');
</script>
<!-- Yandex.Metrika counter -->
<script type="text/javascript">
(function (m, e, t, r, i, k, a) {
m[i] =
m[i] ||
function () {
(m[i].a = m[i].a || []).push(arguments);
};
m[i].l = 1 * new Date();
(k = e.createElement(t)), (a = e.getElementsByTagName(t)[0]), (k.async = 1), (k.src = r), a.parentNode.insertBefore(k, a);
})(window, document, 'script', 'https://mc.yandex.ru/metrika/tag.js', 'ym');
ym(72949126, 'init', {
clickmap: true,
trackLinks: true,
accurateTrackBounce: true,
webvisor: true,
});
</script>
<noscript
><div><img src="https://mc.yandex.ru/watch/72949126" style="position: absolute; left: -9999px" alt="" /></div
></noscript>
<!-- /Yandex.Metrika counter -->
</head>
<body>
<!-- MOBILE MENU START -->
<div class="hystmodal" id="jsMenuModal" aria-hidden="true">
<div class="hystmodal__wrap">
<div class="hystmodal__window mobmenu" role="dialog" aria-modal="true">
<button data-hystclose class="hystmodal__close">Close</button>
<div class="mobmenu__wrap">
<a href="/" class="mobmenu__logo"><img src="/img/logo.svg" alt="Logo" /></a>
<div class="mobmenu__menu">
<ul>
<li>
<a href="/docs/latest/">Quick Start</a>
</li>
<li>
<a href="/resources.html#learning">Learning resources</a>
</li>
<li>
<a href="/resources.html#training">Training and Courses</a>
</li>
<li>
<a href="/faq.html">FAQ</a>
</li>
<li>
<span class="mobmenu__parent"> <a href="/use-cases.html">Use Cases</a><button class="mobmenu__opener"></button> </span>
<ul>
<li>
<a href="/use-cases/in-memory-cache.html">In-Memory Cache</a>
</li>
<li>
<a href="/use-cases/in-memory-data-grid.html">In-Memory Data Grid</a>
</li>
<li>
<a href="/use-cases/in-memory-database.html">In-Memory Database</a>
</li>
<li>
<a href="/use-cases/key-value-store.html">Key-Value Store</a>
</li>
<li>
<a href="/use-cases/high-performance-computing.html">High Performance Computing</a>
</li>
<li>
<a href="/use-cases/digital-integration-hub.html">Digital Integration Hub</a>
</li>
<li>
<a href="/use-cases/spark-acceleration.html">Spark Acceleration</a>
</li>
<li>
<a href="/use-cases/hadoop-acceleration.html">Hadoop Acceleration</a>
</li>
<li>
<a href="/use-cases.html">View All</a>
</li>
</ul>
</li>
<li>
<span class="mobmenu__parent"> <a href="/features/">Features</a><button class="mobmenu__opener"></button> </span>
<ul>
<li>
<a href="/arch/multi-tier-storage.html">Multi-Tier Storage</a>
</li>
<li>
<a href="/arch/native-persistence.html">Native Persistence</a>
</li>
<li>
<a href="/features/sql.html">Distributed SQL</a>
</li>
<li>
<a href="/features/key-value-apis.html">Key-Value APIs</a>
</li>
<li>
<a href="/features/acid-transactions.html">ACID Transactions</a>
</li>
<li>
<a href="/features/compute-apis.html">Compute APIs</a>
</li>
<li>
<a href="/features/service-apis.html">Services</a>
</li>
<li>
<a href="/features/machinelearning.html">Machine Learning</a>
</li>
<li>
<a href="/features/streaming.html">Real-Time Streaming APIs</a>
</li>
<li>
<a href="/docs/latest/messaging">Messaging</a>
</li>
<li>
<a href="/docs/latest/key-value-api/continuous-queries">Continuous Queries</a>
</li>
<li>
<a href="/features/index.html">View All</a>
</li>
</ul>
</li>
<li>
<a href="/community.html">Community</a>
<ul class="isdefault">
<li><a href="/community.html">Project Info</a></li>
<li><a href="/events.html">Events</a></li>
</ul>
</li>
<li>
<a href="/use-cases/provenusecases.html">Powered by</a>
</li>
<li>
<a href="/resources.html">Resources</a>
</li>
<li>
<a href="/blog/">Blog</a>
</li>
<li>
<a href="/docs/latest/">Docs</a>
</li>
</ul>
<a href="/download.cgi" class="button mobmenu__button">Download Ignite 2.11</a>
</div>
<!-- //mobmenu__menu -->
</div>
<!-- //mobmenu__wrap -->
</div>
<!-- //mobmenu -->
</div>
</div>
<!-- MOBILE MENU END -->
<header class="hdr hdr__white jsHdrBase">
<div class="jsHdrLine">
<div id="promotion-bar">
<a
href="https://ignite-summit.org/2023-june/?utm_medium=website-direct&amp;utm_source=apache_ignite&amp;utm_term=ignite-summit&amp;utm_content=event-hosted&amp;utm_campaign=2023-06-06-ignite-summit-nam"
target="_blank"
title="Ignite Summit — June 6, 2023 — Join virtually!"
rel="noopener noreferrer"
><span><img class="ignite-summit-logo" src="/images/promos/summit-lime.svg" /></span>Ignite Summit — June 6, 2023 —<strong>&nbsp;Register now</strong>&nbsp;<span class="more d-none d-lg-block"
><img src="/images/promos/arrow-white.svg" /></span
></a>
</div>
<div class="hdr__wrap flexi">
<button class="hdr__burger" data-menumodal="#jsMenuModal"><img src="/img/menu.svg" alt="" /></button
><a class="hdr__logo" href="/"><img class="hdr__logoimg hdr__logo--white" src="/img/logo-white.svg" alt="" /><img class="hdr__logoimg hdr__logo--black" src="/img/logo.svg" alt="" /></a
><a class="button hdr__button" href="/download.cgi">Download Ignite 2.15.0</a>
<nav class="hdrmenu">
<ul class="flexi">
<li class="js-hasdrop"><a class="hdrmenu--expanded" href="/" data-panel="getStarted">Get Started</a></li>
<li class="js-hasdrop"><a class="hdrmenu--expanded" href="/features" data-panel="features">Features</a></li>
<li class="js-hasdrop"><a class="hdrmenu--expanded" href="/community.html" data-panel="community">Community</a></li>
<li><a href="/use-cases/provenusecases.html" data-panel="">Powered By</a></li>
<li class="js-hasdrop"><a class="hdrmenu--expanded" href="/resources.html" data-panel="resources">Resources</a></li>
<li><a href="///ignite.apache.org/docs/latest/" data-panel="">Docs</a></li>
</ul>
</nav>
<div class="dropmenu">
<div class="dropmenu__panel" data-menupanel="getStarted">
<div class="container dropmenu1__grid">
<div class="dropmenu1__buttonwrap">&nbsp;</div>
<div class="dropmenu__box dropmenu__box--buttonin">
<a class="dropmenu__redbutton" href="https://ignite.apache.org/docs/latest/"> <img src="/img/menu/icon-red-rocket.svg" alt="" /><span>Quick Start Guide</span></a>
<ul class="dropmenu__menu">
<li>
<a class="dropmenu__iconitem" href="/resources.html#learning"><span>Learning resources</span></a>
</li>
<li>
<a class="dropmenu__iconitem" href="/resources.html#training"><span>Training and Courses</span></a>
</li>
<li>
<a class="dropmenu__iconitem" href="/faq.html"><span>FAQ</span></a>
</li>
</ul>
</div>
<div class="dropmenu__box">
<p class="capstext"><a class="dropmenu__capslink" href="/use-cases.html">USE CASES</a></p>
<ul class="dropmenu__menu">
<li>
<a class="dropmenu__iconitem" href="/use-cases/in-memory-cache.html"><img src="/img/menu/icon-folder.svg" alt="" /><span>In-Memory Cache</span></a>
</li>
<li>
<a class="dropmenu__iconitem" href="/use-cases/in-memory-data-grid.html"><img src="/img/menu/icon-folder.svg" alt="" /><span>In-Memory Data Grid</span></a>
</li>
<li>
<a class="dropmenu__iconitem" href="/use-cases/in-memory-database.html"><img src="/img/menu/icon-folder.svg" alt="" /><span>In-Memory Database</span></a>
</li>
<li>
<a class="dropmenu__iconitem" href="/use-cases/key-value-store.html"><img src="/img/menu/icon-folder.svg" alt="" /><span>Key-Value Store</span></a>
</li>
</ul>
</div>
<div class="dropmenu__box no-border">
<ul class="dropmenu__menu">
<li>
<a class="dropmenu__iconitem" href="/use-cases/high-performance-computing.html"><img src="/img/menu/icon-folder.svg" alt="" /><span>High-Performance Computing</span></a>
</li>
<li>
<a class="dropmenu__iconitem" href="/use-cases/digital-integration-hub.html"><img src="/img/menu/icon-folder.svg" alt="" /><span>Digital Integration Hub</span></a>
</li>
<li>
<a class="dropmenu__iconitem" href="/use-cases/spark-acceleration.html"><img src="/img/menu/icon-folder.svg" alt="" /><span>Spark Acceleration</span></a>
</li>
<li>
<a class="dropmenu__iconitem" href="/use-cases/hadoop-acceleration.html"><img src="/img/menu/icon-folder.svg" alt="" /><span>Hadoop Acceleration</span></a>
</li>
</ul>
</div>
</div>
<!-- /.dropmenu1__grid-->
<div class="panelmorelinkwrap panelmorelinkwrap--end container"><a class="panellink" href="/use-cases.html">View all</a></div>
</div>
<!-- /.dropmenu__panel-->
<div class="dropmenu__panel" data-menupanel="features">
<div class="container dropmenu2__grid">
<div class="dropmenu__box">
<div class="capstext">MULTI-TIER STORAGE</div>
<ul class="dropmenu__menu">
<li>
<a class="dropmenu__iconitem" href="/arch/multi-tier-storage.html"><img src="/img/menu/icon-db.svg" alt="" /><span>Multi-Tier Storage</span></a>
</li>
<li>
<a class="dropmenu__iconitem" href="/arch/native-persistence.html"><img src="/img/menu/icon-db.svg" alt="" /><span>Native Persistence</span></a>
</li>
</ul>
</div>
<div class="dropmenu__box">
<div class="capstext">ESSENTIAL Developer APIs</div>
<ul class="dropmenu__menu">
<li>
<a class="dropmenu__iconitem" href="/features/sql.html"><img src="/img/menu/icon-cube.svg" alt="" /><span>Distributed SQL</span></a>
</li>
<li>
<a class="dropmenu__iconitem" href="/features/key-value-apis.html"><img src="/img/menu/icon-cube.svg" alt="" /><span>Key-Value APIs</span></a>
</li>
<li>
<a class="dropmenu__iconitem" href="/features/acid-transactions.html"><img src="/img/menu/icon-cube.svg" alt="" /><span>ACID Transactions</span></a>
</li>
</ul>
</div>
<div class="dropmenu__box">
<div class="capstext">High-Performance <br />Computing APIs</div>
<ul class="dropmenu__menu">
<li>
<a class="dropmenu__iconitem" href="/features/compute-apis.html"><img src="/img/menu/icon-cube.svg" alt="" /><span>Compute APIs</span></a>
</li>
<li>
<a class="dropmenu__iconitem" href="/features/service-apis.html"><img src="/img/menu/icon-cube.svg" alt="" /><span>Services</span></a>
</li>
<li>
<a class="dropmenu__iconitem" href="/features/machinelearning.html"><img src="/img/menu/icon-cube.svg" alt="" /><span>Machine Learning</span></a>
</li>
</ul>
</div>
<div class="dropmenu__box">
<div class="capstext">Real-Streaming APIs</div>
<ul class="dropmenu__menu">
<li>
<a class="dropmenu__iconitem" href="/features/streaming.html"><img src="/img/menu/icon-cube.svg" alt="" /><span>Real-Time Streaming APIs</span></a>
</li>
<li>
<a class="dropmenu__iconitem" href="https://ignite.apache.org/docs/latest/messaging"><img src="/img/menu/icon-cube.svg" alt="" /><span>Messaging</span></a>
</li>
<li>
<a class="dropmenu__iconitem" href="https://ignite.apache.org/docs/latest/key-value-api/continuous-queries"><img src="/img/menu/icon-cube.svg" alt="" /><span>Continuous Queries</span></a>
</li>
</ul>
</div>
</div>
<!-- /.dropmenu2__grid-->
<div class="panelmorelinkwrap"><a class="panellink" href="/features/">View all</a></div>
</div>
<!-- /.dropmenu__panel-2-->
<div class="dropmenu__panel" data-menupanel="community">
<div class="container dropmenu3__grid">
<div class="dropmenu__box">
<div class="capstext"><a class="dropmenu__capslink" href="/community.html">Project Info</a></div>
<ul class="dropmenu__menu">
<li>
<a class="dropmenu__iconitem" href="/community.html#story"><img src="/img/menu/icon-clip.svg" alt="" /><span>Apache Ignite Story</span></a>
</li>
<li>
<a class="dropmenu__iconitem" href="/community.html#community"><img src="/img/menu/icon-comment.svg" alt="" /><span>Meet The Community</span></a>
</li>
</ul>
</div>
<div class="dropmenu__box no-border">
<div class="capstext">&nbsp;</div>
<ul class="dropmenu__menu">
<li>
<a class="dropmenu__iconitem" href="/community.html#contributing"><img src="/img/menu/icon-puzzle.svg" alt="" /><span>Start Contributing</span></a>
</li>
<li>
<a class="dropmenu__iconitem" href="/community.html#faq"><img src="/img/menu/icon-question.svg" alt="" /><span>Ask Questions</span></a>
</li>
</ul>
</div>
<div class="dropmenu__box">
<div class="capstext"><a class="dropmenu__capslink" href="/events.html">Events</a></div>
<ul class="dropmenu__menu">
<li>
<a class="dropmenu__iconitem" href="/events.html#summit"><img src="/img/menu/icon-calendar.svg" alt="" /><span>Apache Ignite Summit</span></a>
</li>
<li>
<a class="dropmenu__iconitem" href="/events.html#meetups"><img src="/img/menu/icon-calendar.svg" alt="" /><span>Meetups</span></a>
</li>
</ul>
</div>
<div class="dropmenu__box no-border">
<div class="capstext">&nbsp;</div>
<ul class="dropmenu__menu">
<li>
<a class="dropmenu__iconitem" href="/events.html#upcoming"><img src="/img/menu/icon-calendar.svg" alt="" /><span>Upcoming Events</span></a>
</li>
<li>
<a class="dropmenu__iconitem" href="/events.html#past"><img src="/img/menu/icon-calendar.svg" alt="" /><span>Past Events</span></a>
</li>
</ul>
</div>
</div>
<!-- /.dropmenu3__grid-->
</div>
<!-- /.dropmenu__panel-->
<div class="dropmenu__panel" data-menupanel="resources">
<div class="container dropmenu1__grid">
<div class="dropmenu1__buttonwrap">&nbsp;</div>
<div class="dropmenu__box dropmenu__box--buttonin">
<a class="dropmenu__redbutton blog" href="/blog/"><img src="/img/menu/icon-blog.svg" alt="" /><span>Blog</span></a>
<ul class="dropmenu__menu">
<li>
<a class="dropmenu__iconitem" href="/resources.html#technical"><span>Technical resources</span></a>
</li>
<li>
<a class="dropmenu__iconitem" href="/resources.html#learning"><span>Learning resources</span></a>
</li>
</ul>
</div>
<div class="dropmenu__box blog">
<ul class="dropmenu__menu">
<li>
<a class="dropmenu__iconitem" href="/resources.html#training"><span>Training and Courses</span></a>
</li>
<li>
<a class="dropmenu__iconitem" href="/resources.html#book"><span>Apache Ignite Book</span></a>
</li>
<li>
<a class="dropmenu__iconitem" href="/resources.html#mail"><span>Mailing Lists, Forums And Discussion Archives</span></a>
</li>
<li>
<a class="dropmenu__iconitem" href="/faq.html"><span>FAQ</span></a>
</li>
</ul>
</div>
</div>
<!-- /.dropmenu1__grid-->
</div>
<!-- /.dropmenu__panel-->
</div>
<!-- /.dropmeu-->
</div>
</div>
</header>
<div class="dropmenu__back"></div>
<header class="hdrfloat hdr__white jsHdrFloatBase"></header>
<div class="container blog">
<section class="blog__header"><h1>Apache Ignite Blog</h1></section>
<div class="blog__content">
<main class="blog_main">
<section class="blog__posts">
<article class="post">
<div class="post__header">
<h2><a href="/blog/apache-ignite-net-dynamic-linq.html">Dynamic LINQ performance and usability with Ignite.NET and System.Linq.Dynamic</a></h2>
<div>
May 22, 2023 by Pavel Tupitsyn: <a href="http://www.facebook.com/sharer.php?u=https://ignite.apache.org/blog/apache-ignite-net-dynamic-linq.html">Facebook</a><span>, </span
><a href="http://twitter.com/home?status=Dynamic LINQ performance and usability with Ignite.NET and System.Linq.Dynamic%20https://ignite.apache.org/blog/apache-ignite-net-dynamic-linq.html">Twitter</a>
</div>
</div>
<div class="post__content">
<p>Dynamically building database queries can be necessary for some use cases, such as UI-defined filtering. This can get challenging with LINQ frameworks like EF Core and Ignite.NET.</p>
<p><a href="https://ptupitsyn.github.io/Dynamic-LINQ-With-Ignite/">Read More...</a></p>
</div>
</article>
<article class="post">
<div class="post__header">
<h2><a href="/blog/apache-ignite-2-13-0.html">Apache Ignite 2.13.0: new Apache Calcite-based SQL engine</a></h2>
<div>
April 28, 2022 by Nikita Amelchev: <a href="http://www.facebook.com/sharer.php?u=https://ignite.apache.org/blog/apache-ignite-2-13-0.html">Facebook</a><span>, </span
><a href="http://twitter.com/home?status=Apache Ignite 2.13.0: new Apache Calcite-based SQL engine%20https://ignite.apache.org/blog/apache-ignite-2-13-0.html">Twitter</a>
</div>
</div>
<div class="post__content">
<p>
As of April 26, 2022, <a href="https://ignite.apache.org/">Apache Ignite</a> 2.13 has been released. You can directly check the full list of resolved <a href="https://s.apache.org/x8u49">Important JIRA tasks</a> but here
let&apos;s briefly overview some valuable improvements.
</p>
<h4>This is a breaking change release: The legacy service grid implementation was removed.</h4>
<h3 id="new-apache-calcite-based-sql-engine">New Apache Calcite-based SQL engine</h3>
<p>We&apos;ve implemented a new experimental SQL engine based on Apache Calcite. Now it&apos;s possible to:</p>
<ul>
<li>Get rid of some <a href="https://cwiki.apache.org/confluence/display/IGNITE/IEP-37%3A+New+query+execution+engine#IEP37:Newqueryexecutionengine-Motivation">H2 limitations</a>;</li>
<li><a href="https://cwiki.apache.org/confluence/display/IGNITE/IEP-37%3A+New+query+execution+engine#IEP37:Newqueryexecutionengine-Implementationdetails">Optimize</a> some query execution.</li>
</ul>
<p>The current H2-based engine has fundamental limitations. For example:</p>
<ul>
<li>some queries should be splitted into 2 phases (map subquery and reduce subquery), but some of them cannot be effectively executed in 2 phases.</li>
<li>H2 is a third-party database product with not-ASF license.</li>
<li>The optimizer and other internal things are not supposed to work in a distributed environment.</li>
<li>It&apos;s hard to make Ignite-specific changes to the H2 code, patches are often declined.</li>
</ul>
</div>
<div class="post__footer"><a class="more" href="/blog/apache-ignite-2-13-0.html">↓ Read all</a></div>
</article>
<article class="post">
<div class="post__header">
<h2><a href="/blog/apache-ignite-2-12-0.html">Apache Ignite 2.12.0: CDC, Index Query API, Vulnerabilities Fixes</a></h2>
<div>
January 14, 2022 by Nikita Amelchev: <a href="http://www.facebook.com/sharer.php?u=https://ignite.apache.org/blog/apache-ignite-2-12-0.html">Facebook</a><span>, </span
><a href="http://twitter.com/home?status=Apache Ignite 2.12.0: CDC, Index Query API, Vulnerabilities Fixes%20https://ignite.apache.org/blog/apache-ignite-2-12-0.html">Twitter</a>
</div>
</div>
<div class="post__content">
<p>
As of January 14, 2022, <a href="https://ignite.apache.org/">Apache Ignite</a> 2.12 has been released. You can directly check the full list of resolved <a href="https://s.apache.org/0zyi2">Important JIRA tasks</a> but here
let&rsquo;s briefly overview some valuable improvements.
</p>
<h3 id="vulnerability-updates">Vulnerability Updates</h3>
<p>
The Apache Ignite versions lower than 2.11.1 are vulnerable to <a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-44832">CVE-2021-44832</a> which is related to the <code>ignite-log4j2</code> module usage.
</p>
<p>The release also fixes 10+ CVE&rsquo;s of various modules. See <a href="https://ignite.apache.org/releases/2.12.0/release_notes.html">release notes</a> for more details.</p>
<h3 id="change-data-capture">Change Data Capture</h3>
<p>
Change Data Capture (<a href="https://en.wikipedia.org/wiki/Change_data_capture">CDC</a>) is a data processing pattern used to asynchronously receive entries that have been changed on the local node so that action can be
taken using the changed entry.
</p>
</div>
<div class="post__footer"><a class="more" href="/blog/apache-ignite-2-12-0.html">↓ Read all</a></div>
</article>
<article class="post">
<div class="post__header">
<h2><a href="/blog/apache-ignite-2-11-1.html">Apache Ignite 2.11.1: Emergency Log4j2 Update</a></h2>
<div>
December 21, 2021 by Maxim Muzafarov: <a href="http://www.facebook.com/sharer.php?u=https://ignite.apache.org/blog/apache-ignite-2-11-1.html">Facebook</a><span>, </span
><a href="http://twitter.com/home?status=Apache Ignite 2.11.1: Emergency Log4j2 Update%20https://ignite.apache.org/blog/apache-ignite-2-11-1.html">Twitter</a>
</div>
</div>
<div class="post__content">
<p>
The new <a href="https://ignite.apache.org/">Apache Ignite</a> 2.11.1 is an emergency release that fixes <a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-44228">CVE-2021-44228</a>,
<a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-45046">CVE-2021-45046</a>,<a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-45105">CVE-2021-45105</a> related to the ignite-log4j2 module
usage.
</p>
<h3 id="apache-ignite-with-log4j-vulnerability">Apache Ignite with Log4j Vulnerability</h3>
<p>All the following conditions must be met:</p>
<ul>
<li>The Apache Ignite version lower than 2.11.0 is used (since these vulnerabilities are already fixed in 2.11.1, 2.12, and upper versions);</li>
<li>The <code>ignite-logj42</code> is used by Apache Ignite and located in the <code>libs</code> directory (by default it is located in the <code>libs/optional</code>directory, so these deployments are not affected);</li>
<li>
The Java version in use is older than the following versions: <code>8u191</code>, <code>11.0.1</code>. This is due to the fact that later versions set the JVM property
<code>com.sun.jndi.ldap.object.trustURLCodebase</code> to <code>false</code> by default, which disables JNDI loading of classes from arbitrary URL code bases.
</li>
</ul>
<p>NOTE: Relying only on the Java version as a protection against these vulnerabilities is very risky and has not been tested.</p>
</div>
<div class="post__footer"><a class="more" href="/blog/apache-ignite-2-11-1.html">↓ Read all</a></div>
</article>
<article class="post">
<div class="post__header">
<h2><a href="/blog/apache-ignite-2-11-stabilization.html">Apache Ignite 2.11: Stabilization First</a></h2>
<div>
September 20, 2021 by Maxim Muzafarov: <a href="http://www.facebook.com/sharer.php?u=https://ignite.apache.org/blog/apache-ignite-2-11-stabilization.html">Facebook</a><span>, </span
><a href="http://twitter.com/home?status=Apache Ignite 2.11: Stabilization First%20https://ignite.apache.org/blog/apache-ignite-2-11-stabilization.html">Twitter</a>
</div>
</div>
<div class="post__content">
<p>
The new <a href="https://ignite.apache.org/">Apache Ignite</a> 2.11 was released on September 17, 2021. It can be considered to be a greater extent as a stabilization release that closed a number of technical debts of the
internal architecture and bugs. Out of more than 200 completed tasks, 120 are bug fixes. However, some valuable improvements still exist, so let&apos;s take a quick look at them together.
</p>
<h3 id="thin-clients">Thin Clients</h3>
<p>
Partition awareness is enabled by default in the 2.11 release and allows thin clients to send query requests directly to the node that owns the queried data. Without partition awareness, an application executes all queries
and operations via a single server node that acts as a proxy for the incoming requests.
</p>
<p>
The support of <a href="https://ignite.apache.org/docs/latest/thin-clients/java-thin-client#cache-entry-listening">Continuous Queries</a>added to the java thin client. For the other supported features, you can check - the
<a href="https://cwiki.apache.org/confluence/display/IGNITE/Thin+clients+features">List of Thin Client Features</a>.
</p>
</div>
<div class="post__footer"><a class="more" href="/blog/apache-ignite-2-11-stabilization.html">↓ Read all</a></div>
</article>
<article class="post">
<div class="post__header">
<h2><a href="/blog/apache-ignite-momentum-highlights-from.html">Apache Ignite Momentum: Highlights from 2020-2021</a></h2>
<div>
September 14, 2021 by Denis Magda: <a href="http://www.facebook.com/sharer.php?u=https://ignite.apache.org/blog/apache-ignite-momentum-highlights-from.html">Facebook</a><span>, </span
><a href="http://twitter.com/home?status=Apache Ignite Momentum: Highlights from 2020-2021%20https://ignite.apache.org/blog/apache-ignite-momentum-highlights-from.html">Twitter</a>
</div>
</div>
<div class="post__content">
<p>
When Apache Ignite entered the Apache Software Foundation (ASF) Incubator in 2014, it took less than a year for the project and its community to graduate from the Incubator and become a top-level project for the ASF. Since
then, Ignite has experienced a significant and steady growth in popularity, and it has been used by thousands of application developers and architects to create high-performance and scalable applications used by millions
of people daily. In this article, we&rsquo;ll recap the achievements of Ignite in 2020-2021.
</p>
<p></p>
<h3><br />Ignite is Ranked as a Top 5 Project<br /></h3>
<p></p>
<p>
The ASF has ranked Apache ignite as a Top 5 project in various categories since 2017. <a href="https://blogs.apache.org/foundation/entry/apache-in-2017-by-the" target="_blank">That year</a>, Ignite was in the Top 5 of
Apache Project Repositories by Commits and most active Apache mailing lists. <a href="https://www.apache.org/foundation/docs/FY2021AnnualReport.pdf" target="_blank">Today</a>, the momentum continues, and Ignite continues
to be ranked as a Top 5 project in multiple categories: second on the Top 5 big data user lists, third on the Top 5 big data dev lists, second on the Top 5 of all user lists, third on the Top 5 repos by size.
</p>
<p>
<a href="/img/blog/463ae37d-866d-4c15-8ebf-6b88499daa81.jpeg"><img src="/img/blog/463ae37d-866d-4c15-8ebf-6b88499daa81.jpeg" width="30%" /></a>
</p>
</div>
<div class="post__footer"><a class="more" href="/blog/apache-ignite-momentum-highlights-from.html">↓ Read all</a></div>
</article>
<article class="post">
<div class="post__header">
<h2><a href="/blog/apache-ignite-2-10-thin.html">Apache Ignite 2.10: Thin Client Expansion</a></h2>
<div>
March 18, 2021 by Maxim Muzafarov: <a href="http://www.facebook.com/sharer.php?u=https://ignite.apache.org/blog/apache-ignite-2-10-thin.html">Facebook</a><span>, </span
><a href="http://twitter.com/home?status=Apache Ignite 2.10: Thin Client Expansion%20https://ignite.apache.org/blog/apache-ignite-2-10-thin.html">Twitter</a>
</div>
</div>
<div class="post__content">
<p class="entryContent">
As of March 15, 2021, <a href="https://ignite.apache.org/">Apache Ignite</a> 2.10 has been released. You can directly check the full list of resolved <a href="https://s.apache.org/i3ny6">Important JIRA&apos;s</a> but here
let&rsquo;s briefly overview some valuable improvements.
</p>
<h3 id="thin-clients">Thin Clients</h3>
Thin clients now support several important features which, previously were available only on the thick clients. Thin clients are always backward and forward compatible with the server nodes of the cluster, so the cluster
upgrade process will be more convenient if the lack of these features prevented you from doing that.
<p>See the list of what is changed for thin clients below:</p>
<ul>
<li>Transactions</li>
<li>Service invocations</li>
<li>Continuous Queries</li>
<li>SQL API</li>
<li>Cluster API</li>
<li>Cache Async API</li>
<li>Kubernetes Discovery (<em>ThinClientKubernetesAddressFinder</em>)</li>
</ul>
You may check the <a href="https://cwiki.apache.org/confluence/display/IGNITE/Thin+clients+features">List of Thin Client Features</a> that supported by platforms you are interested in or see the
<a href="https://ptupitsyn.github.io/Whats-New-In-Ignite-Net-2.10/">What&apos;s new in Apache Ignite.NET 2.10</a>.
</div>
<div class="post__footer"><a class="more" href="/blog/apache-ignite-2-10-thin.html">↓ Read all</a></div>
</article>
<article class="post">
<div class="post__header">
<h2><a href="/blog/apache-ignite-2-9-released.html">Apache Ignite 2.9 Released: Cluster snapshots and tracing</a></h2>
<div>
November 5, 2020 by Denis Magda: <a href="http://www.facebook.com/sharer.php?u=https://ignite.apache.org/blog/apache-ignite-2-9-released.html">Facebook</a><span>, </span
><a href="http://twitter.com/home?status=Apache Ignite 2.9 Released: Cluster snapshots and tracing%20https://ignite.apache.org/blog/apache-ignite-2-9-released.html">Twitter</a>
</div>
</div>
<div class="post__content">
<p>As of October 23, 2020, Apache Ignite 2.9 is available. Like every other Ignite release, release 2.9 includes many changes. Let&apos;s take a look at the major features of release 2.9.</p>
<p></p>
<h3>Cluster Snapshots</h3>
<p></p>
<p>
Ignite 2.9 provides the ability to create full cluster snapshots for deployments that use Ignite Persistence. Snapshots can be taken online, when the cluster is active and accessible to users. An Ignite snapshot includes a
cluster-wide copy of all data records that exist at the moment the snapshot is started. All snapshots are consistent &mdash; in terms of concurrent, cluster-wide operations as well as in terms of ongoing changes in Ignite
Persistence data, index, schema, binary metadata, marshaller, and other files on nodes. See <a href="https://ignite.apache.org/docs/latest/persistence/snapshots">Ignite documentation</a> to learn about this feature.
</p>
</div>
<div class="post__footer"><a class="more" href="/blog/apache-ignite-2-9-released.html">↓ Read all</a></div>
</article>
<article class="post">
<div class="post__header">
<h2><a href="/blog/ignite-2-8-released-less.html">Ignite 2.8 Released: Less Stress in Production and Advances in Machine Learning</a></h2>
<div>
March 11, 2020 by Denis Magda: <a href="http://www.facebook.com/sharer.php?u=https://ignite.apache.org/blog/ignite-2-8-released-less.html">Facebook</a><span>, </span
><a href="http://twitter.com/home?status=Ignite 2.8 Released: Less Stress in Production and Advances in Machine Learning%20https://ignite.apache.org/blog/ignite-2-8-released-less.html">Twitter</a>
</div>
</div>
<div class="post__content">
<p>
With thousands of changes contributed to Apache Ignite 2.8 that enhanced almost all the components of the platform, it&rsquo;s possible to overlook some of the improvements that can convince you to upgrade to this version
sooner than later. While a quick check of the <a href="https://ignite.apache.org/releases/2.8.0/release_notes.html" target="_blank">release notes</a> will help to discover anticipated bug fixes, this article aims to guide
through enhancements every Ignite developer should be aware of.
</p>
<h3>New Subsystem for Production Monitoring and Tracing</h3>
<p>
Several months of constant work on <a href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=112820392" target="_blank">IEP-35: Monitoring &amp; Profiling</a> has resulted in the creation of a robust and
elastic subsystem for production monitoring and diagnostic (aka. profiling). This was influenced by the needs of many developers who deployed Ignite in critical environments and were asking for a foundation that can be
integrated with many external monitoring tools and be expanded easily.
</p>
<p>
The <a href="https://apacheignite.readme.io/docs/new-metrics#section-exporters" target="_blank">new subsystem</a> consists of several registries that group individual metrics related to a specific Ignite component. For
instance, you will find registries for cache, compute, or service grid APIs. Since the registries are designed to be generic, specific exporters can observe the state of Ignite via a myriad of tools supporting various
protocols. By default, Ignite 2.8 introduces exporters for monitoring interfaces such as log files, JMX and SQL views, and contemporary ones such as OpenCensus.
</p>
</div>
<div class="post__footer"><a class="more" href="/blog/ignite-2-8-released-less.html">↓ Read all</a></div>
</article>
<article class="post">
<div class="post__header">
<h2><a href="/blog/apache-ignite-2-7-deep.html">Apache Ignite 2.7: Deep Learning and Extended Languages Support</a></h2>
<div>
December 13, 2018 by Denis Magda: <a href="http://www.facebook.com/sharer.php?u=https://ignite.apache.org/blog/apache-ignite-2-7-deep.html">Facebook</a><span>, </span
><a href="http://twitter.com/home?status=Apache Ignite 2.7: Deep Learning and Extended Languages Support%20https://ignite.apache.org/blog/apache-ignite-2-7-deep.html">Twitter</a>
</div>
</div>
<div class="post__content">
<h3>Deep Learning With TensorFlow</h3>
<p></p>
<p>
Even though it was natural to provide machine learning algorithms in Ignite out of the box, another direction was taken for deep learning capabilities. Primarily because machine learning approaches have already been
adopted in businesses from big to small -- while deep learning is still being used for narrow and specific use cases.
</p>
<p>
Thus, Ignite 2.7 can boast about an <a href="https://ignite.apache.org/features/tensorflow.html" target="_blank">official integration</a> with TensorFlow deep learning framework that gives a way to use Ignite as a
distributed storage for TensorFlow calculations. With Ignite, data scientists can store unlimited data sets across a cluster, gain performance improvements and rely on fault-tolerance of both products if an algorithm fails
in the middle of an execution.
</p>
</div>
<div class="post__footer"><a class="more" href="/blog/apache-ignite-2-7-deep.html">↓ Read all</a></div>
</article>
</section>
<section class="blog__footer">
<ul class="pagination">
<li><a class="current" href="/blog/">1</a></li>
<li><a class="item" href="/blog/1/">2</a></li>
<li><a class="item" href="/blog/2/">3</a></li>
</ul>
</section>
</main>
<aside class="blog__sidebar">
<ul>
<li><a href="/blog/database">database</a></li>
<li><a href="/blog/ignite">ignite</a></li>
<li><a href="/blog/linq">linq</a></li>
<li><a href="/blog/.NET">.NET</a></li>
<li><a href="/blog/SQL">SQL</a></li>
<li><a href="/blog/performance">performance</a></li>
<li><a href="/blog/csharp">csharp</a></li>
<li><a href="/blog/in">in</a></li>
<li><a href="/blog/memory">memory</a></li>
<li><a href="/blog/open">open</a></li>
<li><a href="/blog/source">source</a></li>
<li><a href="/blog/release">release</a></li>
<li><a href="/blog/in-memory">in-memory</a></li>
<li><a href="/blog/open-source">open-source</a></li>
<li><a href="/blog/log4j2">log4j2</a></li>
<li><a href="/blog/bigdata">bigdata</a></li>
<li><a href="/blog/computing">computing</a></li>
<li><a href="/blog/two">two</a></li>
<li><a href="/blog/learning">learning</a></li>
<li><a href="/blog/machine">machine</a></li>
<li><a href="/blog/apache">apache</a></li>
<li><a href="/blog/spark">spark</a></li>
<li><a href="/blog/sql">sql</a></li>
<li><a href="/blog/data">data</a></li>
<li><a href="/blog/fast">fast</a></li>
<li><a href="/blog/nodal">nodal</a></li>
<li><a href="/blog/meltdown">meltdown</a></li>
<li><a href="/blog/security">security</a></li>
<li><a href="/blog/spectre">spectre</a></li>
<li><a href="/blog/key-value">key-value</a></li>
<li><a href="/blog/store">store</a></li>
<li><a href="/blog/meetup">meetup</a></li>
<li><a href="/blog/biodata">biodata</a></li>
<li><a href="/blog/rdbms">rdbms</a></li>
<li><a href="/blog/grid">grid</a></li>
<li><a href="/blog/imdb">imdb</a></li>
</ul>
</aside>
</div>
</div>
<footer class="footer">
<div class="container footer__top">
<section class="footer1">
<a class="footer__title" href="/features/">Features</a>
<ul class="footer__menu">
<li><a href="/arch/multi-tier-storage.html">Multi-Tier Storage</a></li>
<li><a href="/arch/native-persistence.html">Native Persistence</a></li>
<li><a href="/features/sql.html">Distributed SQL</a></li>
<li><a href="/features/acid-transactions.html">ACID Transactions</a></li>
<li><a href="/features/key-value-apis.html">Key Value APIs</a></li>
<li><a href="/features/compute-apis.html">Compute APIs</a></li>
<li><a href="/features/machinelearning.html">Machine Learning</a></li>
<li><a href="/features/service-apis.html">Services</a></li>
<li><a href="/features/streaming.html">Real-Streaming APIs</a></li>
<li><a href="https://ignite.apache.org/docs/latest/key-value-api/continuous-queries">Continuous Queries</a></li>
<li><a href="https://ignite.apache.org/docs/latest/messaging">Messaging</a></li>
</ul>
</section>
<section class="footer2">
<a class="footer__title" href="/use-cases/">Use Cases</a>
<ul class="footer__menu">
<li><a href="/use-cases/in-memory-cache.html">In-Memory Cache</a></li>
<li><a href="/use-cases/in-memory-data-grid.html">In-Memory Data Grid</a></li>
<li><a href="/use-cases/in-memory-database.html">In-Memory Database</a></li>
<li><a href="/use-cases/high-performance-computing.html">High-Performance Computing</a></li>
<li><a href="/use-cases/digital-integration-hub.html">Digital Integration Hub</a></li>
<li><a href="/use-cases/key-value-store.html">Key-Value Store</a></li>
<li><a href="/use-cases/spark-acceleration.html">Apache Spark Acceleration</a></li>
<li><a href="/use-cases/hadoop-acceleration.html">Apache Hadoop Acceleration</a></li>
</ul>
</section>
<section class="footer3"><a class="footer__title" href="/our-community.html">Community</a><a class="footer__title" href="/resources.html">Resources</a><a class="footer__title" href="/events.html">Events</a></section>
<section class="footer4">
<div class="footer4__item">Join Our <a href="mailto:dev@ignite.apache.org">Dev Mailing List</a></div>
<div class="footer4__item pt-2">Or write your question</div>
<div class="footer4__item pt-1">user@ignite.apache.org</div>
<div class="footer4__item pt-5">Follow Us:</div>
<div class="footer4__socwrap flexi pt-2">
<a class="footer4__soc" href="https://github.com/apache/ignite" target="_blank"><img src="/img/icon-github.svg" alt="" /></a
><a class="footer4__soc" href="https://www.linkedin.com/showcase/apache-ignite/" target="_blank"><img src="/img/icon-linkedin.svg" alt="" /></a
><a class="footer4__soc" href="https://twitter.com/apacheignite" target="_blank"><img src="/img/icon-twitter.svg" alt="" /></a
><a class="footer4__soc" href="https://www.meetup.com/Apache-Ignite-Virtual-Meetup/" target="_blank"><img src="/img/icon-meetup-black.png" alt="" /></a>
</div>
<a class="footer4__button button" href="https://ignite.apache.org/docs/latest/index">Start Using Apache Ignite </a>
</section>
</div>
<div class="container footer__bot">
<p>© 2015 - 2023 <a href="http://www.apache.org/">The Apache Software Foundation.</a></p>
<p class="pt-1x">Apache, Apache Ignite, the Apache feather and the Apache Ignite logo are either registered trademarks or trademarks of The Apache Software Foundation</p>
<p class="pt-1x"><a href="http://apache.org/foundation/policies/privacy.html">Privacy Policy</a></p>
</div>
</footer>
<a class="scrollTop" href="#"
><svg class="feather feather-chevron-up" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<polyline points="18 15 12 9 6 15"></polyline></svg
></a>
<script src="/js/vendor/hystmodal/hystmodal.min.js"></script>
<script src="/js/vendor/smoothscroll.js"></script>
<script src="/js/main.js?ver=0.9"></script>
</body>
</html>