| <!DOCTYPE html> |
| |
| |
| |
| <html lang="en"> |
| <head> |
| <!-- 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> |
| |
| |
| |
| <meta charset="UTF-8"> |
| <meta name="ignite-version" content="2.9.0" /> |
| <title>Events | Ignite Documentation</title> |
| |
| <link rel="canonical" href="/docs/2.9.0/events/events" /> |
| |
| |
| <link rel="stylesheet" href="/assets/css/styles.css?1598947897"> |
| <link rel="stylesheet" href="/assets/css/asciidoc-pygments.css"> |
| <link rel="shortcut icon" href="/favicon.ico"> |
| <meta name='viewport' content='width=device-width, height=device-height, initial-scale=1.0, minimum-scale=1.0'> |
| |
| <script type="text/javascript" src="/assets/js/anchor.min.js?1598947897"></script> |
| |
| <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css" /> |
| |
| |
| </head> |
| <body> |
| <header> |
| <div class="container"> |
| <button type='button' class='menu' title='Docs menu'> |
| <img src="/assets/images/menu-icon.svg"/> |
| </button> |
| <div class='home'> |
| <a href="/" class='home' title='Apache Ignite home'> |
| <img src="/assets/images/apache_ignite_logo.svg" alt="Apache Ignite logo" width="103" > |
| </a> |
| </div> |
| |
| <nav> |
| |
| </nav> |
| |
| <select id="version-selector"> |
| <option value="2.9.0">2.9.0</option> |
| </select> |
| |
| <a href="https://github.com/apache/ignite" title='GitHub' class='github' target="_blank"> |
| <img src="/assets/images/github-gray.svg" alt="GitHub logo"> |
| </a> |
| |
| <form class='search'> |
| <button class="search-close" type='button'><img src='/assets/images/cancel.svg'></button> |
| <input type="search" placeholder="Search…" id="search-input"> |
| </form> |
| <button type='button' class='search-toggle'><img src='/assets/images/search.svg'></button> |
| <button type='button' class='top-nav-toggle'>⋮</button> |
| |
| |
| |
| </div> |
| </header> |
| |
| |
| <link rel="stylesheet" href="/assets/css/docs.css"> |
| <section class='page-docs'> |
| |
| |
| |
| |
| <nav class='left-nav' data-swiftype-index='false'> |
| |
| |
| <li> |
| |
| |
| <a href="/docs/2.9.0/preface" class='' >Preface</a> |
| |
| </li> |
| |
| <li> |
| |
| |
| |
| |
| |
| |
| <button type='button' data-guide-url="" class='group-toggle collapsed '>Quick Start Guides<img class="state-indicator" src="/assets/images/left-nav-arrow.svg"></button> |
| <nav class='nav-group collapsed'> |
| |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/quick-start/java" |
| |
| class='' |
| >Java</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/quick-start/dotnet" |
| |
| class='' |
| >.NET/C#</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/quick-start/cpp" |
| |
| class='' |
| >C++</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/quick-start/python" |
| |
| class='' |
| >Python</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/quick-start/nodejs" |
| |
| class='' |
| >Node.JS</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/quick-start/sql" |
| |
| class='' |
| >SQL</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/quick-start/php" |
| |
| class='' |
| >PHP</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/quick-start/restapi" |
| |
| class='' |
| >REST API</a> |
| |
| </li> |
| |
| |
| |
| </nav> |
| |
| </li> |
| |
| <li> |
| |
| |
| |
| |
| |
| |
| <button type='button' data-guide-url="/installation" class='group-toggle collapsed '>Installation<img class="state-indicator" src="/assets/images/left-nav-arrow.svg"></button> |
| <nav class='nav-group collapsed'> |
| |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/installation/installing-using-zip" |
| |
| class='' |
| >Installing Using ZIP Archive</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/installation/installing-using-docker" |
| |
| class='' |
| >Installing Using Docker</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/installation/deb-rpm" |
| |
| class='' |
| >Installing DEB or RPM package</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| |
| |
| <button |
| type='button' |
| class='collapsed '>Kubernetes<img class="state-indicator" src="/assets/images/left-nav-arrow.svg"></button> |
| <nav class="sub_pages collapsed"> |
| |
| |
| |
| |
| <li><a href="/docs/2.9.0//installation/kubernetes/amazon-eks-deployment" class=''>Amazon EKS</a></li> |
| |
| |
| |
| <li><a href="/docs/2.9.0//installation/kubernetes/azure-deployment" class=''>Azure Kubernetes Service</a></li> |
| |
| |
| |
| <li><a href="/docs/2.9.0//installation/kubernetes/gke-deployment" class=''>Google Kubernetes Engine</a></li> |
| |
| </nav> |
| |
| </li> |
| |
| |
| |
| </nav> |
| |
| </li> |
| |
| <li> |
| |
| |
| |
| |
| |
| |
| <button type='button' data-guide-url="" class='group-toggle collapsed '>Setting Up<img class="state-indicator" src="/assets/images/left-nav-arrow.svg"></button> |
| <nav class='nav-group collapsed'> |
| |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/setup" |
| |
| class='' |
| >Setting Up Ignite for Java</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/setup-dotnet" |
| |
| class='' |
| >Setting Up Ignite for .NET/C#</a> |
| |
| </li> |
| |
| |
| |
| </nav> |
| |
| </li> |
| |
| <li> |
| |
| |
| <a href="/docs/2.9.0/understanding-configuration" class='' >Understanding Configuration</a> |
| |
| </li> |
| |
| <li> |
| |
| |
| <a href="/docs/2.9.0/logging" class='' >Configuring Logging</a> |
| |
| </li> |
| |
| <li> |
| |
| |
| <a href="/docs/2.9.0/starting-nodes" class='' >Starting and Stopping Nodes</a> |
| |
| </li> |
| |
| <li> |
| |
| |
| |
| |
| |
| |
| <button type='button' data-guide-url="" class='group-toggle collapsed '>Clustering<img class="state-indicator" src="/assets/images/left-nav-arrow.svg"></button> |
| <nav class='nav-group collapsed'> |
| |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/clustering/clustering" |
| |
| class='' |
| >Overview</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/clustering/tcp-ip-discovery" |
| |
| class='' |
| >TCP/IP Discovery</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/clustering/zookeeper-discovery" |
| |
| class='' |
| >ZooKeeper Discovery</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/clustering/discovery-in-the-cloud" |
| |
| class='' |
| >Discovery in the Cloud</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/clustering/network-configuration" |
| |
| class='' |
| >Network Configuration</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/clustering/connect-client-nodes" |
| |
| class='' |
| >Connecting Client Nodes</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/clustering/running-client-nodes-behind-nat" |
| |
| class='' |
| >Running Client Nodes Behind NAT</a> |
| |
| </li> |
| |
| |
| |
| </nav> |
| |
| </li> |
| |
| <li> |
| |
| |
| |
| |
| |
| |
| <button type='button' data-guide-url="" class='group-toggle collapsed '>Data Modeling<img class="state-indicator" src="/assets/images/left-nav-arrow.svg"></button> |
| <nav class='nav-group collapsed'> |
| |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/data-modeling/data-modeling" |
| |
| class='' |
| >Introduction</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/data-modeling/data-partitioning" |
| |
| class='' |
| >Data Partitioning</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/data-modeling/affinity-collocation" |
| |
| class='' |
| >Affinity Colocation</a> |
| |
| </li> |
| |
| |
| |
| </nav> |
| |
| </li> |
| |
| <li> |
| |
| |
| |
| |
| |
| |
| <button type='button' data-guide-url="" class='group-toggle collapsed '>Configuring Memory<img class="state-indicator" src="/assets/images/left-nav-arrow.svg"></button> |
| <nav class='nav-group collapsed'> |
| |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/memory-architecture" |
| |
| class='' |
| >Memory Architecture</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/memory-configuration/data-regions" |
| |
| class='' |
| >Configuring Data Regions</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/memory-configuration/eviction-policies" |
| |
| class='' |
| >Eviction Policies</a> |
| |
| </li> |
| |
| |
| |
| </nav> |
| |
| </li> |
| |
| <li> |
| |
| |
| |
| |
| |
| |
| <button type='button' data-guide-url="" class='group-toggle collapsed '>Configuring Caches<img class="state-indicator" src="/assets/images/left-nav-arrow.svg"></button> |
| <nav class='nav-group collapsed'> |
| |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/configuring-caches/configuration-overview" |
| |
| class='' |
| >Cache Configuration</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/configuring-caches/configuring-backups" |
| |
| class='' |
| >Configuring Partition Backups</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/configuring-caches/atomicity-modes" |
| |
| class='' |
| >Atomicity Modes</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/configuring-caches/expiry-policies" |
| |
| class='' |
| >Expiry Policy</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/configuring-caches/on-heap-caching" |
| |
| class='' |
| >On-Heap Caching</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/configuring-caches/cache-groups" |
| |
| class='' |
| >Cache Groups</a> |
| |
| </li> |
| |
| |
| |
| </nav> |
| |
| </li> |
| |
| <li> |
| |
| |
| |
| |
| |
| |
| <button type='button' data-guide-url="" class='group-toggle collapsed '>Persistence<img class="state-indicator" src="/assets/images/left-nav-arrow.svg"></button> |
| <nav class='nav-group collapsed'> |
| |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/persistence/native-persistence" |
| |
| class='' |
| >Ignite Persistence</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/persistence/external-storage" |
| |
| class='' |
| >External Storage</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/persistence/swap" |
| |
| class='' |
| >Swapping</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/persistence/custom-cache-store" |
| |
| class='' |
| >Implementing Custom Cache Store</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/persistence/disk-compression" |
| |
| class='' |
| >Disk Compression</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/persistence/persistence-tuning" |
| |
| class='' |
| >Tuning Persistence</a> |
| |
| </li> |
| |
| |
| |
| </nav> |
| |
| </li> |
| |
| <li> |
| |
| |
| <a href="/docs/2.9.0/baseline-topology" class='' >Baseline Topology</a> |
| |
| </li> |
| |
| <li> |
| |
| |
| <a href="/docs/2.9.0/cluster-states" class='' >Cluster States</a> |
| |
| </li> |
| |
| <li> |
| |
| |
| <a href="/docs/2.9.0/data-rebalancing" class='' >Data Rebalancing</a> |
| |
| </li> |
| |
| <li> |
| |
| |
| <a href="/docs/2.9.0/partition-loss-policy" class='' >Partition Loss Policy</a> |
| |
| </li> |
| |
| <li> |
| |
| |
| <a href="/docs/2.9.0/peer-class-loading" class='' >Peer Class Loading</a> |
| |
| </li> |
| |
| <li> |
| |
| |
| <a href="/docs/2.9.0/data-streaming" class='' >Data Streaming</a> |
| |
| </li> |
| |
| <li> |
| |
| |
| |
| |
| |
| |
| <button type='button' data-guide-url="" class='group-toggle collapsed '>Using Key-Value Cache API<img class="state-indicator" src="/assets/images/left-nav-arrow.svg"></button> |
| <nav class='nav-group collapsed'> |
| |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/key-value-api/basic-cache-operations" |
| |
| class='' |
| >Basic Cache Operations</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/key-value-api/binary-objects" |
| |
| class='' |
| >Working with Binary Objects</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/key-value-api/using-scan-queries" |
| |
| class='' |
| >Using Scan Queries</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/read-repair" |
| |
| class='' |
| >Read Repair</a> |
| |
| </li> |
| |
| |
| |
| </nav> |
| |
| </li> |
| |
| <li> |
| |
| |
| <a href="/docs/2.9.0/key-value-api/continuous-queries" class='' >Using Continuous Queries</a> |
| |
| </li> |
| |
| <li> |
| |
| |
| <a href="/docs/2.9.0/key-value-api/transactions" class='' >Performing Transactions</a> |
| |
| </li> |
| |
| <li> |
| |
| |
| |
| |
| |
| |
| <button type='button' data-guide-url="" class='group-toggle collapsed '>Working with SQL<img class="state-indicator" src="/assets/images/left-nav-arrow.svg"></button> |
| <nav class='nav-group collapsed'> |
| |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/SQL/sql-introduction" |
| |
| class='' |
| >Introduction</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/SQL/schemas" |
| |
| class='' |
| >Understanding Schemas</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/SQL/indexes" |
| |
| class='' |
| >Defining Indexes</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/SQL/sql-api" |
| |
| class='' |
| >Using SQL API</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/SQL/distributed-joins" |
| |
| class='' |
| >Distributed Joins</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/SQL/sql-transactions" |
| |
| class='' |
| >SQL Transactions</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/SQL/custom-sql-func" |
| |
| class='' |
| >Custom SQL Functions</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/SQL/JDBC/jdbc-driver" |
| |
| class='' |
| >JDBC Driver</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/SQL/JDBC/jdbc-client-driver" |
| |
| class='' |
| >JDBC Client Driver</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/transactions/mvcc" |
| |
| class='' |
| >Multiversion Concurrency Control</a> |
| |
| </li> |
| |
| |
| |
| </nav> |
| |
| </li> |
| |
| <li> |
| |
| |
| |
| |
| |
| |
| <button type='button' data-guide-url="" class='group-toggle collapsed '>Distributed Computing<img class="state-indicator" src="/assets/images/left-nav-arrow.svg"></button> |
| <nav class='nav-group collapsed'> |
| |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/distributed-computing/distributed-computing" |
| |
| class='' |
| >Distributed Computing API</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/distributed-computing/cluster-groups" |
| |
| class='' |
| >Cluster Groups</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/distributed-computing/executor-service" |
| |
| class='' |
| >Executor Service</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/distributed-computing/map-reduce" |
| |
| class='' |
| >MapReduce API</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/distributed-computing/load-balancing" |
| |
| class='' |
| >Load Balancing</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/distributed-computing/fault-tolerance" |
| |
| class='' |
| >Fault Tolerance</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/distributed-computing/job-scheduling" |
| |
| class='' |
| >Job Scheduling</a> |
| |
| </li> |
| |
| |
| |
| </nav> |
| |
| </li> |
| |
| <li> |
| |
| |
| <a href="/docs/2.9.0/collocated-computations" class='' >Colocating Computations with Data</a> |
| |
| </li> |
| |
| <li> |
| |
| |
| |
| |
| |
| |
| <button type='button' data-guide-url="" class='group-toggle expanded '>Working with Events<img class="state-indicator" src="/assets/images/left-nav-arrow.svg"></button> |
| <nav class='nav-group expanded'> |
| |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/events/listening-to-events" |
| |
| class='' |
| >Enabling and Listenting to Events</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/events/events" |
| |
| class='active' |
| >Events</a> |
| |
| </li> |
| |
| |
| |
| </nav> |
| |
| </li> |
| |
| <li> |
| |
| |
| <a href="/docs/2.9.0/near-cache" class='' >Near Caches</a> |
| |
| </li> |
| |
| <li> |
| |
| |
| <a href="/docs/2.9.0/platform-cache" class='' >.NET Platform Cache</a> |
| |
| </li> |
| |
| <li> |
| |
| |
| |
| |
| |
| |
| <button type='button' data-guide-url="" class='group-toggle collapsed '>Monitoring<img class="state-indicator" src="/assets/images/left-nav-arrow.svg"></button> |
| <nav class='nav-group collapsed'> |
| |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/monitoring-metrics/intro" |
| |
| class='' |
| >Introduction</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/monitoring-metrics/cluster-id" |
| |
| class='' |
| >Cluster ID and Tag</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| |
| |
| <button |
| type='button' |
| class='collapsed '>Metrics<img class="state-indicator" src="/assets/images/left-nav-arrow.svg"></button> |
| <nav class="sub_pages collapsed"> |
| |
| |
| |
| |
| <li><a href="/docs/2.9.0//monitoring-metrics/configuring-metrics" class=''>Configuring Metrics</a></li> |
| |
| |
| |
| <li><a href="/docs/2.9.0//monitoring-metrics/metrics" class=''>JMX Metrics</a></li> |
| |
| </nav> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| |
| |
| <button |
| type='button' |
| class='collapsed '>New Metrics System<img class="state-indicator" src="/assets/images/left-nav-arrow.svg"></button> |
| <nav class="sub_pages collapsed"> |
| |
| |
| |
| |
| <li><a href="/docs/2.9.0//monitoring-metrics/new-metrics-system" class=''>Introduction</a></li> |
| |
| |
| |
| <li><a href="/docs/2.9.0//monitoring-metrics/new-metrics" class=''>Metrics</a></li> |
| |
| </nav> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/monitoring-metrics/system-views" |
| |
| class='' |
| >System Views</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/monitoring-metrics/tracing" |
| |
| class='' |
| >Tracing</a> |
| |
| </li> |
| |
| |
| |
| </nav> |
| |
| </li> |
| |
| <li> |
| |
| |
| |
| |
| |
| |
| <button type='button' data-guide-url="/security" class='group-toggle collapsed '>Security<img class="state-indicator" src="/assets/images/left-nav-arrow.svg"></button> |
| <nav class='nav-group collapsed'> |
| |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/security/authentication" |
| |
| class='' |
| >Authentication</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/security/ssl-tls" |
| |
| class='' |
| >SSL/TLS</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| |
| |
| <button |
| type='button' |
| class='collapsed '>Transparent Data Encryption<img class="state-indicator" src="/assets/images/left-nav-arrow.svg"></button> |
| <nav class="sub_pages collapsed"> |
| |
| |
| |
| |
| <li><a href="/docs/2.9.0//security/tde" class=''>Introduction</a></li> |
| |
| |
| |
| <li><a href="/docs/2.9.0//security/master-key-rotation" class=''>Master key rotation</a></li> |
| |
| </nav> |
| |
| </li> |
| |
| |
| |
| </nav> |
| |
| </li> |
| |
| <li> |
| |
| |
| |
| |
| |
| |
| <button type='button' data-guide-url="" class='group-toggle collapsed '>Thin Clients<img class="state-indicator" src="/assets/images/left-nav-arrow.svg"></button> |
| <nav class='nav-group collapsed'> |
| |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/thin-clients/getting-started-with-thin-clients" |
| |
| class='' |
| >Thin Clients Overview</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/thin-clients/java-thin-client" |
| |
| class='' |
| >Java Thin Client</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/thin-clients/dotnet-thin-client" |
| |
| class='' |
| >.NET Thin Client</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/thin-clients/cpp-thin-client" |
| |
| class='' |
| >C++ Thin Client</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/thin-clients/python-thin-client" |
| |
| class='' |
| >Python Thin Client</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/thin-clients/php-thin-client" |
| |
| class='' |
| >PHP Thin Client</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/thin-clients/nodejs-thin-client" |
| |
| class='' |
| >Node.js Thin Client</a> |
| |
| </li> |
| |
| |
| |
| </nav> |
| |
| </li> |
| |
| <li> |
| |
| |
| |
| |
| |
| |
| <button type='button' data-guide-url="" class='group-toggle collapsed '>ODBC Driver<img class="state-indicator" src="/assets/images/left-nav-arrow.svg"></button> |
| <nav class='nav-group collapsed'> |
| |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/SQL/ODBC/odbc-driver" |
| |
| class='' |
| >ODBC Driver</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/SQL/ODBC/connection-string-dsn" |
| |
| class='' |
| >Connection String and DSN</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/SQL/ODBC/querying-modifying-data" |
| |
| class='' |
| >Querying and Modifying Data</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/SQL/ODBC/specification" |
| |
| class='' |
| >Specification</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/SQL/ODBC/data-types" |
| |
| class='' |
| >Data Types</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/SQL/ODBC/error-codes" |
| |
| class='' |
| >Error Codes</a> |
| |
| </li> |
| |
| |
| |
| </nav> |
| |
| </li> |
| |
| <li> |
| |
| |
| <a href="/docs/2.9.0/restapi" class='' >REST API</a> |
| |
| </li> |
| |
| <li> |
| |
| |
| <a href="/docs/2.9.0/control-script" class='' >Control Script</a> |
| |
| </li> |
| |
| <li> |
| |
| |
| <a href="/docs/2.9.0/plugins" class='' >Plugins</a> |
| |
| </li> |
| |
| <li> |
| |
| |
| <a href="/docs/2.9.0/sqlline" class='' >SQLLine</a> |
| |
| </li> |
| |
| <li> |
| |
| |
| |
| |
| |
| |
| <button type='button' data-guide-url="/sql-reference/sql-reference-overview" class='group-toggle collapsed '>SQL Reference<img class="state-indicator" src="/assets/images/left-nav-arrow.svg"></button> |
| <nav class='nav-group collapsed'> |
| |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/sql-reference/ddl" |
| |
| class='' |
| >Data Definition Language (DDL)</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/sql-reference/dml" |
| |
| class='' |
| >Data Manipulation Language (DML)</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/sql-reference/transactions" |
| |
| class='' |
| >Transactions</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/sql-reference/operational-commands" |
| |
| class='' |
| >Operational Commands</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/sql-reference/aggregate-functions" |
| |
| class='' |
| >Aggregate functions</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/sql-reference/numeric-functions" |
| |
| class='' |
| >Numeric Functions</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/sql-reference/string-functions" |
| |
| class='' |
| >String Functions</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/sql-reference/date-time-functions" |
| |
| class='' |
| >Data and Time Functions</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/sql-reference/system-functions" |
| |
| class='' |
| >System Functions</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| |
| <a href="/docs/2.9.0/sql-reference/data-types" |
| |
| class='' |
| >Data Types</a> |
| |
| </li> |
| |
| |
| |
| </nav> |
| |
| </li> |
| |
| </nav> |
| <div class="left-nav__overlay"></div> |
| |
| |
| <article data-swiftype-index='true'> |
| <a class='edit-link' href="https://github.com/apache/ignite/tree/IGNITE-7595/docs/_docs/events/events.adoc" target="_blank">Edit</a> |
| |
| <h1>Events</h1> |
| |
| <div id="preamble"> |
| <div class="sectionbody"> |
| <div class="paragraph"> |
| <p>This page describes different event types, when and where they are generated, and how you can use them.</p> |
| </div> |
| <div class="paragraph"> |
| <p>You can always find the most complete and up to date list of events in the <a href="https://ignite.apache.org/releases/2.9.0/javadoc/org/apache/ignite/events/EventType.html" target="_blank" rel="noopener">EventType</a> javadoc.</p> |
| </div> |
| </div> |
| </div> |
| <div class="sect1"> |
| <h2 id="general-information">General Information</h2> |
| <div class="sectionbody"> |
| <div class="paragraph"> |
| <p>All events implement the <code>Event</code> interface. |
| You may want to cast each event to the specific class to get extended information about the action the event was triggered by. |
| For example, the 'cache update' action triggers an event that is an instance of the <code>CacheEvent</code> class, which contains the information about the data that was modified, the ID of the subject that triggered the event, etc.</p> |
| </div> |
| <div class="paragraph"> |
| <p>All events contain information about the node where the event was generated. |
| For example, when you execute an <code>IgniteClosure</code> job, the <code>EVT_JOB_STARTED</code> and <code>EVT_JOB_FINISHED</code> events contain the information about the node where the closure was executed.</p> |
| </div> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="rouge highlight"><code data-lang="java"><span class="nc">IgniteEvents</span> <span class="n">events</span> <span class="o">=</span> <span class="n">ignite</span><span class="o">.</span><span class="na">events</span><span class="o">();</span> |
| |
| <span class="no">UUID</span> <span class="n">uuid</span> <span class="o">=</span> <span class="n">events</span><span class="o">.</span><span class="na">remoteListen</span><span class="o">(</span><span class="k">new</span> <span class="nc">IgniteBiPredicate</span><span class="o"><</span><span class="no">UUID</span><span class="o">,</span> <span class="nc">JobEvent</span><span class="o">>()</span> <span class="o">{</span> |
| <span class="nd">@Override</span> |
| <span class="kd">public</span> <span class="kt">boolean</span> <span class="nf">apply</span><span class="o">(</span><span class="no">UUID</span> <span class="n">uuid</span><span class="o">,</span> <span class="nc">JobEvent</span> <span class="n">e</span><span class="o">)</span> <span class="o">{</span> |
| |
| <span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"nodeID = "</span> <span class="o">+</span> <span class="n">e</span><span class="o">.</span><span class="na">node</span><span class="o">().</span><span class="na">id</span><span class="o">()</span> <span class="o">+</span> <span class="s">", addresses="</span> <span class="o">+</span> <span class="n">e</span><span class="o">.</span><span class="na">node</span><span class="o">().</span><span class="na">addresses</span><span class="o">());</span> |
| |
| <span class="k">return</span> <span class="kc">true</span><span class="o">;</span> <span class="c1">//continue listening</span> |
| <span class="o">}</span> |
| <span class="o">},</span> <span class="kc">null</span><span class="o">,</span> <span class="nc">EventType</span><span class="o">.</span><span class="na">EVT_JOB_FINISHED</span><span class="o">);</span></code></pre> |
| </div> |
| </div> |
| <div class="admonitionblock caution"> |
| <table> |
| <tr> |
| <td class="icon"> |
| <div class="title">Caution</div> |
| </td> |
| <td class="content"> |
| <h3 id="event-ordering" class="discrete">Event Ordering</h3> |
| <div class="paragraph"> |
| <p>The order of events in the event listener is not guaranteed to be the same as the order in which they were generated.</p> |
| </div> |
| </td> |
| </tr> |
| </table> |
| </div> |
| <div class="sect2"> |
| <h3 id="subjectid">SubjectID</h3> |
| <div class="paragraph"> |
| <p>Some events contain the <code>subjectID</code> field, which represents the ID of the entity that initiated the action:</p> |
| </div> |
| <div class="ulist"> |
| <ul> |
| <li> |
| <p>When the action is initiated by a server or client node, the <code>subjectID</code> is the ID of that node.</p> |
| </li> |
| <li> |
| <p>When the action is done by a thin client, JDBC/ODBC/REST client, the <code>subjectID</code> is generated when the client connects to the cluster and remains the same as long as the client is connected to the cluster.</p> |
| </li> |
| </ul> |
| </div> |
| <div class="paragraph"> |
| <p>Check the specific event class to learn if the <code>subjectID</code> field is present.</p> |
| </div> |
| </div> |
| </div> |
| </div> |
| <div class="sect1"> |
| <h2 id="cluster-state-changed-events">Cluster State Changed Events</h2> |
| <div class="sectionbody"> |
| <div class="paragraph"> |
| <p>Cluster state changed events are instances of the <a href="https://ignite.apache.org/releases/2.9.0/javadoc/org/apache/ignite/events/ClusterStateChangeEvent.html" target="_blank" rel="noopener">ClusterStateChangeEvent</a> class.</p> |
| </div> |
| <div class="paragraph"> |
| <p>The cluster state changed events are generated when the cluster state changes, which happens either on auto-activation, or when a user changes the state manually. |
| The events contain the new and old states, and the list of baseline nodes after the change.</p> |
| </div> |
| <table class="tableblock frame-all grid-all stripes-even stretch"> |
| <colgroup> |
| <col style="width: 20%;"> |
| <col style="width: 50%;"> |
| <col style="width: 30%;"> |
| </colgroup> |
| <thead> |
| <tr> |
| <th class="tableblock halign-left valign-top">Event Type</th> |
| <th class="tableblock halign-left valign-top">Event Description</th> |
| <th class="tableblock halign-left valign-top">Where Event Is Fired</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">EVT_CLUSTER_STATE_CHANGED</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">The cluster state changed.</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">All cluster nodes.</p></td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| </div> |
| <div class="sect1"> |
| <h2 id="cache-lifecycle-events">Cache Lifecycle Events</h2> |
| <div class="sectionbody"> |
| <div class="paragraph"> |
| <p>Cache Lifecycle events are instances of the <a href="https://ignite.apache.org/releases/2.9.0/javadoc/org/apache/ignite/events/CacheEvent.html" target="_blank" rel="noopener">CacheEvent</a> class. |
| Each cache lifecycle event is associated with a specific cache and has a field that contains the name of the cache.</p> |
| </div> |
| <table class="tableblock frame-all grid-all stripes-even stretch"> |
| <colgroup> |
| <col style="width: 20%;"> |
| <col style="width: 50%;"> |
| <col style="width: 30%;"> |
| </colgroup> |
| <thead> |
| <tr> |
| <th class="tableblock halign-left valign-top">Event Type</th> |
| <th class="tableblock halign-left valign-top">Event Description</th> |
| <th class="tableblock halign-left valign-top">Where Event Is Fired</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">EVT_CACHE_STARTED</p></td> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> |
| <p>A cache is started on a specific node. |
| Each server node holds an internal instance of a cache. |
| This event is fired when the instance is created, which includes the following actions:</p> |
| </div> |
| <div class="ulist"> |
| <ul> |
| <li> |
| <p>A cluster with existing caches is activated. The event is generated for every cache on all server nodes where the cache is configured.</p> |
| </li> |
| <li> |
| <p>A server node joins the cluster with existing caches (the caches are started on that node).</p> |
| </li> |
| <li> |
| <p>When you create a new cache dynamically by calling <code>Ignite.getOrCreateCache(…​)</code> or similar methods. The event is fired on all nodes that host the cache.</p> |
| </li> |
| <li> |
| <p>When you obtain an instance of a cache on a client node.</p> |
| </li> |
| <li> |
| <p>When you create a cache via the <a href="/docs/2.9.0/sql-reference/ddl#create-table">CREATE TABLE</a> command.</p> |
| </li> |
| </ul> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">All nodes where the cache is started.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">EVT_CACHE_STOPPED</p></td> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> |
| <p>This event happens when a cache is stopped, which includes the following actions:</p> |
| </div> |
| <div class="ulist"> |
| <ul> |
| <li> |
| <p>The cluster is deactivated. All caches on all server nodes are stopped.</p> |
| </li> |
| <li> |
| <p><code>IgniteCache.close()</code> is called. The event is triggered on the node where the method is called.</p> |
| </li> |
| <li> |
| <p>A SQL table is dropped.</p> |
| </li> |
| <li> |
| <p>If you call <code>cache = Ignite.getOrCreateCache(…​)</code> and then call <code>Ignite.close()</code>, the <code>cache</code> is also closed on that node.</p> |
| </li> |
| </ul> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">All nodes where the cache is stopped.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">EVT_CACHE_NODES_LEFT</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">All nodes that host a specific cache have left the cluster. This can happen when a cache is deployed on a subset of server nodes or when all server nodes leave the cluster and only client nodes remain.</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">All remaining nodes.</p></td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| </div> |
| <div class="sect1"> |
| <h2 id="cache-events">Cache Events</h2> |
| <div class="sectionbody"> |
| <div class="paragraph"> |
| <p>Cache events are instances of the <a href="https://ignite.apache.org/releases/2.9.0/javadoc/org/apache/ignite/events/CacheEvent.html">CacheEvent</a> class and |
| represent the operations on cache objects, such as 'get', 'put', 'remove', 'lock', etc.</p> |
| </div> |
| <div class="paragraph"> |
| <p>Each event contains the information about the cache, the key that is accessed by the operation, the value before and after the operation (if applicable), etc.</p> |
| </div> |
| <div class="paragraph"> |
| <p>Cache events are also generated when you use DML commands.</p> |
| </div> |
| <table class="tableblock frame-all grid-all stripes-even stretch"> |
| <colgroup> |
| <col style="width: 20%;"> |
| <col style="width: 50%;"> |
| <col style="width: 30%;"> |
| </colgroup> |
| <thead> |
| <tr> |
| <th class="tableblock halign-left valign-top">Event Type</th> |
| <th class="tableblock halign-left valign-top">Event Description</th> |
| <th class="tableblock halign-left valign-top">Where Event Is Fired</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">EVT_CACHE_OBJECT_PUT</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">An object is put to a cache. This event is fired for every invocation of <code>IgniteCache.put()</code>. The bulk operations, such as <code>putAll(…​)</code>, produce multiple events of this type.</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">The primary and backup nodes for the entry.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">EVT_CACHE_OBJECT_READ</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">An object is read from a cache. |
| This event is not emitted when you use <a href="/docs/2.9.0/key-value-api/using-scan-queries">scan queries</a> (use <a href="#cache-query-events">Cache Query Events</a> to monitor scan queries).</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">The node where read operation is executed. |
| It can be either the primary or backup node (the latter case is only possible when <a href="/docs/2.9.0/configuring-caches/configuration-overview#readfrombackup">reading from backups is enabled</a>). |
| In transactional caches, the event can be generated on both the primary and backup nodes depending on the concurrency and isolation levels.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">EVT_CACHE_OBJECT_REMOVED</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">An object is removed from a cache.</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">The primary and backup nodes for the entry.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">EVT_CACHE_OBJECT_LOCKED</p></td> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> |
| <p>A lock is acquired on a specific key. |
| Locks can be acquired only on keys in transactional caches. |
| User actions that acquire a lock include the following cases:</p> |
| </div> |
| <div class="ulist"> |
| <ul> |
| <li> |
| <p>The user explicitly acquires a lock by calling <code>IgniteCache.lock()</code> or <code>IgniteCache.lockAll()</code>.</p> |
| </li> |
| <li> |
| <p>A lock is acquired for every atomic (non-transactional) data modifying operation (put, update, remove). |
| In this case, the event is triggered on both primary and backup nodes for the key.</p> |
| </li> |
| <li> |
| <p>Locks are acquired on the keys accessed within a transaction (depending on the <a href="/docs/2.9.0/key-value-api/transactions#concurrency-modes-and-isolation-levels">concurrency and isolation levels</a>).</p> |
| </li> |
| </ul> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">The primary or/and backup nodes for the entry depending on the <a href="/docs/2.9.0/key-value-api/transactions#concurrency-modes-and-isolation-levels">concurrency and isolation levels</a>.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">EVT_CACHE_OBJECT_UNLOCKED</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">A lock on a key is released.</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">The primary node for the entry.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">EVT_CACHE_OBJECT_EXPIRED</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">The event is fired when a cache entry expires. This happens only if an <a href="/docs/2.9.0/configuring-caches/expiry-policies">expiry policy</a> is configured.</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">The primary and backup nodes for the entry.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">EVT_CACHE_ENTRY_CREATED</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">This event is triggered when Ignite creates an internal entry for working with a specific object from a cache. We don’t recommend using this event. If you want to monitor cache put operations, the <code>EVT_CACHE_OBJECT_PUT</code> event should be enough for most cases.</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">The primary and backup nodes for the entry.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">EVT_CACHE_ENTRY_DESTROYED</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">This event is triggered when Ignite destroys an internal entry that was created for working with a specific object from a cache. |
| We don’t recommend using it. |
| Destroying the internal entry does not remove any data from the cache. |
| If you want to monitor cache remove operations, use the <code>EVT_CACHE_OBJECT_REMOVED</code> event.</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">The primary and backup nodes for the entry.</p></td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| </div> |
| <div class="sect1"> |
| <h2 id="cache-query-events">Cache Query Events</h2> |
| <div class="sectionbody"> |
| <div class="paragraph"> |
| <p>There are two types of events that are related to cache queries:</p> |
| </div> |
| <div class="ulist"> |
| <ul> |
| <li> |
| <p>Cache query object read events, which are instances of the <a href="https://ignite.apache.org/releases/2.9.0/javadoc/org/apache/ignite/events/CacheQueryReadEvent.html" target="_blank" rel="noopener">CacheQueryReadEvent</a> class.</p> |
| </li> |
| <li> |
| <p>Cache query executed events, which are instances of the <a href="https://ignite.apache.org/releases/2.9.0/javadoc/org/apache/ignite/events/CacheQueryExecutedEvent.html" target="_blank" rel="noopener">CacheQueryExecutedEvent</a> class.</p> |
| </li> |
| </ul> |
| </div> |
| <table class="tableblock frame-all grid-all stripes-even stretch"> |
| <colgroup> |
| <col style="width: 20%;"> |
| <col style="width: 50%;"> |
| <col style="width: 30%;"> |
| </colgroup> |
| <thead> |
| <tr> |
| <th class="tableblock halign-left valign-top">Event Type</th> |
| <th class="tableblock halign-left valign-top">Event Description</th> |
| <th class="tableblock halign-left valign-top">Where Event Is Fired</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">EVT_CACHE_QUERY_OBJECT_READ</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">An object is read as part of a query execution. This event is generated for every object that matches the <a href="/docs/2.9.0/key-value-api/using-scan-queries#executing-scan-queries">query filter</a>.</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">The primary node of the object that is read.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">EVT_CACHE_QUERY_EXECUTED</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">This event is generated when a query is executed.</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">All server nodes that host the cache.</p></td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| </div> |
| <div class="sect1"> |
| <h2 id="class-and-task-deployment-events">Class and Task Deployment Events</h2> |
| <div class="sectionbody"> |
| <div class="paragraph"> |
| <p>Deployment events are instances of the <a href="https://ignite.apache.org/releases/2.9.0/javadoc/org/apache/ignite/events/DeploymentEvent.html">DeploymentEvent</a> class.</p> |
| </div> |
| <table class="tableblock frame-all grid-all stripes-even stretch"> |
| <colgroup> |
| <col style="width: 20%;"> |
| <col style="width: 50%;"> |
| <col style="width: 30%;"> |
| </colgroup> |
| <thead> |
| <tr> |
| <th class="tableblock halign-left valign-top">Event Type</th> |
| <th class="tableblock halign-left valign-top">Event Description</th> |
| <th class="tableblock halign-left valign-top">Where Event Is Fired</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">EVT_CLASS_DEPLOYED</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">A class (non-task) is deployed on a specific node.</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">The node where the class is deployed.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">EVT_CLASS_UNDEPLOYED</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">A class is undeployed.</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">The node where the class is undeployed.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">EVT_CLASS_DEPLOY_FAILED</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">Class deployment failed.</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">The node where the class is to be deployed.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">EVT_TASK_DEPLOYED</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">A task class is deployed on a specific node.</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">The node where the class is deployed.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">EVT_TASK_UNDEPLOYED</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">A task class is undeployed on a specific node.</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">The node where the class is undeployed.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">EVT_TASK_DEPLOY_FAILED</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">Class deployment failed.</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">The node where the class is to be deployed.</p></td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| </div> |
| <div class="sect1"> |
| <h2 id="discovery-events">Discovery Events</h2> |
| <div class="sectionbody"> |
| <div class="paragraph"> |
| <p>Discovery events occur when nodes (both servers and clients) join or leave the cluster, including cases when nodes leave due to a failure.</p> |
| </div> |
| <div class="paragraph"> |
| <p>Discovery events are instances of the <a href="https://ignite.apache.org/releases/2.9.0/javadoc/org/apache/ignite/events/DiscoveryEvent.html">DiscoveryEvent</a> class.</p> |
| </div> |
| <table class="tableblock frame-all grid-all stripes-even stretch"> |
| <colgroup> |
| <col style="width: 20%;"> |
| <col style="width: 50%;"> |
| <col style="width: 30%;"> |
| </colgroup> |
| <thead> |
| <tr> |
| <th class="tableblock halign-left valign-top">Event Type</th> |
| <th class="tableblock halign-left valign-top">Event Description</th> |
| <th class="tableblock halign-left valign-top">Where Event Is Fired</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">EVT_NODE_JOINED</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">A node joins the cluster.</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">All nodes in the cluster (other than the one that joined).</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">EVT_NODE_LEFT</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">A node leaves the cluster.</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">All remaining nodes in the cluster.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">EVT_NODE_FAILED</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">The cluster detects that a node left the cluster in a non-graceful way.</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">All remaining nodes in the cluster.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">EVT_NODE_SEGMENTED</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">This happens on a node that decides that it was segmented.</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">The node that is segmented.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">EVT_CLIENT_NODE_DISCONNECTED</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">A client node loses connection to the cluster.</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">The client node that disconnected from the cluster.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">EVT_CLIENT_NODE_RECONNECTED</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">A client node reconnects to the cluster.</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">The client node that reconnected to the cluster.</p></td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| </div> |
| <div class="sect1"> |
| <h2 id="task-execution-events">Task Execution Events</h2> |
| <div class="sectionbody"> |
| <div class="paragraph"> |
| <p>Task execution events are associated with different stages of <a href="/docs/2.9.0/distributed-computing/map-reduce">task execution</a>. |
| They are also generated when you execute <a href="/docs/2.9.0/distributed-computing/distributed-computing">simple closures</a> because internally a closure is treated as a task that produces a single job.</p> |
| </div> |
| <div class="paragraph"> |
| <p>Task Execution events are instances of the <a href="https://ignite.apache.org/releases/2.9.0/javadoc/org/apache/ignite/events/TaskEvent.html">TaskEvent</a> class.</p> |
| </div> |
| <table class="tableblock frame-all grid-all stripes-even stretch"> |
| <colgroup> |
| <col style="width: 20%;"> |
| <col style="width: 50%;"> |
| <col style="width: 30%;"> |
| </colgroup> |
| <thead> |
| <tr> |
| <th class="tableblock halign-left valign-top">Event Type</th> |
| <th class="tableblock halign-left valign-top">Event Description</th> |
| <th class="tableblock halign-left valign-top">Where Event Is Fired</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">EVT_TASK_STARTED</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">A task is started. <code>IgniteCompute.execute()</code> or other method is called</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">The node that initiates the task.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">EVT_TASK_REDUCED</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">This event represents the 'reduce' stage of the task execution flow.</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">The node where the task was started.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">EVT_TASK_FINISHED</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">The execution of the task finishes.</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">The node where the task was started.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">EVT_TASK_FAILED</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">The task failed</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">The node where the task was started.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">EVT_TASK_TIMEDOUT</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">The execution of the task timed out. This can happen when <code>Ignite.compute().withTimeout(…​)</code> to execute tasks. When a task times out, it cancels all jobs that are being executed. It also generates the <code>EVT_TASK_FAILED</code> event.</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">The node where the task was started.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">EVT_TASK_SESSION_ATTR_SET</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">A job sets an attribute in the <a href="/docs/2.9.0/distributed-computing/map-reduce#distributed-task-session">session</a>.</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">The node where the job is executed.</p></td> |
| </tr> |
| </tbody> |
| </table> |
| <div class="paragraph"> |
| <p><br></p> |
| </div> |
| <div class="paragraph"> |
| <p>Job Execution events are instances of the <a href="https://ignite.apache.org/releases/2.9.0/javadoc/org/apache/ignite/events/JobEvent.html">JobEvent</a> class. |
| The job execution events are generated at different stages of job execution and are associated with particular instances of the job. |
| The event contains information about the task that produced the job (task name, task class, etc.).</p> |
| </div> |
| <table class="tableblock frame-all grid-all stripes-even stretch"> |
| <colgroup> |
| <col style="width: 20%;"> |
| <col style="width: 50%;"> |
| <col style="width: 30%;"> |
| </colgroup> |
| <thead> |
| <tr> |
| <th class="tableblock halign-left valign-top">Event Type</th> |
| <th class="tableblock halign-left valign-top">Event Description</th> |
| <th class="tableblock halign-left valign-top">Where Event Is Fired</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">EVT_JOB_MAPPED</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">A job is mapped to a specific node. Mapping happens on the node where the task is started. This event is generated for every job produced in the "map" stage.</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">The node that started the task.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">EVT_JOB_QUEUED</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">The job is added to the queue on the node to which it was mapped.</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">The node where the job is scheduled for execution.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">EVT_JOB_STARTED</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">Execution of the job started.</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">The node where the job is executed.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">EVT_JOB_FINISHED</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">Execution of the job finished. This also includes cases when the job is cancelled.</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">The node where the job is executed.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">EVT_JOB_RESULTED</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">The job returned a result to the node from which it was sent.</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">The node where the task was started.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">EVT_JOB_FAILED</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">Execution of a job fails. If the job failover strategy is configured (default), this event is accompanied by the <code>EVT_JOB_FAILED_OVER</code> event.</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">The node where the job is executed.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">EVT_JOB_FAILED_OVER</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">The job was failed over to another node.</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">The node that started the task.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">EVT_JOB_TIMEDOUT</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">The job timed out.</p></td> |
| <td class="tableblock halign-left valign-top"></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">EVT_JOB_REJECTED</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">The job is rejected. The job can be rejected if a <a href="/docs/2.9.0/distributed-computing/job-scheduling">collision spi</a> is configured.</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">The node where the job is rejected.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">EVT_JOB_CANCELLED</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">The job was cancelled.</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">The node where the job is being executed.</p></td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| </div> |
| <div class="sect1"> |
| <h2 id="cache-rebalancing-events">Cache Rebalancing Events</h2> |
| <div class="sectionbody"> |
| <div class="paragraph"> |
| <p>Cache Rebalancing events (all except for <code>EVT_CACHE_REBALANCE_OBJECT_LOADED</code> and <code>EVT_CACHE_REBALANCE_OBJECT_UNLOADED</code>) are instances of the <a href="https://ignite.apache.org/releases/2.9.0/javadoc/org/apache/ignite/events/CacheRebalancingEvent.html">CacheRebalancingEvent</a> class.</p> |
| </div> |
| <div class="paragraph"> |
| <p>Rebalancing occurs on a per cache basis; therefore, each rebalancing event corresponds to a specific cache. |
| The event contains the name of the cache.</p> |
| </div> |
| <div class="paragraph"> |
| <p>The process of moving a single cache partition from Node A to Node B consists of the following steps:</p> |
| </div> |
| <div class="olist arabic"> |
| <ol class="arabic"> |
| <li> |
| <p>Node A supplies a partition (REBALANCE_PART_SUPPLIED). The objects from the partition start to move to node B.</p> |
| </li> |
| <li> |
| <p>Node B receives the partition data (REBALANCE_PART_LOADED).</p> |
| </li> |
| <li> |
| <p>Node A removes the partition from its storage (REBALANCE_PART_UNLOADED).</p> |
| </li> |
| </ol> |
| </div> |
| <table class="tableblock frame-all grid-all stripes-even stretch"> |
| <colgroup> |
| <col style="width: 20%;"> |
| <col style="width: 50%;"> |
| <col style="width: 30%;"> |
| </colgroup> |
| <thead> |
| <tr> |
| <th class="tableblock halign-left valign-top">Event Type</th> |
| <th class="tableblock halign-left valign-top">Event Description</th> |
| <th class="tableblock halign-left valign-top">Where Event Is Fired</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">EVT_CACHE_REBALANCE_STARTED</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">The rebalancing of a cache starts.</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">All nodes that host the cache.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">EVT_CACHE_REBALANCE_STOPPED</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">The rebalancing of a cache stops.</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">All nodes that host the cache.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">EVT_CACHE_REBALANCE_PART_LOADED</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">A cache’s partition is loaded on the new node. This event is fired for every partition that participates in the cache rebalancing.</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">The node where the partition is loaded.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">EVT_CACHE_REBALANCE_PART_UNLOADED</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">A cache’s partition is removed from the node after it has been loaded to its new destination.</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">The node where the partition was held before the rebalancing process started.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">EVT_CACHE_REBALANCE_OBJECT_LOADED</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">An object is moved to a new node as part of cache rebalancing.</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">The node where the object is loaded.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">EVT_CACHE_REBALANCE_OBJECT_UNLOADED</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">An object is removed from a node after it has been moved to a new node.</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">The node from which the object is removed.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">EVT_CACHE_REBALANCE_PART_DATA_LOST</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">A partition that is to be rebalanced is lost, for example, due to a node failure.</p></td> |
| <td class="tableblock halign-left valign-top"></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">EVT_CACHE_REBALANCE_PART_SUPPLIED</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">A node supplies a cache partition as part of the rebalancing process.</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">The node that owns the partition.</p></td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| </div> |
| <div class="sect1"> |
| <h2 id="transaction-events">Transaction Events</h2> |
| <div class="sectionbody"> |
| <div class="paragraph"> |
| <p>Transaction events are instances of the <a href="https://ignite.apache.org/releases/2.9.0/javadoc/org/apache/ignite/events/TransactionStateChangedEvent.html">TransactionStateChangedEvent</a> class. |
| They allow you to get notification about different stages of transaction execution. Each event contains the <code>Transaction</code> object this event is associated with.</p> |
| </div> |
| <table class="tableblock frame-all grid-all stripes-even stretch"> |
| <colgroup> |
| <col style="width: 20%;"> |
| <col style="width: 50%;"> |
| <col style="width: 30%;"> |
| </colgroup> |
| <thead> |
| <tr> |
| <th class="tableblock halign-left valign-top">Event Type</th> |
| <th class="tableblock halign-left valign-top">Event Description</th> |
| <th class="tableblock halign-left valign-top">Where Event Is Fired</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">EVT_TX_STARTED</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">A transaction is started. Note that in transactional caches, each atomic operation executed outside a transaction is considered a transaction with a single operation.</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">The node where the transaction was started.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">EVT_TX_COMMITTED</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">A transaction is committed.</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">The node where the transaction was started.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">EVT_TX_ROLLED_BACK</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">A transaction is rolled back.</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">The node where the transaction was executed.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">EVT_TX_SUSPENDED</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">A transaction is suspended.</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">The node where the transaction was started.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">EVT_TX_RESUMED</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">A transaction is resumed.</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">The node where the transaction was started.</p></td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| </div> |
| <div class="copyright"> |
| © 2020 The Apache Software Foundation.<br/> |
| Apache, Apache Ignite, the Apache feather and the Apache Ignite logo are either registered trademarks or trademarks of The Apache Software Foundation. |
| |
| </div> |
| |
| </article> |
| <nav class="right-nav" data-swiftype-index='false'> |
| <ul class="sectlevel1"> |
| <li><a href="#general-information">General Information</a> |
| <ul class="sectlevel2"> |
| <li><a href="#subjectid">SubjectID</a></li> |
| </ul> |
| </li> |
| <li><a href="#cluster-state-changed-events">Cluster State Changed Events</a></li> |
| <li><a href="#cache-lifecycle-events">Cache Lifecycle Events</a></li> |
| <li><a href="#cache-events">Cache Events</a></li> |
| <li><a href="#cache-query-events">Cache Query Events</a></li> |
| <li><a href="#class-and-task-deployment-events">Class and Task Deployment Events</a></li> |
| <li><a href="#discovery-events">Discovery Events</a></li> |
| <li><a href="#task-execution-events">Task Execution Events</a></li> |
| <li><a href="#cache-rebalancing-events">Cache Rebalancing Events</a></li> |
| <li><a href="#transaction-events">Transaction Events</a></li> |
| </ul> |
| |
| |
| <footer> |
| </footer> |
| |
| </nav> |
| |
| </section> |
| <script type='module' src='/assets/js/code-copy-to-clipboard.js' async crossorigin></script> |
| |
| <script> |
| // inits deep anchors -- needs to be done here because of https://www.bryanbraun.com/anchorjs/#dont-run-it-too-late |
| anchors.add('.page-docs h1, .page-docs h2, .page-docs h3:not(.discrete), .page-docs h4, .page-docs h5'); |
| anchors.options = { |
| placement: 'right', |
| visible: 'always' |
| }; |
| </script> |
| <!-- load google fonts async --> |
| <script type="text/javascript"> |
| WebFontConfig = { |
| google: { families: [ 'Open+Sans:300,400,600,700&display=swap' ] } |
| }; |
| (function() { |
| var wf = document.createElement('script'); |
| wf.src = 'https://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js'; |
| wf.type = 'text/javascript'; |
| wf.async = 'true'; |
| var s = document.getElementsByTagName('script')[0]; |
| s.parentNode.insertBefore(wf, s); |
| })(); </script> |
| <script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script> |
| <script> |
| docsearch({ |
| // Your apiKey and indexName will be given to you once |
| // we create your config |
| apiKey: '3eee686c0ebe39eff3baeb18c56fa5f8', |
| indexName: 'apache_ignite', |
| // Replace inputSelector with a CSS selector |
| // matching your search input |
| inputSelector: '#search-input', |
| // algoliaOptions: { 'facetFilters': ["version:$VERSION"] }, |
| |
| // Set debug to true to inspect the dropdown |
| debug: false, |
| }); |
| </script> |
| <script type='module' src='/assets/js/index.js?1598947897' async crossorigin></script> |
| <script type='module' src='/assets/js/versioning.js?1598947897' async crossorigin></script> |
| </body> |
| |
| </html> |