| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> |
| <!-- NewPage --> |
| <html lang="en"> |
| <head> |
| <link rel="canonical" href="https://ignite.apache.org/releases/2.8.0/javadoc/org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html" /> |
| <META NAME="ROBOTS" CONTENT="NOINDEX"> |
| <!-- Generated by javadoc (1.8.0_221) on Thu Feb 27 14:09:37 MSK 2020 --> |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| <title>JobStealingCollisionSpi (Ignite 2.8.0)</title> |
| <meta name="date" content="2020-02-27"> |
| <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style"> |
| <script type="text/javascript" src="../../../../../../script.js"></script> |
| <link rel='shortcut icon' href='https://ignite.apache.org/favicon.ico'/> |
| </head> |
| |
| <body> |
| <script type="text/javascript"><!-- |
| try { |
| if (location.href.indexOf('is-external=true') == -1) { |
| parent.document.title="JobStealingCollisionSpi (Ignite 2.8.0)"; |
| } |
| } |
| catch(err) { |
| } |
| //--> |
| var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10}; |
| var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]}; |
| var altColor = "altColor"; |
| var rowColor = "rowColor"; |
| var tableTab = "tableTab"; |
| var activeTableTab = "activeTableTab"; |
| </script> |
| <noscript> |
| <div>JavaScript is disabled on your browser.</div> |
| </noscript> |
| <!-- ========= START OF TOP NAVBAR ======= --> |
| <div class="topNav"><a name="navbar.top"> |
| <!-- --> |
| </a> |
| <div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div> |
| <a name="navbar.top.firstrow"> |
| <!-- --> |
| </a> |
| <ul class="navList" title="Navigation"> |
| <li><a href="../../../../../../overview-summary.html">Overview</a></li> |
| <li><a href="package-summary.html">Package</a></li> |
| <li class="navBarCell1Rev">Class</li> |
| <li><a href="class-use/JobStealingCollisionSpi.html">Use</a></li> |
| <li><a href="package-tree.html">Tree</a></li> |
| <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li> |
| <li><a href="../../../../../../index-all.html">Index</a></li> |
| <li><a href="../../../../../../help-doc.html">Help</a></li> |
| </ul> |
| </div> |
| <div class="subNav"> |
| <ul class="navList"> |
| <li>Prev Class</li> |
| <li><a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpiMBean.html" title="interface in org.apache.ignite.spi.collision.jobstealing"><span class="typeNameLink">Next Class</span></a></li> |
| </ul> |
| <ul class="navList"> |
| <li><a href="../../../../../../index.html?org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html" target="_top">Frames</a></li> |
| <li><a href="JobStealingCollisionSpi.html" target="_top">No Frames</a></li> |
| </ul> |
| <ul class="navList" id="allclasses_navbar_top"> |
| <li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li> |
| </ul> |
| <div> |
| <script type="text/javascript"><!-- |
| allClassesLink = document.getElementById("allclasses_navbar_top"); |
| if(window==top) { |
| allClassesLink.style.display = "block"; |
| } |
| else { |
| allClassesLink.style.display = "none"; |
| } |
| //--> |
| </script> |
| </div> |
| <div> |
| <ul class="subNavList"> |
| <li>Summary: </li> |
| <li>Nested | </li> |
| <li><a href="#field.summary">Field</a> | </li> |
| <li><a href="#constructor.summary">Constr</a> | </li> |
| <li><a href="#method.summary">Method</a></li> |
| </ul> |
| <ul class="subNavList"> |
| <li>Detail: </li> |
| <li><a href="#field.detail">Field</a> | </li> |
| <li><a href="#constructor.detail">Constr</a> | </li> |
| <li><a href="#method.detail">Method</a></li> |
| </ul> |
| </div> |
| <a name="skip.navbar.top"> |
| <!-- --> |
| </a></div> |
| <!-- ========= END OF TOP NAVBAR ========= --> |
| <!-- ======== START OF CLASS DATA ======== --> |
| <div class="header"> |
| <div class="subTitle">org.apache.ignite.spi.collision.jobstealing</div> |
| <h2 title="Class JobStealingCollisionSpi" class="title">Class JobStealingCollisionSpi</h2> |
| </div> |
| <div class="contentContainer"> |
| <ul class="inheritance"> |
| <li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li> |
| <li> |
| <ul class="inheritance"> |
| <li><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi">org.apache.ignite.spi.IgniteSpiAdapter</a></li> |
| <li> |
| <ul class="inheritance"> |
| <li>org.apache.ignite.spi.collision.jobstealing.JobStealingCollisionSpi</li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| <div class="description"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <dl> |
| <dt>All Implemented Interfaces:</dt> |
| <dd><a href="../../../../../../org/apache/ignite/spi/collision/CollisionSpi.html" title="interface in org.apache.ignite.spi.collision">CollisionSpi</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html" title="interface in org.apache.ignite.spi">IgniteSpi</a></dd> |
| </dl> |
| <hr> |
| <br> |
| <pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiMultipleInstancesSupport.html" title="annotation in org.apache.ignite.spi">@IgniteSpiMultipleInstancesSupport</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiMultipleInstancesSupport.html#value--">value</a>=true) |
| <a href="../../../../../../org/apache/ignite/spi/IgniteSpiConsistencyChecked.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConsistencyChecked</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConsistencyChecked.html#optional--">optional</a>=true) |
| public class <span class="typeNameLabel">JobStealingCollisionSpi</span> |
| extends <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi">IgniteSpiAdapter</a> |
| implements <a href="../../../../../../org/apache/ignite/spi/collision/CollisionSpi.html" title="interface in org.apache.ignite.spi.collision">CollisionSpi</a></pre> |
| <div class="block">Collision SPI that supports job stealing from over-utilized nodes to |
| under-utilized nodes. This SPI is especially useful if you have |
| some jobs within task complete fast, and others sitting in the waiting |
| queue on slower nodes. In such case, the waiting jobs will be <b>stolen</b> |
| from slower node and moved to the fast under-utilized node. |
| <p> |
| The design and ideas for this SPI are significantly influenced by |
| <a href="http://gee.cs.oswego.edu/dl/papers/fj.pdf">Java Fork/Join Framework</a> |
| authored by Doug Lea and planned for Java 7. <code>GridJobStealingCollisionSpi</code> took |
| similar concepts and applied them to the grid (as opposed to within VM support planned |
| in Java 7). |
| <p> |
| Quite often grids are deployed across many computers some of which will |
| always be more powerful than others. This SPI helps you avoid jobs being |
| stuck at a slower node, as they will be stolen by a faster node. In the following picture |
| when Node<sub>3</sub> becomes free, it steals Job<sub>13</sub> and Job<sub>23</sub> |
| from Node<sub>1</sub> and Node<sub>2</sub> respectively. |
| <p> |
| <center><img src="http://http://ignite.apache.org/images/job_stealing_white.gif"></center> |
| <p> |
| <i> |
| Note that this SPI must always be used in conjunction with |
| <a href="../../../../../../org/apache/ignite/spi/failover/jobstealing/JobStealingFailoverSpi.html" title="class in org.apache.ignite.spi.failover.jobstealing"><code>JobStealingFailoverSpi</code></a>. |
| Also note that job metrics update should be enabled in order for this SPI |
| to work properly (i.e. <a href="../../../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getMetricsUpdateFrequency--"><code>IgniteConfiguration#getMetricsUpdateFrequency()</code></a> |
| should be set to positive value). |
| The responsibility of Job Stealing Failover SPI is to properly route <b>stolen</b> |
| jobs to the nodes that initially requested (<b>stole</b>) these jobs. The |
| SPI maintains a counter of how many times a jobs was stolen and |
| hence traveled to another node. <a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html" title="class in org.apache.ignite.spi.collision.jobstealing"><code>JobStealingCollisionSpi</code></a> |
| checks this counter and will not allow a job to be stolen if this counter |
| exceeds a certain threshold <a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#setMaximumStealingAttempts-int-"><code>setMaximumStealingAttempts(int)</code></a>. |
| </i> |
| <p> |
| <h1 class="header">Configuration</h1> |
| In order to use this SPI, you should configure your grid instance |
| to use <a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html" title="class in org.apache.ignite.spi.collision.jobstealing"><code>JobStealingCollisionSpi</code></a> either from Spring XML file or |
| directly. The following configuration parameters are supported: |
| <h2 class="header">Mandatory</h2> |
| This SPI has no mandatory configuration parameters. |
| <h2 class="header">Optional</h2> |
| The following configuration parameters are optional: |
| <ul> |
| <li> |
| Maximum number of active jobs that will be allowed by this SPI |
| to execute concurrently (see <a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#setActiveJobsThreshold-int-"><code>setActiveJobsThreshold(int)</code></a>). |
| </li> |
| <li> |
| Maximum number of waiting jobs. Once waiting queue size goes below |
| this number, this SPI will attempt to steal jobs from over-utilized |
| nodes by sending <b>"steal"</b> requests (see <a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#setWaitJobsThreshold-int-"><code>setWaitJobsThreshold(int)</code></a>). |
| </li> |
| <li> |
| Steal message expire time. If no response was received from a node |
| to which <b>steal</b> request was sent, then request will be considered |
| lost and will be resent, potentially to another node (see <a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#setMessageExpireTime-long-"><code>setMessageExpireTime(long)</code></a>). |
| </li> |
| <li> |
| Maximum number of stealing attempts for the job (see <a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#setMaximumStealingAttempts-int-"><code>setMaximumStealingAttempts(int)</code></a>). |
| </li> |
| <li> |
| Whether stealing enabled or not (see <a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#setStealingEnabled-boolean-"><code>setStealingEnabled(boolean)</code></a>). |
| </li> |
| <li> |
| Enables stealing to/from only nodes that have these attributes set |
| (see <a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#setStealingAttributes-java.util.Map-"><code>setStealingAttributes(Map)</code></a>). |
| </li> |
| </ul> |
| Below is example of configuring this SPI from Java code: |
| <pre name="code" class="java"> |
| JobStealingCollisionSpi spi = new JobStealingCollisionSpi(); |
| |
| // Configure number of waiting jobs |
| // in the queue for job stealing. |
| spi.setWaitJobsThreshold(10); |
| |
| // Configure message expire time (in milliseconds). |
| spi.setMessageExpireTime(500); |
| |
| // Configure stealing attempts number. |
| spi.setMaximumStealingAttempts(10); |
| |
| // Configure number of active jobs that are allowed to execute |
| // in parallel. This number should usually be equal to the number |
| // of threads in the pool (default is 100). |
| spi.setActiveJobsThreshold(50); |
| |
| // Enable stealing. |
| spi.setStealingEnabled(true); |
| |
| // Set stealing attribute to steal from/to nodes that have it. |
| spi.setStealingAttributes(Collections.singletonMap("node.segment", "foobar")); |
| |
| IgniteConfiguration cfg = new IgniteConfiguration(); |
| |
| // Override default Collision SPI. |
| cfg.setCollisionSpi(spi); |
| </pre> |
| Here is an example of how this SPI can be configured from Spring XML configuration: |
| <pre name="code" class="xml"> |
| <property name="collisionSpi"> |
| <bean class="org.apache.ignite.spi.collision.jobstealing.JobStealingCollisionSpi"> |
| <property name="activeJobsThreshold" value="100"/> |
| <property name="waitJobsThreshold" value="0"/> |
| <property name="messageExpireTime" value="1000"/> |
| <property name="maximumStealingAttempts" value="10"/> |
| <property name="stealingEnabled" value="true"/> |
| <property name="stealingAttributes"> |
| <map> |
| <entry key="node.segment" value="foobar"/> |
| </map> |
| </property> |
| </bean> |
| </property> |
| </pre> |
| <p> |
| <img src="http://ignite.apache.org/images/spring-small.png"> |
| <br> |
| For information about Spring framework visit <a href="http://www.springframework.org/">www.springframework.org</a></div> |
| </li> |
| </ul> |
| </div> |
| <div class="summary"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <!-- =========== FIELD SUMMARY =========== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="field.summary"> |
| <!-- --> |
| </a> |
| <h3>Field Summary</h3> |
| <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation"> |
| <caption><span>Fields</span><span class="tabEnd"> </span></caption> |
| <tr> |
| <th class="colFirst" scope="col">Modifier and Type</th> |
| <th class="colLast" scope="col">Field and Description</th> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#ACTIVE_JOBS_THRESHOLD_NODE_ATTR">ACTIVE_JOBS_THRESHOLD_NODE_ATTR</a></span></code> |
| <div class="block">Threshold of maximum jobs executing concurrently.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>static int</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#DFLT_ACTIVE_JOBS_THRESHOLD">DFLT_ACTIVE_JOBS_THRESHOLD</a></span></code> |
| <div class="block">Default number of parallel jobs allowed (value is <code>95</code> which is |
| slightly less same as default value of threads in the execution thread pool |
| to allow some extra threads for system processing).</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static int</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#DFLT_JOB_PRIORITY">DFLT_JOB_PRIORITY</a></span></code> |
| <div class="block">Default start value for job priority (value is <code>0</code>).</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>static int</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#DFLT_MAX_STEALING_ATTEMPTS">DFLT_MAX_STEALING_ATTEMPTS</a></span></code> |
| <div class="block">Maximum number of attempts to steal job by another node (default is <code>5</code>).</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static long</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#DFLT_MSG_EXPIRE_TIME">DFLT_MSG_EXPIRE_TIME</a></span></code> |
| <div class="block">Default steal message expire time in milliseconds (value is <code>1000</code>).</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>static int</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#DFLT_WAIT_JOBS_THRESHOLD">DFLT_WAIT_JOBS_THRESHOLD</a></span></code> |
| <div class="block">Default threshold of waiting jobs.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#MAX_STEALING_ATTEMPT_ATTR">MAX_STEALING_ATTEMPT_ATTR</a></span></code> |
| <div class="block">Maximum stealing attempts attribute name.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#MSG_EXPIRE_TIME_ATTR">MSG_EXPIRE_TIME_ATTR</a></span></code> |
| <div class="block">Stealing request expiration time attribute name.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#STEALING_ATTEMPT_COUNT_ATTR">STEALING_ATTEMPT_COUNT_ATTR</a></span></code> |
| <div class="block">Name of job context attribute containing current stealing attempt count.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#STEALING_PRIORITY_ATTR">STEALING_PRIORITY_ATTR</a></span></code> |
| <div class="block">Stealing priority attribute name.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#THIEF_NODE_ATTR">THIEF_NODE_ATTR</a></span></code> |
| <div class="block">Job context attribute for storing thief node UUID (this attribute is used in job stealing failover SPI).</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#WAIT_JOBS_THRESHOLD_NODE_ATTR">WAIT_JOBS_THRESHOLD_NODE_ATTR</a></span></code> |
| <div class="block">Threshold of maximum jobs on waiting queue.</div> |
| </td> |
| </tr> |
| </table> |
| <ul class="blockList"> |
| <li class="blockList"><a name="fields.inherited.from.class.org.apache.ignite.spi.IgniteSpiAdapter"> |
| <!-- --> |
| </a> |
| <h3>Fields inherited from class org.apache.ignite.spi.<a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi">IgniteSpiAdapter</a></h3> |
| <code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#ignite">ignite</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#igniteInstanceName">igniteInstanceName</a></code></li> |
| </ul> |
| </li> |
| </ul> |
| <!-- ======== CONSTRUCTOR SUMMARY ======== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="constructor.summary"> |
| <!-- --> |
| </a> |
| <h3>Constructor Summary</h3> |
| <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation"> |
| <caption><span>Constructors</span><span class="tabEnd"> </span></caption> |
| <tr> |
| <th class="colOne" scope="col">Constructor and Description</th> |
| </tr> |
| <tr class="altColor"> |
| <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#JobStealingCollisionSpi--">JobStealingCollisionSpi</a></span>()</code> </td> |
| </tr> |
| </table> |
| </li> |
| </ul> |
| <!-- ========== METHOD SUMMARY =========== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="method.summary"> |
| <!-- --> |
| </a> |
| <h3>Method Summary</h3> |
| <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation"> |
| <caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </span></span></caption> |
| <tr> |
| <th class="colFirst" scope="col">Modifier and Type</th> |
| <th class="colLast" scope="col">Method and Description</th> |
| </tr> |
| <tr id="i0" class="altColor"> |
| <td class="colFirst"><code>int</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#getActiveJobsThreshold--">getActiveJobsThreshold</a></span>()</code> |
| <div class="block">See <a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#setActiveJobsThreshold-int-"><code>setActiveJobsThreshold(int)</code></a>.</div> |
| </td> |
| </tr> |
| <tr id="i1" class="rowColor"> |
| <td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><span class='angle_bracket'><</span><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a><span class='angle_bracket'>></span></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#getConsistentAttributeNames--">getConsistentAttributeNames</a></span>()</code> |
| <div class="block">Returns back a list of attributes that should be consistent |
| for this SPI.</div> |
| </td> |
| </tr> |
| <tr id="i2" class="altColor"> |
| <td class="colFirst"><code>int</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#getCurrentActiveJobsNumber--">getCurrentActiveJobsNumber</a></span>()</code> |
| <div class="block">Gets current number of jobs that are being executed.</div> |
| </td> |
| </tr> |
| <tr id="i3" class="rowColor"> |
| <td class="colFirst"><code>int</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#getCurrentHeldJobsNumber--">getCurrentHeldJobsNumber</a></span>()</code> |
| <div class="block">Gets number of currently <code>'held'</code> jobs.</div> |
| </td> |
| </tr> |
| <tr id="i4" class="altColor"> |
| <td class="colFirst"><code>int</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#getCurrentJobsToStealNumber--">getCurrentJobsToStealNumber</a></span>()</code> |
| <div class="block">Gets current number of jobs to be stolen.</div> |
| </td> |
| </tr> |
| <tr id="i5" class="rowColor"> |
| <td class="colFirst"><code>int</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#getCurrentRunningJobsNumber--">getCurrentRunningJobsNumber</a></span>()</code> |
| <div class="block">Gets number of currently running (not <code>'held</code>) jobs.</div> |
| </td> |
| </tr> |
| <tr id="i6" class="altColor"> |
| <td class="colFirst"><code>int</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#getCurrentWaitJobsNumber--">getCurrentWaitJobsNumber</a></span>()</code> |
| <div class="block">Gets current number of jobs that wait for the execution.</div> |
| </td> |
| </tr> |
| <tr id="i7" class="rowColor"> |
| <td class="colFirst"><code>int</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#getMaximumStealingAttempts--">getMaximumStealingAttempts</a></span>()</code> |
| <div class="block">See <a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#setMaximumStealingAttempts-int-"><code>setMaximumStealingAttempts(int)</code></a>.</div> |
| </td> |
| </tr> |
| <tr id="i8" class="altColor"> |
| <td class="colFirst"><code>long</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#getMessageExpireTime--">getMessageExpireTime</a></span>()</code> |
| <div class="block">See <a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#setMessageExpireTime-long-"><code>setMessageExpireTime(long)</code></a>.</div> |
| </td> |
| </tr> |
| <tr id="i9" class="rowColor"> |
| <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><span class='angle_bracket'><</span><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a><span class='angle_bracket'>></span></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#getNodeAttributes--">getNodeAttributes</a></span>()</code> |
| <div class="block">This method is called before SPI starts (before method <a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#spiStart-java.lang.String-"><code>IgniteSpi.spiStart(String)</code></a> |
| is called).</div> |
| </td> |
| </tr> |
| <tr id="i10" class="altColor"> |
| <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><span class='angle_bracket'><</span><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,? extends <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a><span class='angle_bracket'>></span></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#getStealingAttributes--">getStealingAttributes</a></span>()</code> |
| <div class="block"><a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#setStealingAttributes-java.util.Map-"><code>setStealingAttributes(Map)</code></a>.</div> |
| </td> |
| </tr> |
| <tr id="i11" class="rowColor"> |
| <td class="colFirst"><code>int</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#getTotalStolenJobsNumber--">getTotalStolenJobsNumber</a></span>()</code> |
| <div class="block">Gets total number of stolen jobs.</div> |
| </td> |
| </tr> |
| <tr id="i12" class="altColor"> |
| <td class="colFirst"><code>int</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#getWaitJobsThreshold--">getWaitJobsThreshold</a></span>()</code> |
| <div class="block">See <a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#setWaitJobsThreshold-int-"><code>setWaitJobsThreshold(int)</code></a>.</div> |
| </td> |
| </tr> |
| <tr id="i13" class="rowColor"> |
| <td class="colFirst"><code>boolean</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#isStealingEnabled--">isStealingEnabled</a></span>()</code> |
| <div class="block">See <a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#setStealingEnabled-boolean-"><code>setStealingEnabled(boolean)</code></a>.</div> |
| </td> |
| </tr> |
| <tr id="i14" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#onCollision-org.apache.ignite.spi.collision.CollisionContext-">onCollision</a></span>(<a href="../../../../../../org/apache/ignite/spi/collision/CollisionContext.html" title="interface in org.apache.ignite.spi.collision">CollisionContext</a> ctx)</code> |
| <div class="block">This is a callback called: |
| |
| new grid job arrived |
| executing job finished its execution |
| topology changed |
| periodically (on <a href="../../../../../../org/apache/ignite/events/EventType.html#EVT_NODE_METRICS_UPDATED"><code>EventType.EVT_NODE_METRICS_UPDATED</code></a>) |
| |
| When new job arrives it is added to the end of the wait list and this |
| method is called.</div> |
| </td> |
| </tr> |
| <tr id="i15" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#onContextDestroyed0--">onContextDestroyed0</a></span>()</code> |
| <div class="block">Method to be called in the beginning of onContextDestroyed() method.</div> |
| </td> |
| </tr> |
| <tr id="i16" class="altColor"> |
| <td class="colFirst"><code>protected void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#onContextInitialized0-org.apache.ignite.spi.IgniteSpiContext-">onContextInitialized0</a></span>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiContext.html" title="interface in org.apache.ignite.spi">IgniteSpiContext</a> spiCtx)</code> |
| <div class="block">Method to be called in the end of onContextInitialized method.</div> |
| </td> |
| </tr> |
| <tr id="i17" class="rowColor"> |
| <td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html" title="class in org.apache.ignite.spi.collision.jobstealing">JobStealingCollisionSpi</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#setActiveJobsThreshold-int-">setActiveJobsThreshold</a></span>(int activeJobsThreshold)</code> |
| <div class="block">Sets number of jobs that can be executed in parallel.</div> |
| </td> |
| </tr> |
| <tr id="i18" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#setExternalCollisionListener-org.apache.ignite.spi.collision.CollisionExternalListener-">setExternalCollisionListener</a></span>(<a href="../../../../../../org/apache/ignite/spi/collision/CollisionExternalListener.html" title="interface in org.apache.ignite.spi.collision">CollisionExternalListener</a> extLsnr)</code> |
| <div class="block">Listener to be set for notification of external collision events (e.g. job stealing).</div> |
| </td> |
| </tr> |
| <tr id="i19" class="rowColor"> |
| <td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html" title="class in org.apache.ignite.spi.collision.jobstealing">JobStealingCollisionSpi</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#setMaximumStealingAttempts-int-">setMaximumStealingAttempts</a></span>(int maxStealingAttempts)</code> |
| <div class="block">Gets maximum number of attempts to steal job by another node.</div> |
| </td> |
| </tr> |
| <tr id="i20" class="altColor"> |
| <td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html" title="class in org.apache.ignite.spi.collision.jobstealing">JobStealingCollisionSpi</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#setMessageExpireTime-long-">setMessageExpireTime</a></span>(long msgExpireTime)</code> |
| <div class="block">Message expire time configuration parameter.</div> |
| </td> |
| </tr> |
| <tr id="i21" class="rowColor"> |
| <td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html" title="class in org.apache.ignite.spi.collision.jobstealing">JobStealingCollisionSpi</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#setName-java.lang.String-">setName</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> name)</code> |
| <div class="block">Sets SPI name.</div> |
| </td> |
| </tr> |
| <tr id="i22" class="altColor"> |
| <td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html" title="class in org.apache.ignite.spi.collision.jobstealing">JobStealingCollisionSpi</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#setStealingAttributes-java.util.Map-">setStealingAttributes</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><span class='angle_bracket'><</span><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,? extends <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a><span class='angle_bracket'>></span> stealAttrs)</code> |
| <div class="block">Configuration parameter to enable stealing to/from only nodes that |
| have these attributes set (see <a href="../../../../../../org/apache/ignite/cluster/ClusterNode.html#attribute-java.lang.String-"><code>ClusterNode.attribute(String)</code></a> and |
| <a href="../../../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getUserAttributes--"><code>IgniteConfiguration.getUserAttributes()</code></a> methods).</div> |
| </td> |
| </tr> |
| <tr id="i23" class="rowColor"> |
| <td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html" title="class in org.apache.ignite.spi.collision.jobstealing">JobStealingCollisionSpi</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#setStealingEnabled-boolean-">setStealingEnabled</a></span>(boolean isStealingEnabled)</code> |
| <div class="block">Gets flag indicating whether this node should attempt to steal jobs |
| from other nodes.</div> |
| </td> |
| </tr> |
| <tr id="i24" class="altColor"> |
| <td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html" title="class in org.apache.ignite.spi.collision.jobstealing">JobStealingCollisionSpi</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#setWaitJobsThreshold-int-">setWaitJobsThreshold</a></span>(int waitJobsThreshold)</code> |
| <div class="block">Sets job count threshold at which this node will |
| start stealing jobs from other nodes.</div> |
| </td> |
| </tr> |
| <tr id="i25" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#spiStart-java.lang.String-">spiStart</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> igniteInstanceName)</code> |
| <div class="block">This method is called to start SPI.</div> |
| </td> |
| </tr> |
| <tr id="i26" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#spiStop--">spiStop</a></span>()</code> |
| <div class="block">This method is called to stop SPI.</div> |
| </td> |
| </tr> |
| <tr id="i27" class="rowColor"> |
| <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#toString--">toString</a></span>()</code></td> |
| </tr> |
| </table> |
| <ul class="blockList"> |
| <li class="blockList"><a name="methods.inherited.from.class.org.apache.ignite.spi.IgniteSpiAdapter"> |
| <!-- --> |
| </a> |
| <h3>Methods inherited from class org.apache.ignite.spi.<a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi">IgniteSpiAdapter</a></h3> |
| <code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#addTimeoutObject-org.apache.ignite.spi.IgniteSpiTimeoutObject-">addTimeoutObject</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#assertParameter-boolean-java.lang.String-">assertParameter</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#checkConfigurationConsistency0-org.apache.ignite.spi.IgniteSpiContext-org.apache.ignite.cluster.ClusterNode-boolean-">checkConfigurationConsistency0</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#clientFailureDetectionTimeout--">clientFailureDetectionTimeout</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#configInfo-java.lang.String-java.lang.Object-">configInfo</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#createSpiAttributeName-java.lang.String-">createSpiAttributeName</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#failureDetectionTimeout--">failureDetectionTimeout</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#failureDetectionTimeoutEnabled--">failureDetectionTimeoutEnabled</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#failureDetectionTimeoutEnabled-boolean-">failureDetectionTimeoutEnabled</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getExceptionRegistry--">getExceptionRegistry</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getLocalNode--">getLocalNode</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getName--">getName</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getSpiContext--">getSpiContext</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#ignite--">ignite</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#initFailureDetectionTimeout--">initFailureDetectionTimeout</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#injectables--">injectables</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#injectResources-org.apache.ignite.Ignite-">injectResources</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#isNodeStopping--">isNodeStopping</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#onBeforeStart--">onBeforeStart</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#onClientDisconnected-org.apache.ignite.lang.IgniteFuture-">onClientDisconnected</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#onClientReconnected-boolean-">onClientReconnected</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#onContextDestroyed--">onContextDestroyed</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#onContextInitialized-org.apache.ignite.spi.IgniteSpiContext-">onContextInitialized</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#registerMBean-java.lang.String-T-java.lang.Class-">registerMBean</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#removeTimeoutObject-org.apache.ignite.spi.IgniteSpiTimeoutObject-">removeTimeoutObject</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#started--">started</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#startInfo--">startInfo</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#startStopwatch--">startStopwatch</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#stopInfo--">stopInfo</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#unregisterMBean--">unregisterMBean</a></code></li> |
| </ul> |
| <ul class="blockList"> |
| <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object"> |
| <!-- --> |
| </a> |
| <h3>Methods inherited from class java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3> |
| <code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li> |
| </ul> |
| <ul class="blockList"> |
| <li class="blockList"><a name="methods.inherited.from.class.org.apache.ignite.spi.IgniteSpi"> |
| <!-- --> |
| </a> |
| <h3>Methods inherited from interface org.apache.ignite.spi.<a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html" title="interface in org.apache.ignite.spi">IgniteSpi</a></h3> |
| <code><a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#getName--">getName</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#onClientDisconnected-org.apache.ignite.lang.IgniteFuture-">onClientDisconnected</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#onClientReconnected-boolean-">onClientReconnected</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#onContextDestroyed--">onContextDestroyed</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#onContextInitialized-org.apache.ignite.spi.IgniteSpiContext-">onContextInitialized</a></code></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </div> |
| <div class="details"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <!-- ============ FIELD DETAIL =========== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="field.detail"> |
| <!-- --> |
| </a> |
| <h3>Field Detail</h3> |
| <a name="DFLT_MAX_STEALING_ATTEMPTS"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>DFLT_MAX_STEALING_ATTEMPTS</h4> |
| <pre>public static final int DFLT_MAX_STEALING_ATTEMPTS</pre> |
| <div class="block">Maximum number of attempts to steal job by another node (default is <code>5</code>).</div> |
| <dl> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.collision.jobstealing.JobStealingCollisionSpi.DFLT_MAX_STEALING_ATTEMPTS">Constant Field Values</a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="DFLT_ACTIVE_JOBS_THRESHOLD"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>DFLT_ACTIVE_JOBS_THRESHOLD</h4> |
| <pre>public static final int DFLT_ACTIVE_JOBS_THRESHOLD</pre> |
| <div class="block">Default number of parallel jobs allowed (value is <code>95</code> which is |
| slightly less same as default value of threads in the execution thread pool |
| to allow some extra threads for system processing).</div> |
| <dl> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.collision.jobstealing.JobStealingCollisionSpi.DFLT_ACTIVE_JOBS_THRESHOLD">Constant Field Values</a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="DFLT_MSG_EXPIRE_TIME"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>DFLT_MSG_EXPIRE_TIME</h4> |
| <pre>public static final long DFLT_MSG_EXPIRE_TIME</pre> |
| <div class="block">Default steal message expire time in milliseconds (value is <code>1000</code>). |
| Once this time is elapsed and no response for steal message is received, |
| the message is considered lost and another steal message will be generated, |
| potentially to another node.</div> |
| <dl> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.collision.jobstealing.JobStealingCollisionSpi.DFLT_MSG_EXPIRE_TIME">Constant Field Values</a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="DFLT_WAIT_JOBS_THRESHOLD"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>DFLT_WAIT_JOBS_THRESHOLD</h4> |
| <pre>public static final int DFLT_WAIT_JOBS_THRESHOLD</pre> |
| <div class="block">Default threshold of waiting jobs. If number of waiting jobs exceeds this threshold, |
| then waiting jobs will become available to be stolen (value is <code>0</code>).</div> |
| <dl> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.collision.jobstealing.JobStealingCollisionSpi.DFLT_WAIT_JOBS_THRESHOLD">Constant Field Values</a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="DFLT_JOB_PRIORITY"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>DFLT_JOB_PRIORITY</h4> |
| <pre>public static final int DFLT_JOB_PRIORITY</pre> |
| <div class="block">Default start value for job priority (value is <code>0</code>).</div> |
| <dl> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.collision.jobstealing.JobStealingCollisionSpi.DFLT_JOB_PRIORITY">Constant Field Values</a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="THIEF_NODE_ATTR"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>THIEF_NODE_ATTR</h4> |
| <pre>public static final <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> THIEF_NODE_ATTR</pre> |
| <div class="block">Job context attribute for storing thief node UUID (this attribute is used in job stealing failover SPI).</div> |
| <dl> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.collision.jobstealing.JobStealingCollisionSpi.THIEF_NODE_ATTR">Constant Field Values</a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="WAIT_JOBS_THRESHOLD_NODE_ATTR"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>WAIT_JOBS_THRESHOLD_NODE_ATTR</h4> |
| <pre>public static final <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> WAIT_JOBS_THRESHOLD_NODE_ATTR</pre> |
| <div class="block">Threshold of maximum jobs on waiting queue.</div> |
| <dl> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.collision.jobstealing.JobStealingCollisionSpi.WAIT_JOBS_THRESHOLD_NODE_ATTR">Constant Field Values</a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="ACTIVE_JOBS_THRESHOLD_NODE_ATTR"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>ACTIVE_JOBS_THRESHOLD_NODE_ATTR</h4> |
| <pre>public static final <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> ACTIVE_JOBS_THRESHOLD_NODE_ATTR</pre> |
| <div class="block">Threshold of maximum jobs executing concurrently.</div> |
| <dl> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.collision.jobstealing.JobStealingCollisionSpi.ACTIVE_JOBS_THRESHOLD_NODE_ATTR">Constant Field Values</a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="STEALING_ATTEMPT_COUNT_ATTR"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>STEALING_ATTEMPT_COUNT_ATTR</h4> |
| <pre>public static final <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> STEALING_ATTEMPT_COUNT_ATTR</pre> |
| <div class="block">Name of job context attribute containing current stealing attempt count. |
| This count is incremented every time the same job gets stolen for |
| execution.</div> |
| <dl> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../../../../../../org/apache/ignite/compute/ComputeJobContext.html" title="interface in org.apache.ignite.compute"><code>ComputeJobContext</code></a>, |
| <a href="../../../../../../constant-values.html#org.apache.ignite.spi.collision.jobstealing.JobStealingCollisionSpi.STEALING_ATTEMPT_COUNT_ATTR">Constant Field Values</a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="MAX_STEALING_ATTEMPT_ATTR"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>MAX_STEALING_ATTEMPT_ATTR</h4> |
| <pre>public static final <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> MAX_STEALING_ATTEMPT_ATTR</pre> |
| <div class="block">Maximum stealing attempts attribute name.</div> |
| <dl> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.collision.jobstealing.JobStealingCollisionSpi.MAX_STEALING_ATTEMPT_ATTR">Constant Field Values</a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="MSG_EXPIRE_TIME_ATTR"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>MSG_EXPIRE_TIME_ATTR</h4> |
| <pre>public static final <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> MSG_EXPIRE_TIME_ATTR</pre> |
| <div class="block">Stealing request expiration time attribute name.</div> |
| <dl> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.collision.jobstealing.JobStealingCollisionSpi.MSG_EXPIRE_TIME_ATTR">Constant Field Values</a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="STEALING_PRIORITY_ATTR"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>STEALING_PRIORITY_ATTR</h4> |
| <pre>public static final <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> STEALING_PRIORITY_ATTR</pre> |
| <div class="block">Stealing priority attribute name.</div> |
| <dl> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.collision.jobstealing.JobStealingCollisionSpi.STEALING_PRIORITY_ATTR">Constant Field Values</a></dd> |
| </dl> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| <!-- ========= CONSTRUCTOR DETAIL ======== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="constructor.detail"> |
| <!-- --> |
| </a> |
| <h3>Constructor Detail</h3> |
| <a name="JobStealingCollisionSpi--"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>JobStealingCollisionSpi</h4> |
| <pre>public JobStealingCollisionSpi()</pre> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| <!-- ============ METHOD DETAIL ========== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="method.detail"> |
| <!-- --> |
| </a> |
| <h3>Method Detail</h3> |
| <a name="setActiveJobsThreshold-int-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>setActiveJobsThreshold</h4> |
| <pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConfiguration</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html#optional--">optional</a>=true) |
| public <a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html" title="class in org.apache.ignite.spi.collision.jobstealing">JobStealingCollisionSpi</a> setActiveJobsThreshold(int activeJobsThreshold)</pre> |
| <div class="block">Sets number of jobs that can be executed in parallel.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>activeJobsThreshold</code> - Number of jobs that can be executed in parallel.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getActiveJobsThreshold--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getActiveJobsThreshold</h4> |
| <pre>public int getActiveJobsThreshold()</pre> |
| <div class="block">See <a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#setActiveJobsThreshold-int-"><code>setActiveJobsThreshold(int)</code></a>.</div> |
| <dl> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Number of jobs that can be executed in parallel.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="setWaitJobsThreshold-int-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>setWaitJobsThreshold</h4> |
| <pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConfiguration</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html#optional--">optional</a>=true) |
| public <a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html" title="class in org.apache.ignite.spi.collision.jobstealing">JobStealingCollisionSpi</a> setWaitJobsThreshold(int waitJobsThreshold)</pre> |
| <div class="block">Sets job count threshold at which this node will |
| start stealing jobs from other nodes.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>waitJobsThreshold</code> - Job count threshold.</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd><code>this</code> for chaining.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getWaitJobsThreshold--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getWaitJobsThreshold</h4> |
| <pre>public int getWaitJobsThreshold()</pre> |
| <div class="block">See <a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#setWaitJobsThreshold-int-"><code>setWaitJobsThreshold(int)</code></a>.</div> |
| <dl> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Job count threshold.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="setMessageExpireTime-long-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>setMessageExpireTime</h4> |
| <pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConfiguration</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html#optional--">optional</a>=true) |
| public <a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html" title="class in org.apache.ignite.spi.collision.jobstealing">JobStealingCollisionSpi</a> setMessageExpireTime(long msgExpireTime)</pre> |
| <div class="block">Message expire time configuration parameter. If no response is received |
| from a busy node to a job stealing message, then implementation will |
| assume that message never got there, or that remote node does not have |
| this node included into topology of any of the jobs it has.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>msgExpireTime</code> - Message expire time.</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd><code>this</code> for chaining.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getMessageExpireTime--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getMessageExpireTime</h4> |
| <pre>public long getMessageExpireTime()</pre> |
| <div class="block">See <a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#setMessageExpireTime-long-"><code>setMessageExpireTime(long)</code></a>.</div> |
| <dl> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Message expire time.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="setStealingEnabled-boolean-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>setStealingEnabled</h4> |
| <pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConfiguration</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html#optional--">optional</a>=true) |
| public <a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html" title="class in org.apache.ignite.spi.collision.jobstealing">JobStealingCollisionSpi</a> setStealingEnabled(boolean isStealingEnabled)</pre> |
| <div class="block">Gets flag indicating whether this node should attempt to steal jobs |
| from other nodes. If <code>false</code>, then this node will steal allow |
| jobs to be stolen from it, but won't attempt to steal any jobs from |
| other nodes. |
| <p> |
| Default value is <code>true</code>.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>isStealingEnabled</code> - Flag indicating whether this node should attempt to steal jobs |
| from other nodes.</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd><code>this</code> for chaining.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="isStealingEnabled--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>isStealingEnabled</h4> |
| <pre>public boolean isStealingEnabled()</pre> |
| <div class="block">See <a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#setStealingEnabled-boolean-"><code>setStealingEnabled(boolean)</code></a>.</div> |
| <dl> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Flag indicating whether this node should attempt to steal jobs |
| from other nodes.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="setMaximumStealingAttempts-int-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>setMaximumStealingAttempts</h4> |
| <pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConfiguration</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html#optional--">optional</a>=true) |
| public <a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html" title="class in org.apache.ignite.spi.collision.jobstealing">JobStealingCollisionSpi</a> setMaximumStealingAttempts(int maxStealingAttempts)</pre> |
| <div class="block">Gets maximum number of attempts to steal job by another node. |
| If not specified, <a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#DFLT_MAX_STEALING_ATTEMPTS"><code>DFLT_MAX_STEALING_ATTEMPTS</code></a> |
| value will be used.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>maxStealingAttempts</code> - Maximum number of attempts to steal job by another node.</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd><code>this</code> for chaining.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getMaximumStealingAttempts--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getMaximumStealingAttempts</h4> |
| <pre>public int getMaximumStealingAttempts()</pre> |
| <div class="block">See <a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#setMaximumStealingAttempts-int-"><code>setMaximumStealingAttempts(int)</code></a>.</div> |
| <dl> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Maximum number of attempts to steal job by another node.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="setStealingAttributes-java.util.Map-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>setStealingAttributes</h4> |
| <pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConfiguration</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html#optional--">optional</a>=true) |
| public <a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html" title="class in org.apache.ignite.spi.collision.jobstealing">JobStealingCollisionSpi</a> setStealingAttributes(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><span class='angle_bracket'><</span><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,? extends <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a><span class='angle_bracket'>></span> stealAttrs)</pre> |
| <div class="block">Configuration parameter to enable stealing to/from only nodes that |
| have these attributes set (see <a href="../../../../../../org/apache/ignite/cluster/ClusterNode.html#attribute-java.lang.String-"><code>ClusterNode.attribute(String)</code></a> and |
| <a href="../../../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getUserAttributes--"><code>IgniteConfiguration.getUserAttributes()</code></a> methods).</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>stealAttrs</code> - Node attributes to enable job stealing for.</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd><code>this</code> for chaining.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getStealingAttributes--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getStealingAttributes</h4> |
| <pre>public <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><span class='angle_bracket'><</span><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,? extends <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a><span class='angle_bracket'>></span> getStealingAttributes()</pre> |
| <div class="block"><a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html#setStealingAttributes-java.util.Map-"><code>setStealingAttributes(Map)</code></a>.</div> |
| <dl> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Node attributes to enable job stealing for.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getCurrentRunningJobsNumber--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getCurrentRunningJobsNumber</h4> |
| <pre>public int getCurrentRunningJobsNumber()</pre> |
| <div class="block">Gets number of currently running (not <code>'held</code>) jobs.</div> |
| <dl> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Number of currently running (not <code>'held</code>) jobs.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getCurrentHeldJobsNumber--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getCurrentHeldJobsNumber</h4> |
| <pre>public int getCurrentHeldJobsNumber()</pre> |
| <div class="block">Gets number of currently <code>'held'</code> jobs.</div> |
| <dl> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Number of currently <code>'held'</code> jobs.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getCurrentWaitJobsNumber--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getCurrentWaitJobsNumber</h4> |
| <pre>public int getCurrentWaitJobsNumber()</pre> |
| <div class="block">Gets current number of jobs that wait for the execution.</div> |
| <dl> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Number of jobs that wait for execution.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getCurrentActiveJobsNumber--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getCurrentActiveJobsNumber</h4> |
| <pre>public int getCurrentActiveJobsNumber()</pre> |
| <div class="block">Gets current number of jobs that are being executed.</div> |
| <dl> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Number of active jobs.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getTotalStolenJobsNumber--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getTotalStolenJobsNumber</h4> |
| <pre>public int getTotalStolenJobsNumber()</pre> |
| <div class="block">Gets total number of stolen jobs.</div> |
| <dl> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Number of stolen jobs.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getCurrentJobsToStealNumber--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getCurrentJobsToStealNumber</h4> |
| <pre>public int getCurrentJobsToStealNumber()</pre> |
| <div class="block">Gets current number of jobs to be stolen. This is outstanding |
| requests number.</div> |
| <dl> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Number of jobs to be stolen.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getNodeAttributes--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getNodeAttributes</h4> |
| <pre>public <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><span class='angle_bracket'><</span><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a><span class='angle_bracket'>></span> getNodeAttributes() |
| throws <a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></pre> |
| <div class="block">This method is called before SPI starts (before method <a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#spiStart-java.lang.String-"><code>IgniteSpi.spiStart(String)</code></a> |
| is called). It allows SPI implementation to add attributes to a local |
| node. Kernal collects these attributes from all SPI implementations |
| loaded up and then passes it to discovery SPI so that they can be |
| exchanged with other nodes.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#getNodeAttributes--">getNodeAttributes</a></code> in interface <code><a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html" title="interface in org.apache.ignite.spi">IgniteSpi</a></code></dd> |
| <dt><span class="overrideSpecifyLabel">Overrides:</span></dt> |
| <dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getNodeAttributes--">getNodeAttributes</a></code> in class <code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi">IgniteSpiAdapter</a></code></dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Map of local node attributes this SPI wants to add.</dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></code> - Throws in case of any error.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="spiStart-java.lang.String-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>spiStart</h4> |
| <pre>public void spiStart(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> igniteInstanceName) |
| throws <a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></pre> |
| <div class="block">This method is called to start SPI. After this method returns |
| successfully kernel assumes that SPI is fully operational.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#spiStart-java.lang.String-">spiStart</a></code> in interface <code><a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html" title="interface in org.apache.ignite.spi">IgniteSpi</a></code></dd> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>igniteInstanceName</code> - Name of Ignite instance this SPI is being started for |
| (<code>null</code> for default Ignite instance).</dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></code> - Throws in case of any error during SPI start.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="spiStop--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>spiStop</h4> |
| <pre>public void spiStop() |
| throws <a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></pre> |
| <div class="block">This method is called to stop SPI. After this method returns kernel |
| assumes that this SPI is finished and all resources acquired by it |
| are released. |
| <p> |
| <b> |
| Note that this method can be called at any point including during |
| recovery of failed start. It should make no assumptions on what state SPI |
| will be in when this method is called. |
| </b></div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#spiStop--">spiStop</a></code> in interface <code><a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html" title="interface in org.apache.ignite.spi">IgniteSpi</a></code></dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></code> - Thrown in case of any error during SPI stop.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="setExternalCollisionListener-org.apache.ignite.spi.collision.CollisionExternalListener-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>setExternalCollisionListener</h4> |
| <pre>public void setExternalCollisionListener(<a href="../../../../../../org/apache/ignite/spi/collision/CollisionExternalListener.html" title="interface in org.apache.ignite.spi.collision">CollisionExternalListener</a> extLsnr)</pre> |
| <div class="block">Listener to be set for notification of external collision events (e.g. job stealing). |
| Once grid receives such notification, it will immediately invoke collision SPI. |
| <p> |
| Ignite uses this listener to enable job stealing from overloaded to underloaded nodes. |
| However, you can also utilize it, for instance, to provide time based collision |
| resolution. To achieve this, you most likely would mark some job by setting a certain |
| attribute in job context (see <a href="../../../../../../org/apache/ignite/compute/ComputeJobContext.html" title="interface in org.apache.ignite.compute"><code>ComputeJobContext</code></a>) for a job that requires |
| time-based scheduling and set some timer in your SPI implementation that would wake up |
| after a certain period of time. Once this period is reached, you would notify this |
| listener that a collision resolution should take place. Then inside of your collision |
| resolution logic, you would find the marked waiting job and activate it. |
| <p> |
| Note that most collision SPI's might not have external collisions. In that case, |
| they should simply ignore this method and do nothing when listener is set.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../../../../org/apache/ignite/spi/collision/CollisionSpi.html#setExternalCollisionListener-org.apache.ignite.spi.collision.CollisionExternalListener-">setExternalCollisionListener</a></code> in interface <code><a href="../../../../../../org/apache/ignite/spi/collision/CollisionSpi.html" title="interface in org.apache.ignite.spi.collision">CollisionSpi</a></code></dd> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>extLsnr</code> - Listener for external collision events.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="onContextInitialized0-org.apache.ignite.spi.IgniteSpiContext-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>onContextInitialized0</h4> |
| <pre>protected void onContextInitialized0(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiContext.html" title="interface in org.apache.ignite.spi">IgniteSpiContext</a> spiCtx) |
| throws <a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></pre> |
| <div class="block">Method to be called in the end of onContextInitialized method.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Overrides:</span></dt> |
| <dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#onContextInitialized0-org.apache.ignite.spi.IgniteSpiContext-">onContextInitialized0</a></code> in class <code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi">IgniteSpiAdapter</a></code></dd> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>spiCtx</code> - SPI context.</dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></code> - In case of errors.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="onContextDestroyed0--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>onContextDestroyed0</h4> |
| <pre>public void onContextDestroyed0()</pre> |
| <div class="block">Method to be called in the beginning of onContextDestroyed() method.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Overrides:</span></dt> |
| <dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#onContextDestroyed0--">onContextDestroyed0</a></code> in class <code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi">IgniteSpiAdapter</a></code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="onCollision-org.apache.ignite.spi.collision.CollisionContext-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>onCollision</h4> |
| <pre>public void onCollision(<a href="../../../../../../org/apache/ignite/spi/collision/CollisionContext.html" title="interface in org.apache.ignite.spi.collision">CollisionContext</a> ctx)</pre> |
| <div class="block">This is a callback called: |
| <ul> |
| <li>new grid job arrived</li> |
| <li>executing job finished its execution</li> |
| <li>topology changed</li> |
| <li>periodically (on <a href="../../../../../../org/apache/ignite/events/EventType.html#EVT_NODE_METRICS_UPDATED"><code>EventType.EVT_NODE_METRICS_UPDATED</code></a>)</li> |
| </ul> |
| When new job arrives it is added to the end of the wait list and this |
| method is called. When job finished its execution, it is removed from the active list and |
| this method is called (i.e., when grid job is finished it will not appear in any list |
| in collision resolution). |
| <p> |
| Implementation of this method should act on all lists, each of which contains collision |
| job contexts that define a set of operations available during collision resolution. Refer |
| to <a href="../../../../../../org/apache/ignite/spi/collision/CollisionContext.html" title="interface in org.apache.ignite.spi.collision"><code>CollisionContext</code></a> and <a href="../../../../../../org/apache/ignite/spi/collision/CollisionJobContext.html" title="interface in org.apache.ignite.spi.collision"><code>CollisionJobContext</code></a> documentation for |
| more information.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../../../../org/apache/ignite/spi/collision/CollisionSpi.html#onCollision-org.apache.ignite.spi.collision.CollisionContext-">onCollision</a></code> in interface <code><a href="../../../../../../org/apache/ignite/spi/collision/CollisionSpi.html" title="interface in org.apache.ignite.spi.collision">CollisionSpi</a></code></dd> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>ctx</code> - Collision context which contains all collision lists.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getConsistentAttributeNames--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getConsistentAttributeNames</h4> |
| <pre>protected <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><span class='angle_bracket'><</span><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a><span class='angle_bracket'>></span> getConsistentAttributeNames()</pre> |
| <div class="block">Returns back a list of attributes that should be consistent |
| for this SPI. Consistency means that remote node has to |
| have the same attribute with the same value.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Overrides:</span></dt> |
| <dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getConsistentAttributeNames--">getConsistentAttributeNames</a></code> in class <code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi">IgniteSpiAdapter</a></code></dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>List or attribute names.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="setName-java.lang.String-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>setName</h4> |
| <pre>public <a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html" title="class in org.apache.ignite.spi.collision.jobstealing">JobStealingCollisionSpi</a> setName(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> name)</pre> |
| <div class="block">Sets SPI name.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Overrides:</span></dt> |
| <dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#setName-java.lang.String-">setName</a></code> in class <code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi">IgniteSpiAdapter</a></code></dd> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>name</code> - SPI name.</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd><code>this</code> for chaining.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="toString--"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>toString</h4> |
| <pre>public <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> toString()</pre> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Overrides:</span></dt> |
| <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code> in class <code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd> |
| </dl> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </div> |
| </div> |
| <!-- ========= END OF CLASS DATA ========= --> |
| <!-- ======= START OF BOTTOM NAVBAR ====== --> |
| <div class="bottomNav"><a name="navbar.bottom"> |
| <!-- --> |
| </a> |
| <div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div> |
| <a name="navbar.bottom.firstrow"> |
| <!-- --> |
| </a> |
| <ul class="navList" title="Navigation"> |
| <li><a href="../../../../../../overview-summary.html">Overview</a></li> |
| <li><a href="package-summary.html">Package</a></li> |
| <li class="navBarCell1Rev">Class</li> |
| <li><a href="class-use/JobStealingCollisionSpi.html">Use</a></li> |
| <li><a href="package-tree.html">Tree</a></li> |
| <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li> |
| <li><a href="../../../../../../index-all.html">Index</a></li> |
| <li><a href="../../../../../../help-doc.html">Help</a></li> |
| </ul> |
| </div> |
| <div class="subNav"> |
| <ul class="navList"> |
| <li>Prev Class</li> |
| <li><a href="../../../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpiMBean.html" title="interface in org.apache.ignite.spi.collision.jobstealing"><span class="typeNameLink">Next Class</span></a></li> |
| </ul> |
| <ul class="navList"> |
| <li><a href="../../../../../../index.html?org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html" target="_top">Frames</a></li> |
| <li><a href="JobStealingCollisionSpi.html" target="_top">No Frames</a></li> |
| </ul> |
| <ul class="navList" id="allclasses_navbar_bottom"> |
| <li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li> |
| </ul> |
| <div> |
| <script type="text/javascript"><!-- |
| allClassesLink = document.getElementById("allclasses_navbar_bottom"); |
| if(window==top) { |
| allClassesLink.style.display = "block"; |
| } |
| else { |
| allClassesLink.style.display = "none"; |
| } |
| //--> |
| </script> |
| </div> |
| <div> |
| <ul class="subNavList"> |
| <li>Summary: </li> |
| <li>Nested | </li> |
| <li><a href="#field.summary">Field</a> | </li> |
| <li><a href="#constructor.summary">Constr</a> | </li> |
| <li><a href="#method.summary">Method</a></li> |
| </ul> |
| <ul class="subNavList"> |
| <li>Detail: </li> |
| <li><a href="#field.detail">Field</a> | </li> |
| <li><a href="#constructor.detail">Constr</a> | </li> |
| <li><a href="#method.detail">Method</a></li> |
| </ul> |
| </div> |
| <a name="skip.navbar.bottom"> |
| <!-- --> |
| </a></div> |
| <!-- ======== END OF BOTTOM NAVBAR ======= --> |
| <p class="legalCopy"><small><table width="100%" border="0" cellspacing=0 cellpadding=0 style="padding: 5px"> <tr> <td> <table style="padding-left: 0; margin: 0"> <tbody style="padding: 0; margin: 0"> <tr style="padding: 0; margin: 0"> <td> <a target=_blank href="https://ignite.apache.org"><nobr>2020 Copyright © Apache Software Foundation</nobr></a> </td> </tr> </tbody> </table> </td> <td width="100%" align="right" valign="center"> <a href="https://twitter.com/ApacheIgnite" class="twitter-follow-button" data-show-count="false" data-size="large">Follow @ApacheIgnite</a> </td> </tr> <tr> <td colspan="2" valign="top" align="left"> <table style="padding-left: 0; margin: 0"> <tbody style="padding: 0; margin: 0"> <tr style="padding: 0; margin: 0"> <td> <b>Ignite Database and Caching Platform</b> </td> <td>: ver. <strong>2.8.0</strong> </td> </tr> <tr style="padding: 0; margin: 0"> <td> <b>Release Date</b> </td> <td>: February 27 2020 </td> </tr> </tbody> </table> </td> </tr> </table></small></p> |
| </body> |
| </html> |