<!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>Entries tagged [open-source]</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-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>
          </section>
          <section class="blog__footer"><ul class="pagination"></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/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/performance">performance</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>
