Thanks Imesh, I will try with the new changes On Tue, Feb 17, 2015 at 6:12 PM, Imesh Gunaratne <im...@apache.org> wrote:
> I have now fixed this issue, the problem has occurred due to missing > application validations. In single cartridge application we have defined an > invalid autoscaling policy id however it was not detected. > > I have now added validations to verify this at the application creation > time: > > if (StringUtils.isEmpty(alias)) { > handleError(String.format("An alias is not defined for cartridge: > [application-id] %s" + > "[cartridge-type] %s", applicationId, cartridgeType)); > } > > if (!ApplicationUtils.isAliasValid(alias)) { > handleError(String.format("Alias is not valid: [application-id] %s " + > "[cartridge-type] %s [alias] %s", applicationId, > cartridgeType, alias)); > } > > if (subscribableInfoContextMap.get(alias) != null) { > handleError(String.format("Alias is already defined: [application-id] %s > " + > "[cartridge-type] %s [alias] %s", applicationId, > cartridgeType, alias)); > } > > if(StringUtils.isBlank(autoscalingPolicyId)) { > handleError(String.format("Autoscaling policy is not defined: > [application-id] %s " + > "[cartridge-type] %s [alias] %s", applicationId, cartridgeType, > alias)); > } > > AutoscalePolicy autoscalingPolicy = > PolicyManager.getInstance().getAutoscalePolicy(autoscalingPolicyId); > if(autoscalingPolicy == null) { > handleError(String.format("Autoscaling policy is not found: > [application-id] %s " + > "[cartridge-type] %s [alias] %s [autoscaling-policy] %s", > applicationId, cartridgeType, > alias, autoscalingPolicyId)); > } > > > This fix is pushed to master branch. > > Thanks > > > On Tue, Feb 17, 2015 at 12:00 PM, Imesh Gunaratne <im...@apache.org> > wrote: > >> Thanks Udara, I'm looking into this. >> >> On Tue, Feb 17, 2015 at 11:17 AM, Udara Liyanage <ud...@wso2.com> wrote: >> >>> Hi, >>> >>> I just started Stratos built from master branch and >>> exected single-cartridge sample. >>> >>> [2015-02-17 11:15:41,919] INFO >>> {org.apache.stratos.autoscaler.monitor.cluster.ClusterMonitor} - Executing >>> scaling rule as statistics have been reset >>> Exception in thread "pool-38-thread-3" [Error: null pointer: >>> autoscalePolicy.getLoadThresholds()] >>> [Near : {... autoscalePolicy.getLoadThresho ....}] >>> ^ >>> [Line: 1, Column: 1] >>> at >>> org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:431) >>> at >>> org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeAccessor(ReflectiveAccessorOptimizer.java:143) >>> at org.mvel2.ast.ASTNode.optimize(ASTNode.java:159) >>> at org.mvel2.ast.ASTNode.getReducedValueAccelerated(ASTNode.java:115) >>> at org.mvel2.MVELRuntime.execute(MVELRuntime.java:85) >>> at >>> org.mvel2.compiler.CompiledExpression.getDirectValue(CompiledExpression.java:123) >>> at >>> org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:119) >>> at >>> org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:113) >>> at org.mvel2.MVEL.executeExpression(MVEL.java:942) >>> at >>> org.drools.base.dataproviders.MVELDataProvider.getResults(MVELDataProvider.java:111) >>> at org.drools.reteoo.FromNode.assertLeftTuple(FromNode.java:150) >>> at >>> org.drools.reteoo.SingleLeftTupleSinkAdapter.doPropagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:196) >>> at >>> org.drools.reteoo.SingleLeftTupleSinkAdapter.createAndPropagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:145) >>> at >>> org.drools.reteoo.LeftInputAdapterNode.assertObject(LeftInputAdapterNode.java:154) >>> at >>> org.drools.reteoo.SingleObjectSinkAdapter.propagateAssertObject(SingleObjectSinkAdapter.java:59) >>> at org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:235) >>> at org.drools.reteoo.EntryPointNode.assertObject(EntryPointNode.java:240) >>> at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:350) >>> at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:311) >>> at >>> org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:903) >>> at >>> org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:847) >>> at >>> org.drools.impl.StatefulKnowledgeSessionImpl.insert(StatefulKnowledgeSessionImpl.java:269) >>> at >>> org.apache.stratos.autoscaler.rule.AutoscalerRuleEvaluator.evaluate(AutoscalerRuleEvaluator.java:64) >>> at >>> org.apache.stratos.autoscaler.monitor.cluster.ClusterMonitor$1.run(ClusterMonitor.java:571) >>> at >>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) >>> at >>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) >>> at java.lang.Thread.run(Thread.java:662) >>> Caused by: java.lang.NullPointerException >>> at >>> org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:397) >>> ... 26 more >>> >>> >>> -- >>> >>> Udara Liyanage >>> Software Engineer >>> WSO2, Inc.: http://wso2.com >>> lean. enterprise. middleware >>> >>> web: http://udaraliyanage.wordpress.com >>> phone: +94 71 443 6897 >>> >> >> >> >> -- >> Imesh Gunaratne >> >> Technical Lead, WSO2 >> Committer & PMC Member, Apache Stratos >> > > > > -- > Imesh Gunaratne > > Technical Lead, WSO2 > Committer & PMC Member, Apache Stratos > -- Udara Liyanage Software Engineer WSO2, Inc.: http://wso2.com lean. enterprise. middleware web: http://udaraliyanage.wordpress.com phone: +94 71 443 6897