blob: 28d8e99c8d556170508b6f725b52ca6224d848da [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_261) on Sat Sep 11 21:20:02 MSK 2021 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>MaintenanceRegistry (Ignite 2.11.0)</title>
<meta name="date" content="2021-09-11">
<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="MaintenanceRegistry (Ignite 2.11.0)";
}
}
catch(err) {
}
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":18,"i7":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default 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/MaintenanceRegistry.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><a href="../../../../org/apache/ignite/maintenance/MaintenanceAction.html" title="interface in org.apache.ignite.maintenance"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/ignite/maintenance/MaintenanceTask.html" title="class in org.apache.ignite.maintenance"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/ignite/maintenance/MaintenanceRegistry.html" target="_top">Frames</a></li>
<li><a href="MaintenanceRegistry.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;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:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</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.maintenance</div>
<h2 title="Interface MaintenanceRegistry" class="title">Interface MaintenanceRegistry</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public interface <span class="typeNameLabel">MaintenanceRegistry</span></pre>
<div class="block"><a href="../../../../org/apache/ignite/maintenance/MaintenanceRegistry.html" title="interface in org.apache.ignite.maintenance"><code>MaintenanceRegistry</code></a> is a service local to each Ignite node
that allows to request performing maintenance actions on that particular node.
<p>
When a node gets into a situation when some specific actions are required
it enters the special mode called maintenance mode.
In maintenance mode it doesn't join to the rest of the cluster but still allows to connect to it
with control.{sh|bat} script or via JXM interface and perform needed actions.
</p>
<p>
Implementing new task for maintenance mode requires several pieces of code.
<ul>
<li>
First, component requiring Maintenance Mode should be able to register new <a href="../../../../org/apache/ignite/maintenance/MaintenanceTask.html" title="class in org.apache.ignite.maintenance"><code>MaintenanceTask</code></a>
with <a href="../../../../org/apache/ignite/maintenance/MaintenanceRegistry.html#registerMaintenanceTask-org.apache.ignite.maintenance.MaintenanceTask-"><code>registerMaintenanceTask(MaintenanceTask)</code></a> method.
Registration could happen automatically (e.g. if component detects some emergency situation
that requires user intervention)
or by user request (e.g. for a planned maintenance that requires
detaching node from the rest of the cluster).
</li>
<li>
Component responsible for handling this <a href="../../../../org/apache/ignite/maintenance/MaintenanceTask.html" title="class in org.apache.ignite.maintenance"><code>MaintenanceTask</code></a>
on startup checks if the task is registered (thus it should go to Maintenance Mode).
If task is found component provides to <a href="../../../../org/apache/ignite/maintenance/MaintenanceRegistry.html" title="interface in org.apache.ignite.maintenance"><code>MaintenanceRegistry</code></a> its own implementation
of <a href="../../../../org/apache/ignite/maintenance/MaintenanceWorkflowCallback.html" title="interface in org.apache.ignite.maintenance"><code>MaintenanceWorkflowCallback</code></a> interface
via method <a href="../../../../org/apache/ignite/maintenance/MaintenanceRegistry.html#registerWorkflowCallback-java.lang.String-org.apache.ignite.maintenance.MaintenanceWorkflowCallback-"><code>registerWorkflowCallback(String, MaintenanceWorkflowCallback)</code></a>.
</li>
<li>
<a href="../../../../org/apache/ignite/maintenance/MaintenanceWorkflowCallback.html" title="interface in org.apache.ignite.maintenance"><code>MaintenanceWorkflowCallback</code></a> should provide <a href="../../../../org/apache/ignite/maintenance/MaintenanceRegistry.html" title="interface in org.apache.ignite.maintenance"><code>MaintenanceRegistry</code></a> with
<a href="../../../../org/apache/ignite/maintenance/MaintenanceAction.html" title="interface in org.apache.ignite.maintenance"><code>MaintenanceAction</code></a>s that are able to resolve maintenance task,
get information about it and so on.
Logic of these actions is completely up to the component providing it
and depends only on particular maintenance task.
</li>
<li>
When maintenance task is fixed, it should be removed from <a href="../../../../org/apache/ignite/maintenance/MaintenanceRegistry.html" title="interface in org.apache.ignite.maintenance"><code>MaintenanceRegistry</code></a>
with call <a href="../../../../org/apache/ignite/maintenance/MaintenanceRegistry.html#unregisterMaintenanceTask-java.lang.String-"><code>unregisterMaintenanceTask(String)</code></a>.
</li>
</ul>
</p></div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== 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">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t5" class="tableTab"><span><a href="javascript:show(16);">Default Methods</a></span><span class="tabEnd">&nbsp;</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><a href="https://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'>&lt;</span><a href="../../../../org/apache/ignite/maintenance/MaintenanceAction.html" title="interface in org.apache.ignite.maintenance">MaintenanceAction</a><span class='angle_bracket'>&lt;</span>?<span class='angle_bracket'>&gt;</span><span class='angle_bracket'>&gt;</span></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/ignite/maintenance/MaintenanceRegistry.html#actionsForMaintenanceTask-java.lang.String-">actionsForMaintenanceTask</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;maintenanceTaskName)</code>
<div class="block">All <a href="../../../../org/apache/ignite/maintenance/MaintenanceAction.html" title="interface in org.apache.ignite.maintenance"><code>MaintenanceAction</code></a>s provided by a component for <a href="../../../../org/apache/ignite/maintenance/MaintenanceTask.html" title="class in org.apache.ignite.maintenance"><code>MaintenanceTask</code></a> with a given name.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>@Nullable <a href="../../../../org/apache/ignite/maintenance/MaintenanceTask.html" title="class in org.apache.ignite.maintenance">MaintenanceTask</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/ignite/maintenance/MaintenanceRegistry.html#activeMaintenanceTask-java.lang.String-">activeMaintenanceTask</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;maintenanceTaskName)</code>
<div class="block">Returns active <a href="../../../../org/apache/ignite/maintenance/MaintenanceTask.html" title="class in org.apache.ignite.maintenance"><code>MaintenanceTask</code></a> by its name.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/ignite/maintenance/MaintenanceRegistry.html#isMaintenanceMode--">isMaintenanceMode</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/ignite/maintenance/MaintenanceRegistry.html#prepareAndExecuteMaintenance--">prepareAndExecuteMaintenance</a></span>()</code>
<div class="block">Examine all components if they need to execute maintenance actions.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>@Nullable <a href="../../../../org/apache/ignite/maintenance/MaintenanceTask.html" title="class in org.apache.ignite.maintenance">MaintenanceTask</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/ignite/maintenance/MaintenanceRegistry.html#registerMaintenanceTask-org.apache.ignite.maintenance.MaintenanceTask-">registerMaintenanceTask</a></span>(<a href="../../../../org/apache/ignite/maintenance/MaintenanceTask.html" title="class in org.apache.ignite.maintenance">MaintenanceTask</a>&nbsp;task)</code>
<div class="block">Method to register <a href="../../../../org/apache/ignite/maintenance/MaintenanceTask.html" title="class in org.apache.ignite.maintenance"><code>MaintenanceTask</code></a> locally on the node where method is called.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/ignite/maintenance/MaintenanceRegistry.html#registerWorkflowCallback-java.lang.String-org.apache.ignite.maintenance.MaintenanceWorkflowCallback-">registerWorkflowCallback</a></span>(@NotNull <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;maintenanceTaskName,
@NotNull <a href="../../../../org/apache/ignite/maintenance/MaintenanceWorkflowCallback.html" title="interface in org.apache.ignite.maintenance">MaintenanceWorkflowCallback</a>&nbsp;cb)</code>
<div class="block">Registers <a href="../../../../org/apache/ignite/maintenance/MaintenanceWorkflowCallback.html" title="interface in org.apache.ignite.maintenance"><code>MaintenanceWorkflowCallback</code></a> for a <a href="../../../../org/apache/ignite/maintenance/MaintenanceTask.html" title="class in org.apache.ignite.maintenance"><code>MaintenanceTask</code></a> with a given name.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>default void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/ignite/maintenance/MaintenanceRegistry.html#registerWorkflowCallbackIfTaskExists-java.lang.String-org.apache.ignite.internal.util.lang.IgniteThrowableFunction-">registerWorkflowCallbackIfTaskExists</a></span>(@NotNull <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;maintenanceTaskName,
@NotNull org.apache.ignite.internal.util.lang.IgniteThrowableFunction<span class='angle_bracket'>&lt;</span><a href="../../../../org/apache/ignite/maintenance/MaintenanceTask.html" title="class in org.apache.ignite.maintenance">MaintenanceTask</a>,<a href="../../../../org/apache/ignite/maintenance/MaintenanceWorkflowCallback.html" title="interface in org.apache.ignite.maintenance">MaintenanceWorkflowCallback</a><span class='angle_bracket'>&gt;</span>&nbsp;workflowCalProvider)</code>
<div class="block">Call the <a href="../../../../org/apache/ignite/maintenance/MaintenanceRegistry.html#registerWorkflowCallback-java.lang.String-org.apache.ignite.maintenance.MaintenanceWorkflowCallback-"><code>registerWorkflowCallback(String, MaintenanceWorkflowCallback)</code></a> if the active maintenance task
with given name exists.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/ignite/maintenance/MaintenanceRegistry.html#unregisterMaintenanceTask-java.lang.String-">unregisterMaintenanceTask</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;maintenanceTaskName)</code>
<div class="block">Deletes <a href="../../../../org/apache/ignite/maintenance/MaintenanceTask.html" title="class in org.apache.ignite.maintenance"><code>MaintenanceTask</code></a> of given ID from maintenance registry.</div>
</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="isMaintenanceMode--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isMaintenanceMode</h4>
<pre>boolean&nbsp;isMaintenanceMode()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>True</code> if any maintenance task was found.</dd>
</dl>
</li>
</ul>
<a name="registerMaintenanceTask-org.apache.ignite.maintenance.MaintenanceTask-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>registerMaintenanceTask</h4>
<pre>@Nullable
@Nullable <a href="../../../../org/apache/ignite/maintenance/MaintenanceTask.html" title="class in org.apache.ignite.maintenance">MaintenanceTask</a>&nbsp;registerMaintenanceTask(<a href="../../../../org/apache/ignite/maintenance/MaintenanceTask.html" title="class in org.apache.ignite.maintenance">MaintenanceTask</a>&nbsp;task)
throws <a href="../../../../org/apache/ignite/IgniteCheckedException.html" title="class in org.apache.ignite">IgniteCheckedException</a></pre>
<div class="block">Method to register <a href="../../../../org/apache/ignite/maintenance/MaintenanceTask.html" title="class in org.apache.ignite.maintenance"><code>MaintenanceTask</code></a> locally on the node where method is called.
<p>
For now it is not allowed to register new Maintenance Tasks in Maintenance Mode
so this method should be called only when node operates normally.
This may change in the future so it will become possible to create other maintenance tasks
on node that is already entered Maintenance Mode.
</p>
<p>
When task is registered node continues to operate normally
and will enter Maintenance Mode only after restart.
</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>task</code> - <a href="../../../../org/apache/ignite/maintenance/MaintenanceTask.html" title="class in org.apache.ignite.maintenance"><code>MaintenanceTask</code></a> object with maintenance information that needs
to be stored to maintenance registry.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Previously registered <a href="../../../../org/apache/ignite/maintenance/MaintenanceTask.html" title="class in org.apache.ignite.maintenance"><code>MaintenanceTask</code></a> with the same ID
or null if no tasks were registered for this ID.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/ignite/IgniteCheckedException.html" title="class in org.apache.ignite">IgniteCheckedException</a></code> - If handling or storing maintenance task failed.</dd>
</dl>
</li>
</ul>
<a name="unregisterMaintenanceTask-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unregisterMaintenanceTask</h4>
<pre>boolean&nbsp;unregisterMaintenanceTask(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;maintenanceTaskName)</pre>
<div class="block">Deletes <a href="../../../../org/apache/ignite/maintenance/MaintenanceTask.html" title="class in org.apache.ignite.maintenance"><code>MaintenanceTask</code></a> of given ID from maintenance registry.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>maintenanceTaskName</code> - name of <a href="../../../../org/apache/ignite/maintenance/MaintenanceTask.html" title="class in org.apache.ignite.maintenance"><code>MaintenanceTask</code></a> to be deleted.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>true</code> if existing task has been deleted.</dd>
</dl>
</li>
</ul>
<a name="activeMaintenanceTask-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>activeMaintenanceTask</h4>
<pre>@Nullable
@Nullable <a href="../../../../org/apache/ignite/maintenance/MaintenanceTask.html" title="class in org.apache.ignite.maintenance">MaintenanceTask</a>&nbsp;activeMaintenanceTask(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;maintenanceTaskName)</pre>
<div class="block">Returns active <a href="../../../../org/apache/ignite/maintenance/MaintenanceTask.html" title="class in org.apache.ignite.maintenance"><code>MaintenanceTask</code></a> by its name.
There are active tasks only when node entered Maintenance Mode.
<a href="../../../../org/apache/ignite/maintenance/MaintenanceTask.html" title="class in org.apache.ignite.maintenance"><code>MaintenanceTask</code></a> becomes active when node enters Maintenance Mode and doesn't resolve the task
during maintenance prepare phase.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>maintenanceTaskName</code> - Maintenance Task name.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><a href="../../../../org/apache/ignite/maintenance/MaintenanceTask.html" title="class in org.apache.ignite.maintenance"><code>MaintenanceTask</code></a> object for given name or null if no maintenance task was found.</dd>
</dl>
</li>
</ul>
<a name="registerWorkflowCallback-java.lang.String-org.apache.ignite.maintenance.MaintenanceWorkflowCallback-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>registerWorkflowCallback</h4>
<pre>void&nbsp;registerWorkflowCallback(@NotNull
@NotNull <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;maintenanceTaskName,
@NotNull
@NotNull <a href="../../../../org/apache/ignite/maintenance/MaintenanceWorkflowCallback.html" title="interface in org.apache.ignite.maintenance">MaintenanceWorkflowCallback</a>&nbsp;cb)</pre>
<div class="block">Registers <a href="../../../../org/apache/ignite/maintenance/MaintenanceWorkflowCallback.html" title="interface in org.apache.ignite.maintenance"><code>MaintenanceWorkflowCallback</code></a> for a <a href="../../../../org/apache/ignite/maintenance/MaintenanceTask.html" title="class in org.apache.ignite.maintenance"><code>MaintenanceTask</code></a> with a given name.
Component registered <a href="../../../../org/apache/ignite/maintenance/MaintenanceTask.html" title="class in org.apache.ignite.maintenance"><code>MaintenanceTask</code></a> automatically or by user request
is responsible for providing <a href="../../../../org/apache/ignite/maintenance/MaintenanceRegistry.html" title="interface in org.apache.ignite.maintenance"><code>MaintenanceRegistry</code></a> with an implementation of
<a href="../../../../org/apache/ignite/maintenance/MaintenanceWorkflowCallback.html" title="interface in org.apache.ignite.maintenance"><code>MaintenanceWorkflowCallback</code></a> where registry obtains <a href="../../../../org/apache/ignite/maintenance/MaintenanceAction.html" title="interface in org.apache.ignite.maintenance"><code>MaintenanceAction</code></a>s
to be executed for this task and does a preliminary check before starting maintenance.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>maintenanceTaskName</code> - name of <a href="../../../../org/apache/ignite/maintenance/MaintenanceTask.html" title="class in org.apache.ignite.maintenance"><code>MaintenanceTask</code></a> this callback is registered for.</dd>
<dd><code>cb</code> - <a href="../../../../org/apache/ignite/maintenance/MaintenanceWorkflowCallback.html" title="interface in org.apache.ignite.maintenance"><code>MaintenanceWorkflowCallback</code></a> interface used by MaintenanceRegistry to execute
maintenance steps by workflow.</dd>
</dl>
</li>
</ul>
<a name="actionsForMaintenanceTask-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>actionsForMaintenanceTask</h4>
<pre><a href="https://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'>&lt;</span><a href="../../../../org/apache/ignite/maintenance/MaintenanceAction.html" title="interface in org.apache.ignite.maintenance">MaintenanceAction</a><span class='angle_bracket'>&lt;</span>?<span class='angle_bracket'>&gt;</span><span class='angle_bracket'>&gt;</span>&nbsp;actionsForMaintenanceTask(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;maintenanceTaskName)</pre>
<div class="block">All <a href="../../../../org/apache/ignite/maintenance/MaintenanceAction.html" title="interface in org.apache.ignite.maintenance"><code>MaintenanceAction</code></a>s provided by a component for <a href="../../../../org/apache/ignite/maintenance/MaintenanceTask.html" title="class in org.apache.ignite.maintenance"><code>MaintenanceTask</code></a> with a given name.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>maintenanceTaskName</code> - name of Maintenance Task.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util"><code>List</code></a> of all available <a href="../../../../org/apache/ignite/maintenance/MaintenanceAction.html" title="interface in org.apache.ignite.maintenance"><code>MaintenanceAction</code></a>s for given Maintenance Task.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></code> - if no Maintenance Tasks are registered for provided name.</dd>
</dl>
</li>
</ul>
<a name="prepareAndExecuteMaintenance--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>prepareAndExecuteMaintenance</h4>
<pre>void&nbsp;prepareAndExecuteMaintenance()</pre>
<div class="block">Examine all components if they need to execute maintenance actions.
As user may resolve some maintenance situations by hand when the node was turned off,
component may find out that no maintenance is needed anymore.
<a href="../../../../org/apache/ignite/maintenance/MaintenanceTask.html" title="class in org.apache.ignite.maintenance"><code>Maintenance tasks</code></a> for these components are removed
and their <a href="../../../../org/apache/ignite/maintenance/MaintenanceAction.html" title="interface in org.apache.ignite.maintenance"><code>maintenance actions</code></a> are not executed.</div>
</li>
</ul>
<a name="registerWorkflowCallbackIfTaskExists-java.lang.String-org.apache.ignite.internal.util.lang.IgniteThrowableFunction-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>registerWorkflowCallbackIfTaskExists</h4>
<pre>default&nbsp;void&nbsp;registerWorkflowCallbackIfTaskExists(@NotNull
@NotNull <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;maintenanceTaskName,
@NotNull
@NotNull org.apache.ignite.internal.util.lang.IgniteThrowableFunction<span class='angle_bracket'>&lt;</span><a href="../../../../org/apache/ignite/maintenance/MaintenanceTask.html" title="class in org.apache.ignite.maintenance">MaintenanceTask</a>,<a href="../../../../org/apache/ignite/maintenance/MaintenanceWorkflowCallback.html" title="interface in org.apache.ignite.maintenance">MaintenanceWorkflowCallback</a><span class='angle_bracket'>&gt;</span>&nbsp;workflowCalProvider)
throws <a href="../../../../org/apache/ignite/IgniteCheckedException.html" title="class in org.apache.ignite">IgniteCheckedException</a></pre>
<div class="block">Call the <a href="../../../../org/apache/ignite/maintenance/MaintenanceRegistry.html#registerWorkflowCallback-java.lang.String-org.apache.ignite.maintenance.MaintenanceWorkflowCallback-"><code>registerWorkflowCallback(String, MaintenanceWorkflowCallback)</code></a> if the active maintenance task
with given name exists.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>maintenanceTaskName</code> - name of <a href="../../../../org/apache/ignite/maintenance/MaintenanceTask.html" title="class in org.apache.ignite.maintenance"><code>MaintenanceTask</code></a> this callback is registered for.</dd>
<dd><code>workflowCalProvider</code> - provider of <a href="../../../../org/apache/ignite/maintenance/MaintenanceWorkflowCallback.html" title="interface in org.apache.ignite.maintenance"><code>MaintenanceWorkflowCallback</code></a> which construct the callback by given
task.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/ignite/IgniteCheckedException.html" title="class in org.apache.ignite">IgniteCheckedException</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/MaintenanceRegistry.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><a href="../../../../org/apache/ignite/maintenance/MaintenanceAction.html" title="interface in org.apache.ignite.maintenance"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/ignite/maintenance/MaintenanceTask.html" title="class in org.apache.ignite.maintenance"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/ignite/maintenance/MaintenanceRegistry.html" target="_top">Frames</a></li>
<li><a href="MaintenanceRegistry.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;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:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</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>2021 Copyright &#169; 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>:&nbsp;&nbsp; ver. <strong>2.11.0</strong> </td> </tr> <tr style="padding: 0; margin: 0"> <td> <b>Release Date</b> </td> <td>:&nbsp;&nbsp; September 11 2021 </td> </tr> </tbody> </table> </td> </tr> </table></small></p>
</body>
</html>