svn commit: r1697426 - in /uima/ruta/trunk/ruta-core/src: main/java/org/apache/uima/ruta/engine/RutaEngine.java test/java/org/apache/uima/ruta/engine/StackedScriptsTest.java
Author: pkluegl Date: Mon Aug 24 15:01:28 2015 New Revision: 1697426 URL: http://svn.apache.org/r1697426 Log: UIMA-4568 - added some debug logging for now (will be removed again) Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/RutaEngine.java uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/engine/StackedScriptsTest.java Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/RutaEngine.java URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/RutaEngine.java?rev=1697426r1=1697425r2=1697426view=diff == --- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/RutaEngine.java (original) +++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/RutaEngine.java Mon Aug 24 15:01:28 2015 @@ -70,6 +70,7 @@ import org.apache.uima.ruta.extensions.R import org.apache.uima.ruta.parser.RutaLexer; import org.apache.uima.ruta.parser.RutaParser; import org.apache.uima.ruta.seed.RutaAnnotationSeeder; +import org.apache.uima.ruta.type.RutaBasic; import org.apache.uima.ruta.verbalize.RutaVerbalizer; import org.apache.uima.ruta.visitor.CreatedByVisitor; import org.apache.uima.ruta.visitor.DebugInfoCollectorVisitor; @@ -91,16 +92,15 @@ public class RutaEngine extends JCasAnno public static final String FRAME_TYPE = org.apache.uima.ruta.type.RutaFrame; - /** - * A String parameter representing the rule that should be applied by the analysis engine. - * If set, it replaces the content of file specified by the {@code mainScript} parameter. + * A String parameter representing the rule that should be applied by the analysis engine. If set, + * it replaces the content of file specified by the {@code mainScript} parameter. */ public static final String PARAM_RULES = rules; @ConfigurationParameter(name = PARAM_RULES, mandatory = false) private String rules; - + /** * Load script in Java notation, with {@code .} as package separator and no extension. File * needs to be located in the path specified below with ending {@code .ruta}. @@ -253,7 +253,7 @@ public class RutaEngine extends JCasAnno */ public static final String PARAM_REMOVE_BASICS = removeBasics; - @ConfigurationParameter(name = PARAM_REMOVE_BASICS, mandatory = false, defaultValue = true) + @ConfigurationParameter(name = PARAM_REMOVE_BASICS, mandatory = false, defaultValue = false) private Boolean removeBasics; /** @@ -269,8 +269,8 @@ public class RutaEngine extends JCasAnno /** * This parameter specifies whether the memory consumption should be reduced. This parameter - * should be set to true for very large CAS documents (e.g., gt; 500k tokens), but it also reduces - * the performance. The default value is set to false. + * should be set to true for very large CAS documents (e.g., gt; 500k tokens), but it also + * reduces the performance. The default value is set to false. */ public static final String PARAM_LOW_MEMORY_PROFILE = lowMemoryProfile; @@ -386,7 +386,8 @@ public class RutaEngine extends JCasAnno * string array specifies the variable of the n-th entry of the string array of the parameter * varValues. If the variables is defined in the root of a script, then the name of the variable * suffices. If the variable is defined in a BLOCK or imported script, then the the name must - * contain the namespaces of the blocks as a prefix, e.g., InnerBlock.varName or OtherScript.SomeBlock.varName + * contain the namespaces of the blocks as a prefix, e.g., InnerBlock.varName or + * OtherScript.SomeBlock.varName */ public static final String PARAM_VAR_NAMES = varNames; @@ -486,7 +487,7 @@ public class RutaEngine extends JCasAnno varValues = (String[]) aContext.getConfigParameterValue(PARAM_VAR_VALUES); dictRemoveWS = (Boolean) aContext.getConfigParameterValue(PARAM_DICT_REMOVE_WS); dictRemoveWS = dictRemoveWS == null ? false : dictRemoveWS; - + this.context = aContext; factory = new RutaExternalFactory(); @@ -524,7 +525,12 @@ public class RutaEngine extends JCasAnno @Override public void process(JCas jcas) throws AnalysisEngineProcessException { + CAS cas = jcas.getCas(); + +// TODO: added logging method calls temporarily for UIMA-4568 +logInfoForFirstBasic(begin of process, cas); + if (reloadScript || (!initialized !cas.getViewName().equals(CAS.NAME_DEFAULT_SOFA))) { initializeScript(cas.getViewName()); } else { @@ -684,9 +690,38 @@ public class RutaEngine extends JCasAnno simpleGreedyForComposed, crowd); stream.initalizeBasics(); +// TODO: added logging method calls temporarily for UIMA-4568 +logInfoForFirstBasic(after initBasics, cas); return stream; } + private void
svn commit: r1697340 - /uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/engine/StackedScriptsTest.java
Author: pkluegl Date: Mon Aug 24 09:29:13 2015 New Revision: 1697340 URL: http://svn.apache.org/r1697340 Log: UIMA-4568 - simple unit test as test bed Added: uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/engine/StackedScriptsTest.java (with props) Added: uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/engine/StackedScriptsTest.java URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/engine/StackedScriptsTest.java?rev=1697340view=auto == --- uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/engine/StackedScriptsTest.java (added) +++ uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/engine/StackedScriptsTest.java Mon Aug 24 09:29:13 2015 @@ -0,0 +1,58 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * License); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * AS IS BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.uima.ruta.engine; + +import static org.apache.uima.fit.factory.AnalysisEngineFactory.createEngine; + +import java.io.IOException; + +import org.apache.uima.analysis_engine.AnalysisEngine; +import org.apache.uima.analysis_engine.AnalysisEngineProcessException; +import org.apache.uima.cas.CAS; +import org.apache.uima.resource.ResourceInitializationException; +import org.apache.uima.util.InvalidXMLException; +import org.junit.Test; + +public class StackedScriptsTest { + + @Test + public void test() throws ResourceInitializationException, InvalidXMLException, IOException, AnalysisEngineProcessException { +String rules1 = CW{-T1};; +String rules2 = T1 W{-T2} W{-T3};; +String rules3 = W{PARTOF({T1,T2,T3})-T4};; + +AnalysisEngine rutaAE1 = createEngine(RutaEngine.class, RutaEngine.PARAM_RULES, rules1); +AnalysisEngine rutaAE2 = createEngine(RutaEngine.class, RutaEngine.PARAM_RULES, rules2); +AnalysisEngine rutaAE3 = createEngine(RutaEngine.class, RutaEngine.PARAM_RULES, rules3); + +CAS cas = RutaTestUtils.getCAS(This is a simple test.); + +rutaAE1.process(cas); +rutaAE2.process(cas); +rutaAE3.process(cas); + +RutaTestUtils.assertAnnotationsEquals(cas, 1, 1, This); +RutaTestUtils.assertAnnotationsEquals(cas, 2, 1, is); +RutaTestUtils.assertAnnotationsEquals(cas, 3, 1, a); +RutaTestUtils.assertAnnotationsEquals(cas, 4, 3, This, is, a); + + + } + +} Propchange: uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/engine/StackedScriptsTest.java -- svn:eol-style = native
svn commit: r1697489 - /uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/webapp/root/js/ducc.js
Author: degenaro Date: Mon Aug 24 19:39:32 2015 New Revision: 1697489 URL: http://svn.apache.org/r1697489 Log: UIMA-4539 DUCC Web Server (WS) DUCC's home should be more easily found from WS Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/webapp/root/js/ducc.js Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/webapp/root/js/ducc.js URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/webapp/root/js/ducc.js?rev=1697489r1=1697488r2=1697489view=diff == --- uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/webapp/root/js/ducc.js (original) +++ uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/webapp/root/js/ducc.js Mon Aug 24 19:39:32 2015 @@ -210,6 +210,37 @@ function ducc_version() { } } +var wip_home = false; + +function ducc_home() { +var fname = ducc_home; +var data = null; +if(wip_home) { +ducc_console_warn(fname+ already in progress...) +return; +} +wip_home = true; +try { +var servlet = /ducc-servlet/home; +var tomsecs = ms_timeout; +$.ajax({ +url: servlet, +timeout: tomsecs +}).done(function(data) { +wip_home = false; +$(#home).html(data); +data = null; +ducc_console_success(fname); +}).fail(function(jqXHR, textStatus) { +wip_home = false; +ducc_console_fail(fname, textStatus); +}); +} catch (err) { +wip_home = false; +ducc_error(fname, err); +} +} + var wip_password_checked = false; function ducc_password_checked() { @@ -2474,6 +2505,7 @@ function ducc_init(type) { try { ducc_identity(); ducc_version(); +ducc_home(); ducc_links(); ducc_cookies(); if (type == viz) {
svn commit: r1697487 - /uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandler.java
Author: degenaro Date: Mon Aug 24 19:31:25 2015 New Revision: 1697487 URL: http://svn.apache.org/r1697487 Log: UIMA-4539 DUCC Web Server (WS) DUCC's home should be more easily found from WS Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandler.java Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandler.java URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandler.java?rev=1697487r1=1697486r2=1697487view=diff == --- uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandler.java (original) +++ uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandler.java Mon Aug 24 19:31:25 2015 @@ -132,6 +132,7 @@ public class DuccHandler extends DuccAbs private DuccAuthenticator duccAuthenticator = DuccAuthenticator.getInstance(); private String duccVersion = duccContext+/version; + private String duccHome = duccContext+/home; private String duccLoginLink= duccContext+/login-link; private String duccLogoutLink = duccContext+/logout-link; @@ -281,6 +282,17 @@ public class DuccHandler extends DuccAbs duccLogger.trace(methodName, null, messages.fetch(exit)); } + private void handleDuccServletHome(String target,Request baseRequest,HttpServletRequest request,HttpServletResponse response) + throws IOException, ServletException + { + String methodName = handleDuccServletHome; + duccLogger.trace(methodName, null, messages.fetch(enter)); + StringBuffer sb = new StringBuffer(); + sb.append(dir_home); + response.getWriter().println(sb); + duccLogger.trace(methodName, null, messages.fetch(exit)); + } + private void handleDuccServletAuthenticationStatus(String target,Request baseRequest,HttpServletRequest request,HttpServletResponse response) throws IOException, ServletException { @@ -3630,7 +3642,7 @@ public class DuccHandler extends DuccAbs StringBuffer sb = new StringBuffer(); IDuccWorkMap duccWorkMap = DuccData.getInstance().get(); if(duccWorkMap.size() 0) { - sb.append(span title=\home=+dir_home+\); + sb.append(span); sb.append(getDuccWebServer().getClusterName()); sb.append(/span); } @@ -4668,6 +4680,10 @@ public class DuccHandler extends DuccAbs handleDuccServletVersion(target, baseRequest, request, response); //DuccWebUtil.noCache(response); } + else if(reqURI.startsWith(duccHome)) { + handleDuccServletHome(target, baseRequest, request, response); + //DuccWebUtil.noCache(response); + } else if(reqURI.startsWith(duccAuthenticationStatus)) { handleDuccServletAuthenticationStatus(target, baseRequest, request, response); DuccWebUtil.noCache(response);
svn commit: r1697485 - in /uima/sandbox/uima-ducc/trunk: uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/ uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/ uima-ducc-transport/src/main/
Author: challngr Date: Mon Aug 24 19:25:05 2015 New Revision: 1697485 URL: http://svn.apache.org/r1697485 Log: UIMA-4569 RM should report allocations in GB instead of shares. Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/JobManagerConverter.java uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/IRmJob.java uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/ISchedulerMain.java uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/Machine.java uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/NodePool.java uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/NodepoolScheduler.java uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/ResourceClass.java uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/RmJob.java uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/Scheduler.java uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/Share.java uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/User.java uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/RmStateDuccEvent.java uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/rm/IRmJobState.java uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/rm/Resource.java uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/rm/RmJobState.java uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/nodeviz/JobFragment.java uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/nodeviz/Markup.java uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/nodeviz/NodeViz.java uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/nodeviz/VisualizedHost.java Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/JobManagerConverter.java URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/JobManagerConverter.java?rev=1697485r1=1697484r2=1697485view=diff == --- uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/JobManagerConverter.java (original) +++ uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/JobManagerConverter.java Mon Aug 24 19:25:05 2015 @@ -124,7 +124,6 @@ public class JobManagerConverter { String methodName = blacklistJob; -int order = scheduler.calcShareOrder(memory); MapDuccId, IResource all_shares = null; MapDuccId, IResource shrunken_shares = null; MapDuccId, IResource expanded_shares = null; @@ -137,16 +136,18 @@ public class JobManagerConverter // first time - everything must go IDuccProcessMap pm = ((IDuccWorkExecutable)job).getProcessMap(); +int quantum = 0; for ( IDuccProcess proc : pm.values() ) { // build up Shares from the incoming state NodeIdentity ni = proc.getNodeIdentity(); Machine m = scheduler.getMachine(ni); int share_order = 1; +quantum = m.getQuantum(); if ( m != null ) { if ( proc.isActive() || (proc.getProcessState() == ProcessState.Undefined) ) { logger.info(methodName, job.getDuccId(), blacklist, proc.getDuccId(), state, proc.getProcessState(), isActive, proc.isActive(), isComplete, proc.isComplete()); -m.blacklist(job.getDuccId(), proc.getDuccId(), order); +m.blacklist(job.getDuccId(), proc.getDuccId(), memory); if ( evict ) { share_order = m.getShareOrder(); // best guess Resource r = new Resource(proc.getDuccId(), proc.getNode(), false, share_order, 0); @@ -162,7 +163,7 @@ public class JobManagerConverter } if ( evict (shrunken_shares.size() 0) ) { -RmJobState rjs = new RmJobState(job.getDuccId(), all_shares, shrunken_shares, expanded_shares); +RmJobState rjs = new RmJobState(job.getDuccId(), quantum, all_shares, shrunken_shares, expanded_shares); rjs.setDuccType(job.getDuccType());
svn commit: r1697488 - /uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/webapp/root/$banner/c4-ducc-mon.jsp
Author: degenaro Date: Mon Aug 24 19:38:57 2015 New Revision: 1697488 URL: http://svn.apache.org/r1697488 Log: UIMA-4539 DUCC Web Server (WS) DUCC's home should be more easily found from WS Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/webapp/root/$banner/c4-ducc-mon.jsp Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/webapp/root/$banner/c4-ducc-mon.jsp URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/webapp/root/%24banner/c4-ducc-mon.jsp?rev=1697488r1=1697487r2=1697488view=diff == --- uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/webapp/root/$banner/c4-ducc-mon.jsp (original) +++ uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/webapp/root/$banner/c4-ducc-mon.jsp Mon Aug 24 19:38:57 2015 @@ -24,16 +24,21 @@ under the License. tr td valign=middle align=center div -bbigspan class=titleducc-mon/span/big/b -br +table +tr +tdbspan class=titleducc-mon/span/b +tdtdiVersion: bspan class=version id=version/b/span/i +/table span class=title_acronymD/spanspan class=titleistributed/span span class=title_acronymU/spanspan class=titleIMA/span span class=title_acronymC/spanspan class=titleluster/span span class=title_acronymC/spanspan class=titleomputing/span span class=title_acronymMon/spanspan class=titleitor/span br -iVersion: span class=version id=version/span/i -br +table +tr +tdiHome: bspan class=home id=home/span/b/i +/table table tr td valign=middle align=center
svn commit: r1697497 - /uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/NodeConfiguration.java
Author: challngr Date: Mon Aug 24 20:23:32 2015 New Revision: 1697497 URL: http://svn.apache.org/r1697497 Log: UIMA-4569 RM should report allocations in GB instead of shares. Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/NodeConfiguration.java Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/NodeConfiguration.java URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/NodeConfiguration.java?rev=1697497r1=1697496r2=1697497view=diff == --- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/NodeConfiguration.java (original) +++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/NodeConfiguration.java Mon Aug 24 20:23:32 2015 @@ -144,6 +144,7 @@ public class NodeConfiguration defaultNodepool.put(name, optional); defaultNodepool.put(nodefile, optional); defaultNodepool.put(parent, optional); +defaultNodepool.put(share-quantum, optional); defaultNodepool.put(domain, optional); defaultNodepool.put(search-order, 100);// temporary. UIMA-4324 @@ -641,6 +642,37 @@ public class NodeConfiguration } /** + * Look at all top-level nodepools and insure the scheduling quantum is set. If not, inherit it from + * ducc.properties. + */ +void setShareQuantum() + throws IllegalConfigurationException +{ +for (DuccProperties props : independentNodepools ) { +String q = props.getProperty(share-quantum); +if ( q == null ) { +props.setProperty(share-quantum, +SystemPropertyResolver.getIntProperty(ducc.rm.share.quantum, 15)); +} else { +try { +int quantum = Integer.parseInt(q); +} catch (NumberFormatException e) { +throw new IllegalConfigurationException(Value for \share-quantum\ in nodepool + props.getProperty(name) + is not a number.); +} +} +} +} + +/** + * (Recursively) walk up parental chain to find the top-level np for this guy. + */ +DuccProperties getTopLevel(DuccProperties child) +{ +String parent = child.getStringProperty(parent, null); +if ( parent == null ) return child; +return getTopLevel(nodepools.get(parent)); +} + +/** * Find all the top-level nodepools. * Make sure every parent nodepool exists. * Set the names of the child nodepools into each parent. @@ -650,12 +682,26 @@ public class NodeConfiguration throws IllegalConfigurationException { -// map the child nodepools into their parents +// Insure default is set right +setShareQuantum(); + +// Map the child nodepools into their parents for ( DuccProperties p : nodepools.values() ) { String parent = p.getStringProperty(parent, null); String name = p.getStringProperty(name); if ( parent != null ) { + +// Insure no scheduling quantum is set +if ( p.getProperty(share-quantum) != null ) { +throw new IllegalConfigurationException(Nodepool + name + : \share-quantum\ is legal only for top-level nodepools.); +} + +// Now pull down the parent's scheduling quantum +DuccProperties tl = getTopLevel(p); +p.setProperty(share-quantum, tl.getProperty(share-quantum)); // (guaranteed non-null by setSchedulingQuantum) + +// And now connect children and parents DuccProperties par_pool = nodepools.get(parent); if ( par_pool == null ) { throw new IllegalConfigurationException(Nodepool + name+ parent pool + parent + cannot be found.); @@ -952,6 +998,23 @@ public class NodeConfiguration return reserveDefault; } +public int getShareQuantum(String classname) +throws IllegalConfigurationException +{ +// to find the quantum for a class - +// -- look up the class to get the nodepool name +// -- look in the nodepool for the quantum +// must throw on invalid classname which could be a tupo on the part of whoever calls this +DuccProperties props = clmap.get(classname); +if ( props == null ) { +throw new IllegalConfigurationException(Class + classname + is not configured.); +} + +String npname = props.getProperty(nodepool); +DuccProperties np = nodepools.get(npname); +return Integer.parseInt(np.getProperty(share-quantum)); +} + public DuccProperties[] getToplevelNodepools()
svn commit: r1697512 - /uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccMonitor.java
Author: burn Date: Mon Aug 24 22:53:48 2015 New Revision: 1697512 URL: http://svn.apache.org/r1697512 Log: UIMA-4564 Only if a reservation request should a state of Assigned terminate the monitor Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccMonitor.java Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccMonitor.java URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccMonitor.java?rev=1697512r1=1697511r2=1697512view=diff == --- uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccMonitor.java (original) +++ uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccMonitor.java Mon Aug 24 22:53:48 2015 @@ -391,7 +391,7 @@ public abstract class DuccMonitor { flag_cancel_on_interrupt.set(false); message.append(details(monitorInfo)); } - else if (state.equals(StateAssigned)) { // A reservation has completed + else if (context == DuccContext.Reservation state.equals(StateAssigned)) { // A reservation has completed flag_cancel_on_interrupt.set(false); message.append(details(monitorInfo)); } @@ -427,7 +427,7 @@ public abstract class DuccMonitor { } } } - if (state.equals(StateAssigned)) { + if (context == DuccContext.Reservation state.equals(StateAssigned)) { if(monitorInfo.nodes != null) { if(monitorInfo.nodes.size() 0) { StringBuffer sb = new StringBuffer();