Aled Sage created BROOKLYN-346:
----------------------------------
Summary: NPE after restart, in AutoScalerPolicy.onMetricChanged
(when using yaml DSL for config)
Key: BROOKLYN-346
URL: https://issues.apache.org/jira/browse/BROOKLYN-346
Project: Brooklyn
Issue Type: Bug
Reporter: Aled Sage
Priority: Minor
After restarting Brooklyn (using 0.10.0-SNAPSHOT), I saw the NPE below in the
log:
{noformat}
2016-09-09 09:33:11,913 WARN o.a.b.c.m.i.LocalSubscriptionManager
[brooklyn-execmanager-VtZheMDn-10]: Error processing subscriptions to
LSM.publish(DynamicClusterImpl{id=pwty9ia4ww}.Sensor: cpu.average
(java.lang.Double)=0.005 @ 1473409991910): java.lang.NullPointerExc
eption
java.lang.NullPointerException: null
at
org.apache.brooklyn.policy.autoscaling.AutoScalerPolicy.onMetricChanged(AutoScalerPolicy.java:755)
~[brooklyn-policy-0.10.0-20160907.0931.jar:0.10.0-20160907.0931]
at
org.apache.brooklyn.policy.autoscaling.AutoScalerPolicy.access$700(AutoScalerPolicy.java:80)
~[brooklyn-policy-0.10.0-20160907.0931.jar:0.10.0-20160907.0931]
at
org.apache.brooklyn.policy.autoscaling.AutoScalerPolicy$11.onEvent(AutoScalerPolicy.java:448)
~[brooklyn-policy-0.10.0-20160907.0931.jar:0.10.0-20160907.0931]
at
org.apache.brooklyn.core.mgmt.internal.LocalSubscriptionManager$2.run(LocalSubscriptionManager.java:244)
~[brooklyn-core-0.10.0-20160907.0931.jar:0.10.0-20160907.0931]
at
org.apache.brooklyn.util.concurrent.CallableFromRunnable.call(CallableFromRunnable.java:43)
[brooklyn-utils-common-0.10.0-20160907.0931.jar:0.10.0-20160907.0931]
at
org.apache.brooklyn.util.core.task.BasicExecutionManager$SubmissionCallable.call(BasicExecutionManager.java:519)
[brooklyn-core-0.10.0-20160907.0931.jar:0.10.0-20160907.0931]
at
org.apache.brooklyn.util.core.task.SingleThreadedScheduler$1.call(SingleThreadedScheduler.java:116)
[brooklyn-core-0.10.0-20160907.0931.jar:0.10.0-20160907.0931]
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
[na:1.7.0_95]
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
[na:1.7.0_95]
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
[na:1.7.0_95]
at java.lang.Thread.run(Thread.java:745) [na:1.7.0_95]
{noformat}
That line is executing {{getMetricUpperBound().doubleValue()}}.
I suspect this is the same underlying cause as
https://issues.apache.org/jira/browse/BROOKLYN-345.
The policy is configured with:
{noformat}
autoscaler.metricUpperBound:
$brooklyn:entity("docker-swarm-nodes").parent().config("swarm.scaling.cpu.limit")
{noformat}
And the entity is configured with:
{noformat}
brooklyn.parameters:
- name: swarm.scaling.cpu.limit
label: Swarm Scaling CPU Limit
type: double
default: 0.95
{noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)