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

Reply via email to