| <!DOCTYPE HTML> |
| <!-- NewPage --> |
| <html lang="en"> |
| <head> |
| <!-- Generated by javadoc (11.0.18) on Wed Mar 01 02:01:42 GMT 2023 --> |
| <title>SchedulerUtils (Heron Java API)</title> |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| <meta name="dc.created" content="2023-03-01"> |
| <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style"> |
| <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.min.css" title="Style"> |
| <link rel="stylesheet" type="text/css" href="../../../../../jquery-ui.overrides.css" title="Style"> |
| <script type="text/javascript" src="../../../../../script.js"></script> |
| <script type="text/javascript" src="../../../../../jquery/jszip/dist/jszip.min.js"></script> |
| <script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script> |
| <!--[if IE]> |
| <script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script> |
| <![endif]--> |
| <script type="text/javascript" src="../../../../../jquery/jquery-3.6.0.min.js"></script> |
| <script type="text/javascript" src="../../../../../jquery/jquery-ui.min.js"></script> |
| </head> |
| <body> |
| <script type="text/javascript"><!-- |
| try { |
| if (location.href.indexOf('is-external=true') == -1) { |
| parent.document.title="SchedulerUtils (Heron Java API)"; |
| } |
| } |
| catch(err) { |
| } |
| //--> |
| var data = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9}; |
| var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]}; |
| var altColor = "altColor"; |
| var rowColor = "rowColor"; |
| var tableTab = "tableTab"; |
| var activeTableTab = "activeTableTab"; |
| var pathtoroot = "../../../../../"; |
| var useModuleDirectories = true; |
| loadScripts(document, 'script');</script> |
| <noscript> |
| <div>JavaScript is disabled on your browser.</div> |
| </noscript> |
| <header role="banner"> |
| <nav role="navigation"> |
| <div class="fixedNav"> |
| <!-- ========= START OF TOP NAVBAR ======= --> |
| <div class="topNav"><a id="navbar.top"> |
| <!-- --> |
| </a> |
| <div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div> |
| <a id="navbar.top.firstrow"> |
| <!-- --> |
| </a> |
| <ul class="navList" title="Navigation"> |
| <li><a href="../../../../../index.html">Overview</a></li> |
| <li><a href="package-summary.html">Package</a></li> |
| <li class="navBarCell1Rev">Class</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" id="allclasses_navbar_top"> |
| <li><a href="../../../../../allclasses.html">All Classes</a></li> |
| </ul> |
| <ul class="navListSearch"> |
| <li><label for="search">SEARCH:</label> |
| <input type="text" id="search" value="search" disabled="disabled"> |
| <input type="reset" id="reset" value="reset" disabled="disabled"> |
| </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> |
| <noscript> |
| <div>JavaScript is disabled on your browser.</div> |
| </noscript> |
| </div> |
| <div> |
| <ul class="subNavList"> |
| <li>Summary: </li> |
| <li><a href="#nested.class.summary">Nested</a> | </li> |
| <li><a href="#field.summary">Field</a> | </li> |
| <li>Constr | </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>Constr | </li> |
| <li><a href="#method.detail">Method</a></li> |
| </ul> |
| </div> |
| <a id="skip.navbar.top"> |
| <!-- --> |
| </a></div> |
| <!-- ========= END OF TOP NAVBAR ========= --> |
| </div> |
| <div class="navPadding"> </div> |
| <script type="text/javascript"><!-- |
| $('.navPadding').css('padding-top', $('.fixedNav').css("height")); |
| //--> |
| </script> |
| </nav> |
| </header> |
| <!-- ======== START OF CLASS DATA ======== --> |
| <main role="main"> |
| <div class="header"> |
| <div class="subTitle"><span class="packageLabelInType">Package</span> <a href="package-summary.html">org.apache.heron.scheduler.utils</a></div> |
| <h2 title="Class SchedulerUtils" class="title">Class SchedulerUtils</h2> |
| </div> |
| <div class="contentContainer"> |
| <ul class="inheritance"> |
| <li>java.lang.Object</li> |
| <li> |
| <ul class="inheritance"> |
| <li>org.apache.heron.scheduler.utils.SchedulerUtils</li> |
| </ul> |
| </li> |
| </ul> |
| <div class="description"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <hr> |
| <pre>public final class <span class="typeNameLabel">SchedulerUtils</span> |
| extends java.lang.Object</pre> |
| </li> |
| </ul> |
| </div> |
| <div class="summary"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <!-- ======== NESTED CLASS SUMMARY ======== --> |
| <section> |
| <ul class="blockList"> |
| <li class="blockList"><a id="nested.class.summary"> |
| <!-- --> |
| </a> |
| <h3>Nested Class Summary</h3> |
| <table class="memberSummary"> |
| <caption><span>Nested Classes</span><span class="tabEnd"> </span></caption> |
| <tr> |
| <th class="colFirst" scope="col">Modifier and Type</th> |
| <th class="colSecond" scope="col">Class</th> |
| <th class="colLast" scope="col">Description</th> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static class </code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="SchedulerUtils.ExecutorPort.html" title="enum in org.apache.heron.scheduler.utils">SchedulerUtils.ExecutorPort</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">Enum that defines the type of ports that an heron executor needs</div> |
| </td> |
| </tr> |
| </table> |
| </li> |
| </ul> |
| </section> |
| <!-- =========== FIELD SUMMARY =========== --> |
| <section> |
| <ul class="blockList"> |
| <li class="blockList"><a id="field.summary"> |
| <!-- --> |
| </a> |
| <h3>Field Summary</h3> |
| <table class="memberSummary"> |
| <caption><span>Fields</span><span class="tabEnd"> </span></caption> |
| <tr> |
| <th class="colFirst" scope="col">Modifier and Type</th> |
| <th class="colSecond" scope="col">Field</th> |
| <th class="colLast" scope="col">Description</th> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static int</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#PORTS_REQUIRED_FOR_SCHEDULER">PORTS_REQUIRED_FOR_SCHEDULER</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>static java.lang.String</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#SCHEDULER_COMMAND_LINE_PROPERTIES_OVERRIDE_OPTION">SCHEDULER_COMMAND_LINE_PROPERTIES_OVERRIDE_OPTION</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| </table> |
| </li> |
| </ul> |
| </section> |
| <!-- ========== METHOD SUMMARY =========== --> |
| <section> |
| <ul class="blockList"> |
| <li class="blockList"><a id="method.summary"> |
| <!-- --> |
| </a> |
| <h3>Method Summary</h3> |
| <table class="memberSummary"> |
| <caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static 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="colSecond" scope="col">Method</th> |
| <th class="colLast" scope="col">Description</th> |
| </tr> |
| <tr id="i0" class="altColor"> |
| <td class="colFirst"><code>static void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addExecutorContainerArgs(java.util.List,java.util.Map,java.lang.String)">addExecutorContainerArgs</a></span>​(java.util.List<java.lang.String> args, |
| java.util.Map<<a href="SchedulerUtils.ExecutorPort.html" title="enum in org.apache.heron.scheduler.utils">SchedulerUtils.ExecutorPort</a>,​java.lang.String> ports, |
| java.lang.String containerIndex)</code></th> |
| <td class="colLast"> |
| <div class="block">Util method to parse port map and container id and translate them into arguments to be used |
| by executor</div> |
| </td> |
| </tr> |
| <tr id="i1" class="rowColor"> |
| <td class="colFirst"><code>static void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addExecutorTopologyArgs(java.util.List,org.apache.heron.spi.common.Config,org.apache.heron.spi.common.Config)">addExecutorTopologyArgs</a></span>​(java.util.List<java.lang.String> args, |
| <a href="../../spi/common/Config.html" title="class in org.apache.heron.spi.common">Config</a> config, |
| <a href="../../spi/common/Config.html" title="class in org.apache.heron.spi.common">Config</a> runtime)</code></th> |
| <td class="colLast"> |
| <div class="block">Util method to parse configs and translate them into topology configs to be used by executor</div> |
| </td> |
| </tr> |
| <tr id="i2" class="altColor"> |
| <td class="colFirst"><code>static <a href="../../proto/scheduler/Scheduler.SchedulerResponse.html" title="class in org.apache.heron.proto.scheduler">Scheduler.SchedulerResponse</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#constructSchedulerResponse(boolean)">constructSchedulerResponse</a></span>​(boolean isOK)</code></th> |
| <td class="colLast"> |
| <div class="block">construct heron scheduler response basing on the given result</div> |
| </td> |
| </tr> |
| <tr id="i3" class="rowColor"> |
| <td class="colFirst"><code>static java.lang.String</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createCommandArg(org.apache.heron.scheduler.ExecutorFlag,java.lang.String)">createCommandArg</a></span>​(<a href="../ExecutorFlag.html" title="enum in org.apache.heron.scheduler">ExecutorFlag</a> flag, |
| java.lang.String value)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i4" class="altColor"> |
| <td class="colFirst"><code>static boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createOrCleanDirectory(java.lang.String)">createOrCleanDirectory</a></span>​(java.lang.String directory)</code></th> |
| <td class="colLast"> |
| <div class="block">Create the directory if it does not exist otherwise clean the directory.</div> |
| </td> |
| </tr> |
| <tr id="i5" class="rowColor"> |
| <td class="colFirst"><code>static boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#curlAndExtractPackage(java.lang.String,java.lang.String,java.lang.String,boolean,boolean)">curlAndExtractPackage</a></span>​(java.lang.String workingDirectory, |
| java.lang.String packageURI, |
| java.lang.String packageDestination, |
| boolean isDeletePackage, |
| boolean isVerbose)</code></th> |
| <td class="colLast"> |
| <div class="block">Curl a package, extract it to working directory</div> |
| </td> |
| </tr> |
| <tr id="i6" class="altColor"> |
| <td class="colFirst"><code>static java.lang.String</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#decodeJavaOpts(java.lang.String)">decodeJavaOpts</a></span>​(java.lang.String encodedJavaOpts)</code></th> |
| <td class="colLast"> |
| <div class="block">Decode the JVM options |
| <br> 1.</div> |
| </td> |
| </tr> |
| <tr id="i7" class="rowColor"> |
| <td class="colFirst"><code>static java.lang.String</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#encodeJavaOpts(java.lang.String)">encodeJavaOpts</a></span>​(java.lang.String javaOpts)</code></th> |
| <td class="colLast"> |
| <div class="block">Encode the JVM options |
| <br> 1.</div> |
| </td> |
| </tr> |
| <tr id="i8" class="altColor"> |
| <td class="colFirst"><code>static java.lang.String[]</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#executorCommandArgs(org.apache.heron.spi.common.Config,org.apache.heron.spi.common.Config,java.util.Map,java.lang.String)">executorCommandArgs</a></span>​(<a href="../../spi/common/Config.html" title="class in org.apache.heron.spi.common">Config</a> config, |
| <a href="../../spi/common/Config.html" title="class in org.apache.heron.spi.common">Config</a> runtime, |
| java.util.Map<<a href="SchedulerUtils.ExecutorPort.html" title="enum in org.apache.heron.scheduler.utils">SchedulerUtils.ExecutorPort</a>,​java.lang.String> ports, |
| java.lang.String containerIndex)</code></th> |
| <td class="colLast"> |
| <div class="block">Util method to get the arguments to the heron executor.</div> |
| </td> |
| </tr> |
| <tr id="i9" class="rowColor"> |
| <td class="colFirst"><code>static boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#extractPackage(java.lang.String,java.lang.String,java.lang.String,boolean,boolean)">extractPackage</a></span>​(java.lang.String workingDirectory, |
| java.lang.String packageURI, |
| java.lang.String packageDestination, |
| boolean deletePackage, |
| boolean verbose)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i10" class="altColor"> |
| <td class="colFirst"><code>static java.lang.String[]</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getExecutorCommand(org.apache.heron.spi.common.Config,org.apache.heron.spi.common.Config,int,java.util.Map)">getExecutorCommand</a></span>​(<a href="../../spi/common/Config.html" title="class in org.apache.heron.spi.common">Config</a> config, |
| <a href="../../spi/common/Config.html" title="class in org.apache.heron.spi.common">Config</a> runtime, |
| int shardId, |
| java.util.Map<<a href="SchedulerUtils.ExecutorPort.html" title="enum in org.apache.heron.scheduler.utils">SchedulerUtils.ExecutorPort</a>,​java.lang.String> ports)</code></th> |
| <td class="colLast"> |
| <div class="block">Utils method to construct the command to start heron-executor</div> |
| </td> |
| </tr> |
| <tr id="i11" class="rowColor"> |
| <td class="colFirst"><code>static java.lang.String[]</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getExecutorCommand(org.apache.heron.spi.common.Config,org.apache.heron.spi.common.Config,java.lang.String,java.util.Map)">getExecutorCommand</a></span>​(<a href="../../spi/common/Config.html" title="class in org.apache.heron.spi.common">Config</a> config, |
| <a href="../../spi/common/Config.html" title="class in org.apache.heron.spi.common">Config</a> runtime, |
| java.lang.String shardId, |
| java.util.Map<<a href="SchedulerUtils.ExecutorPort.html" title="enum in org.apache.heron.scheduler.utils">SchedulerUtils.ExecutorPort</a>,​java.lang.String> ports)</code></th> |
| <td class="colLast"> |
| <div class="block">Utils method to construct the command to start heron-executor</div> |
| </td> |
| </tr> |
| <tr id="i12" class="altColor"> |
| <td class="colFirst"><code>static void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#persistUpdatedPackingPlan(java.lang.String,org.apache.heron.spi.packing.PackingPlan,org.apache.heron.spi.statemgr.SchedulerStateManagerAdaptor)">persistUpdatedPackingPlan</a></span>​(java.lang.String topologyName, |
| <a href="../../spi/packing/PackingPlan.html" title="class in org.apache.heron.spi.packing">PackingPlan</a> updatedPackingPlan, |
| <a href="../../spi/statemgr/SchedulerStateManagerAdaptor.html" title="class in org.apache.heron.spi.statemgr">SchedulerStateManagerAdaptor</a> stateManager)</code></th> |
| <td class="colLast"> |
| <div class="block">Replaces persisted packing plan in state manager.</div> |
| </td> |
| </tr> |
| <tr id="i13" class="rowColor"> |
| <td class="colFirst"><code>static java.lang.String[]</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#schedulerCommand(org.apache.heron.spi.common.Config,org.apache.heron.spi.common.Config,java.util.List)">schedulerCommand</a></span>​(<a href="../../spi/common/Config.html" title="class in org.apache.heron.spi.common">Config</a> config, |
| <a href="../../spi/common/Config.html" title="class in org.apache.heron.spi.common">Config</a> runtime, |
| java.util.List<java.lang.Integer> freePorts)</code></th> |
| <td class="colLast"> |
| <div class="block">Utils method to construct the command to start heron-scheduler</div> |
| </td> |
| </tr> |
| <tr id="i14" class="altColor"> |
| <td class="colFirst"><code>static java.lang.String[]</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#schedulerCommandArgs(org.apache.heron.spi.common.Config,org.apache.heron.spi.common.Config,java.util.List)">schedulerCommandArgs</a></span>​(<a href="../../spi/common/Config.html" title="class in org.apache.heron.spi.common">Config</a> config, |
| <a href="../../spi/common/Config.html" title="class in org.apache.heron.spi.common">Config</a> runtime, |
| java.util.List<java.lang.Integer> freePorts)</code></th> |
| <td class="colLast"> |
| <div class="block">Util method to get the arguments to the heron scheduler.</div> |
| </td> |
| </tr> |
| <tr id="i15" class="rowColor"> |
| <td class="colFirst"><code>static boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setLibSchedulerLocation(org.apache.heron.spi.common.Config,org.apache.heron.spi.scheduler.IScheduler,boolean)">setLibSchedulerLocation</a></span>​(<a href="../../spi/common/Config.html" title="class in org.apache.heron.spi.common">Config</a> runtime, |
| <a href="../../spi/scheduler/IScheduler.html" title="interface in org.apache.heron.spi.scheduler">IScheduler</a> scheduler, |
| boolean isService)</code></th> |
| <td class="colLast"> |
| <div class="block">Set the location of scheduler for other processes to discover, |
| when invoke IScheduler as a library on client side</div> |
| </td> |
| </tr> |
| <tr id="i16" class="altColor"> |
| <td class="colFirst"><code>static boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setSchedulerLocation(org.apache.heron.spi.common.Config,java.lang.String,org.apache.heron.spi.scheduler.IScheduler)">setSchedulerLocation</a></span>​(<a href="../../spi/common/Config.html" title="class in org.apache.heron.spi.common">Config</a> runtime, |
| java.lang.String schedulerEndpoint, |
| <a href="../../spi/scheduler/IScheduler.html" title="interface in org.apache.heron.spi.scheduler">IScheduler</a> scheduler)</code></th> |
| <td class="colLast"> |
| <div class="block">Set the location of scheduler for other processes to discover</div> |
| </td> |
| </tr> |
| <tr id="i17" class="rowColor"> |
| <td class="colFirst"><code>static java.lang.String[]</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#splitCommandArg(java.lang.String)">splitCommandArg</a></span>​(java.lang.String command)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| </table> |
| <ul class="blockList"> |
| <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object"> |
| <!-- --> |
| </a> |
| <h3>Methods inherited from class java.lang.Object</h3> |
| <code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li> |
| </ul> |
| </li> |
| </ul> |
| </section> |
| </li> |
| </ul> |
| </div> |
| <div class="details"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <!-- ============ FIELD DETAIL =========== --> |
| <section> |
| <ul class="blockList"> |
| <li class="blockList"><a id="field.detail"> |
| <!-- --> |
| </a> |
| <h3>Field Detail</h3> |
| <a id="PORTS_REQUIRED_FOR_SCHEDULER"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>PORTS_REQUIRED_FOR_SCHEDULER</h4> |
| <pre>public static final int PORTS_REQUIRED_FOR_SCHEDULER</pre> |
| <dl> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../../../../../constant-values.html#org.apache.heron.scheduler.utils.SchedulerUtils.PORTS_REQUIRED_FOR_SCHEDULER">Constant Field Values</a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="SCHEDULER_COMMAND_LINE_PROPERTIES_OVERRIDE_OPTION"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>SCHEDULER_COMMAND_LINE_PROPERTIES_OVERRIDE_OPTION</h4> |
| <pre>public static final java.lang.String SCHEDULER_COMMAND_LINE_PROPERTIES_OVERRIDE_OPTION</pre> |
| <dl> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../../../../../constant-values.html#org.apache.heron.scheduler.utils.SchedulerUtils.SCHEDULER_COMMAND_LINE_PROPERTIES_OVERRIDE_OPTION">Constant Field Values</a></dd> |
| </dl> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </section> |
| <!-- ============ METHOD DETAIL ========== --> |
| <section> |
| <ul class="blockList"> |
| <li class="blockList"><a id="method.detail"> |
| <!-- --> |
| </a> |
| <h3>Method Detail</h3> |
| <a id="schedulerCommand(org.apache.heron.spi.common.Config,org.apache.heron.spi.common.Config,java.util.List)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>schedulerCommand</h4> |
| <pre class="methodSignature">public static java.lang.String[] schedulerCommand​(<a href="../../spi/common/Config.html" title="class in org.apache.heron.spi.common">Config</a> config, |
| <a href="../../spi/common/Config.html" title="class in org.apache.heron.spi.common">Config</a> runtime, |
| java.util.List<java.lang.Integer> freePorts)</pre> |
| <div class="block">Utils method to construct the command to start heron-scheduler</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>config</code> - The static Config</dd> |
| <dd><code>runtime</code> - The runtime Config</dd> |
| <dd><code>freePorts</code> - list of free ports</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>String[] representing the command to start heron-scheduler</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="schedulerCommandArgs(org.apache.heron.spi.common.Config,org.apache.heron.spi.common.Config,java.util.List)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>schedulerCommandArgs</h4> |
| <pre class="methodSignature">public static java.lang.String[] schedulerCommandArgs​(<a href="../../spi/common/Config.html" title="class in org.apache.heron.spi.common">Config</a> config, |
| <a href="../../spi/common/Config.html" title="class in org.apache.heron.spi.common">Config</a> runtime, |
| java.util.List<java.lang.Integer> freePorts)</pre> |
| <div class="block">Util method to get the arguments to the heron scheduler.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>config</code> - The static Config</dd> |
| <dd><code>runtime</code> - The runtime Config</dd> |
| <dd><code>freePorts</code> - list of free ports</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>String[] representing the arguments to start heron-scheduler</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="getExecutorCommand(org.apache.heron.spi.common.Config,org.apache.heron.spi.common.Config,int,java.util.Map)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getExecutorCommand</h4> |
| <pre class="methodSignature">public static java.lang.String[] getExecutorCommand​(<a href="../../spi/common/Config.html" title="class in org.apache.heron.spi.common">Config</a> config, |
| <a href="../../spi/common/Config.html" title="class in org.apache.heron.spi.common">Config</a> runtime, |
| int shardId, |
| java.util.Map<<a href="SchedulerUtils.ExecutorPort.html" title="enum in org.apache.heron.scheduler.utils">SchedulerUtils.ExecutorPort</a>,​java.lang.String> ports)</pre> |
| <div class="block">Utils method to construct the command to start heron-executor</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>config</code> - The static config</dd> |
| <dd><code>runtime</code> - The runtime config</dd> |
| <dd><code>shardId</code> - the executor/container index</dd> |
| <dd><code>ports</code> - a map of ports to use where the key indicate the port type and the |
| value is the port</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>String[] representing the command to start heron-executor</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="getExecutorCommand(org.apache.heron.spi.common.Config,org.apache.heron.spi.common.Config,java.lang.String,java.util.Map)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getExecutorCommand</h4> |
| <pre class="methodSignature">public static java.lang.String[] getExecutorCommand​(<a href="../../spi/common/Config.html" title="class in org.apache.heron.spi.common">Config</a> config, |
| <a href="../../spi/common/Config.html" title="class in org.apache.heron.spi.common">Config</a> runtime, |
| java.lang.String shardId, |
| java.util.Map<<a href="SchedulerUtils.ExecutorPort.html" title="enum in org.apache.heron.scheduler.utils">SchedulerUtils.ExecutorPort</a>,​java.lang.String> ports)</pre> |
| <div class="block">Utils method to construct the command to start heron-executor</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>config</code> - The static config</dd> |
| <dd><code>runtime</code> - The runtime config</dd> |
| <dd><code>shardId</code> - the executor/container index</dd> |
| <dd><code>ports</code> - a map of ports to use where the key indicate the port type and the |
| value is the port</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>String[] representing the command to start heron-executor</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="executorCommandArgs(org.apache.heron.spi.common.Config,org.apache.heron.spi.common.Config,java.util.Map,java.lang.String)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>executorCommandArgs</h4> |
| <pre class="methodSignature">public static java.lang.String[] executorCommandArgs​(<a href="../../spi/common/Config.html" title="class in org.apache.heron.spi.common">Config</a> config, |
| <a href="../../spi/common/Config.html" title="class in org.apache.heron.spi.common">Config</a> runtime, |
| java.util.Map<<a href="SchedulerUtils.ExecutorPort.html" title="enum in org.apache.heron.scheduler.utils">SchedulerUtils.ExecutorPort</a>,​java.lang.String> ports, |
| java.lang.String containerIndex)</pre> |
| <div class="block">Util method to get the arguments to the heron executor. This method creates the arguments |
| without the container index, which is the first argument to the executor</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>config</code> - The static Config</dd> |
| <dd><code>runtime</code> - The runtime Config</dd> |
| <dd><code>ports</code> - a map of ports to use where the key indicate the port type and the |
| value is the port</dd> |
| <dd><code>containerIndex</code> - The index of the current container</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>String[] representing the arguments to start heron-executor</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="addExecutorTopologyArgs(java.util.List,org.apache.heron.spi.common.Config,org.apache.heron.spi.common.Config)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>addExecutorTopologyArgs</h4> |
| <pre class="methodSignature">public static void addExecutorTopologyArgs​(java.util.List<java.lang.String> args, |
| <a href="../../spi/common/Config.html" title="class in org.apache.heron.spi.common">Config</a> config, |
| <a href="../../spi/common/Config.html" title="class in org.apache.heron.spi.common">Config</a> runtime)</pre> |
| <div class="block">Util method to parse configs and translate them into topology configs to be used by executor</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>args</code> - The list to accept new topology arguments</dd> |
| <dd><code>config</code> - The static Config</dd> |
| <dd><code>runtime</code> - The runtime Config</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="addExecutorContainerArgs(java.util.List,java.util.Map,java.lang.String)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>addExecutorContainerArgs</h4> |
| <pre class="methodSignature">public static void addExecutorContainerArgs​(java.util.List<java.lang.String> args, |
| java.util.Map<<a href="SchedulerUtils.ExecutorPort.html" title="enum in org.apache.heron.scheduler.utils">SchedulerUtils.ExecutorPort</a>,​java.lang.String> ports, |
| java.lang.String containerIndex)</pre> |
| <div class="block">Util method to parse port map and container id and translate them into arguments to be used |
| by executor</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>args</code> - The list to accept new topology arguments</dd> |
| <dd><code>ports</code> - a map of ports to use where the key indicate the port type and the |
| value is the port</dd> |
| <dd><code>containerIndex</code> - The index of the current container</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="createCommandArg(org.apache.heron.scheduler.ExecutorFlag,java.lang.String)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>createCommandArg</h4> |
| <pre class="methodSignature">public static java.lang.String createCommandArg​(<a href="../ExecutorFlag.html" title="enum in org.apache.heron.scheduler">ExecutorFlag</a> flag, |
| java.lang.String value)</pre> |
| </li> |
| </ul> |
| <a id="splitCommandArg(java.lang.String)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>splitCommandArg</h4> |
| <pre class="methodSignature">public static java.lang.String[] splitCommandArg​(java.lang.String command)</pre> |
| </li> |
| </ul> |
| <a id="setLibSchedulerLocation(org.apache.heron.spi.common.Config,org.apache.heron.spi.scheduler.IScheduler,boolean)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>setLibSchedulerLocation</h4> |
| <pre class="methodSignature">public static boolean setLibSchedulerLocation​(<a href="../../spi/common/Config.html" title="class in org.apache.heron.spi.common">Config</a> runtime, |
| <a href="../../spi/scheduler/IScheduler.html" title="interface in org.apache.heron.spi.scheduler">IScheduler</a> scheduler, |
| boolean isService)</pre> |
| <div class="block">Set the location of scheduler for other processes to discover, |
| when invoke IScheduler as a library on client side</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>runtime</code> - the runtime configuration</dd> |
| <dd><code>scheduler</code> - the IScheduler to provide more info</dd> |
| <dd><code>isService</code> - true if the scheduler is a service; false otherwise</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="setSchedulerLocation(org.apache.heron.spi.common.Config,java.lang.String,org.apache.heron.spi.scheduler.IScheduler)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>setSchedulerLocation</h4> |
| <pre class="methodSignature">public static boolean setSchedulerLocation​(<a href="../../spi/common/Config.html" title="class in org.apache.heron.spi.common">Config</a> runtime, |
| java.lang.String schedulerEndpoint, |
| <a href="../../spi/scheduler/IScheduler.html" title="interface in org.apache.heron.spi.scheduler">IScheduler</a> scheduler)</pre> |
| <div class="block">Set the location of scheduler for other processes to discover</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>runtime</code> - the runtime configuration</dd> |
| <dd><code>schedulerEndpoint</code> - the endpoint that scheduler listens for receives requests</dd> |
| <dd><code>scheduler</code> - the IScheduler to provide more info</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="constructSchedulerResponse(boolean)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>constructSchedulerResponse</h4> |
| <pre class="methodSignature">public static <a href="../../proto/scheduler/Scheduler.SchedulerResponse.html" title="class in org.apache.heron.proto.scheduler">Scheduler.SchedulerResponse</a> constructSchedulerResponse​(boolean isOK)</pre> |
| <div class="block">construct heron scheduler response basing on the given result</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>isOK</code> - whether the request successful</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="encodeJavaOpts(java.lang.String)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>encodeJavaOpts</h4> |
| <pre class="methodSignature">public static java.lang.String encodeJavaOpts​(java.lang.String javaOpts)</pre> |
| <div class="block">Encode the JVM options |
| <br> 1. Convert it into Base64 format |
| <br> 2. Add \" at the start and at the end |
| <br> 3. replace "=" with "(61)" and "&equals;" |
| '=' can be parsed in a wrong way by some schedulers (aurora) hence it needs to be escaped.</div> |
| <dl> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>encoded string</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="decodeJavaOpts(java.lang.String)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>decodeJavaOpts</h4> |
| <pre class="methodSignature">public static java.lang.String decodeJavaOpts​(java.lang.String encodedJavaOpts)</pre> |
| <div class="block">Decode the JVM options |
| <br> 1. strip \" at the start and at the end |
| <br> 2. replace "(61)" and "&equals;" with "=" |
| <br> 3. Revert from Base64 format |
| Note that '=' is escaped in two different ways. '(61)' is the new escaping. |
| '&equals;' was the original replacement but it is not friendly to bash and |
| was causing issues. The original escaping is still left there for reference |
| and backward compatibility purposes (to be removed after no topology needs |
| it)</div> |
| <dl> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>decoded string</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="createOrCleanDirectory(java.lang.String)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>createOrCleanDirectory</h4> |
| <pre class="methodSignature">public static boolean createOrCleanDirectory​(java.lang.String directory)</pre> |
| <div class="block">Create the directory if it does not exist otherwise clean the directory.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>directory</code> - the working directory to setup</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>true if successful</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="extractPackage(java.lang.String,java.lang.String,java.lang.String,boolean,boolean)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>extractPackage</h4> |
| <pre class="methodSignature">public static boolean extractPackage​(java.lang.String workingDirectory, |
| java.lang.String packageURI, |
| java.lang.String packageDestination, |
| boolean deletePackage, |
| boolean verbose)</pre> |
| </li> |
| </ul> |
| <a id="curlAndExtractPackage(java.lang.String,java.lang.String,java.lang.String,boolean,boolean)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>curlAndExtractPackage</h4> |
| <pre class="methodSignature">public static boolean curlAndExtractPackage​(java.lang.String workingDirectory, |
| java.lang.String packageURI, |
| java.lang.String packageDestination, |
| boolean isDeletePackage, |
| boolean isVerbose)</pre> |
| <div class="block">Curl a package, extract it to working directory</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>workingDirectory</code> - the working directory to setup</dd> |
| <dd><code>packageURI</code> - the URL of core release package</dd> |
| <dd><code>packageDestination</code> - the destination of the core release package fetched</dd> |
| <dd><code>isDeletePackage</code> - delete the package curled or not</dd> |
| <dd><code>isVerbose</code> - display verbose output or not</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>true if successful</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="persistUpdatedPackingPlan(java.lang.String,org.apache.heron.spi.packing.PackingPlan,org.apache.heron.spi.statemgr.SchedulerStateManagerAdaptor)"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>persistUpdatedPackingPlan</h4> |
| <pre class="methodSignature">public static void persistUpdatedPackingPlan​(java.lang.String topologyName, |
| <a href="../../spi/packing/PackingPlan.html" title="class in org.apache.heron.spi.packing">PackingPlan</a> updatedPackingPlan, |
| <a href="../../spi/statemgr/SchedulerStateManagerAdaptor.html" title="class in org.apache.heron.spi.statemgr">SchedulerStateManagerAdaptor</a> stateManager)</pre> |
| <div class="block">Replaces persisted packing plan in state manager.</div> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </section> |
| </li> |
| </ul> |
| </div> |
| </div> |
| </main> |
| <!-- ========= END OF CLASS DATA ========= --> |
| <footer role="contentinfo"> |
| <nav role="navigation"> |
| <!-- ======= START OF BOTTOM NAVBAR ====== --> |
| <div class="bottomNav"><a id="navbar.bottom"> |
| <!-- --> |
| </a> |
| <div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div> |
| <a id="navbar.bottom.firstrow"> |
| <!-- --> |
| </a> |
| <ul class="navList" title="Navigation"> |
| <li><a href="../../../../../index.html">Overview</a></li> |
| <li><a href="package-summary.html">Package</a></li> |
| <li class="navBarCell1Rev">Class</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" id="allclasses_navbar_bottom"> |
| <li><a href="../../../../../allclasses.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> |
| <noscript> |
| <div>JavaScript is disabled on your browser.</div> |
| </noscript> |
| </div> |
| <div> |
| <ul class="subNavList"> |
| <li>Summary: </li> |
| <li><a href="#nested.class.summary">Nested</a> | </li> |
| <li><a href="#field.summary">Field</a> | </li> |
| <li>Constr | </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>Constr | </li> |
| <li><a href="#method.detail">Method</a></li> |
| </ul> |
| </div> |
| <a id="skip.navbar.bottom"> |
| <!-- --> |
| </a></div> |
| <!-- ======== END OF BOTTOM NAVBAR ======= --> |
| </nav> |
| </footer> |
| </body> |
| </html> |