13:25:01.867 [main] INFO  [AutoScalerFactory:launch:227] - creating AutoScalerFactory from config: {
  "storageDir": "target/autoscaler/instances"
}
13:25:01.868 [main] DEBUG [AutoScalerFactory:configure:124] - AutoScalerFactory created with configuration: {
  "storageDir": "target/autoscaler/instances"
}
13:25:01.868 [main] DEBUG [AutoScalerFactory:restoreInstances:446] - Restoring autoscaler instances from /home/simon/git/elastisys/autoscaler/target/checkout/server/target/autoscaler/instances
13:25:01.868 [main] INFO  [AutoScalerFactory:start:156] - autoscaler factory started.
13:25:01.869 [main] INFO  [AbstractAutoScalerCoreRestTest:beforeTest:75] - server options: {
  "storageDir": "/var/lib/elastisys/autoscaler/instances",
  "addonsConfig": null,
  "enableExitHandler": false,
  "httpPort": null,
  "httpsPort": 40845,
  "sslKeyStore": "src/test/resources/security/server/server_keystore.p12",
  "sslKeyStorePassword": "serverpass",
  "requireClientCert": false,
  "sslTrustStore": null,
  "sslTrustStorePassword": null,
  "requireBasicAuth": true,
  "realmFile": "src/test/resources/security/server/security-realm.properties",
  "requireRole": "USER",
  "help": false,
  "version": false,
  "positionalArgs": []
}
13:25:01.872 [main] DEBUG [ServletServerBuilder:createServletHandler:206] - adding servlet 'org.glassfish.jersey.servlet.ServletContainer@720bacd7' at context path '/' with path spec '/*' and init-params {}
13:25:01.873 [main] DEBUG [ServletServerBuilder:addCrossOriginFilter:113] - enabling CORS support
13:25:01.873 [main] INFO  [Server:doStart:371] - jetty-9.4.12.v20180830; built: 2018-08-30T13:59:14.071Z; git: 27208684755d94a92186989f695db2d7b21ebc51; jvm 11.0.2+9-Ubuntu-3ubuntu118.04.3
13:25:01.886 [main] INFO  [DefaultSessionIdManager:doStart:365] - DefaultSessionIdManager workerName=node0
13:25:01.886 [main] INFO  [DefaultSessionIdManager:doStart:370] - No SessionScavenger set, using defaults
13:25:01.887 [main] INFO  [HouseKeeper:startScavenging:149] - node0 Scavenging every 600000ms
13:25:02.006 [main] INFO  [ContextHandler:doStart:850] - Started o.e.j.s.ServletContextHandler@227d25d6{/,null,AVAILABLE}
13:25:02.015 [main] INFO  [SslContextFactory:load:310] - x509=X509@19a39f7(1,h=[],w=[]) for SslContextFactory@6bea3a13[provider=null,keyStore=file:///home/simon/git/elastisys/autoscaler/target/checkout/server/src/test/resources/security/server/server_keystore.p12,trustStore=file:///home/simon/git/elastisys/autoscaler/target/checkout/server/src/test/resources/security/server/server_keystore.p12]
13:25:02.020 [main] INFO  [AbstractConnector:doStart:292] - Started ServerConnector@79363388{SSL,[ssl, http/1.1]}{0.0.0.0:40845}
13:25:02.021 [main] INFO  [Server:doStart:408] - Started @8761ms
13:25:02.021 [main] DEBUG [AbstractAutoScalerCoreRestTest:beforeTestMethod:86] - Test method can now run
13:25:02.022 [main] DEBUG [AutoScalerFactory:buildAutoScaler:281] - Building auto-scaler with id Optional[autoscaler1] and uuid 69a9a091-a623-4957-994d-0b9b577e3f96 from:
blueprint: {
  "id": "autoscaler1",
  "monitoringSubsystem": "com.elastisys.autoscaler.core.monitoring.impl.standard.StandardMonitoringSubsystem",
  "alerter": "com.elastisys.autoscaler.core.alerter.impl.standard.StandardAlerter",
  "metronome": "com.elastisys.autoscaler.core.metronome.impl.standard.StandardMetronome",
  "predictionSubsystem": "com.elastisys.autoscaler.core.prediction.impl.standard.StandardPredictionSubsystem",
  "cloudPool": "com.elastisys.autoscaler.server.restapi.stubs.CloudPoolProxyStub"
}
add-ons: {}
May 08, 2019 1:25:02 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Sending client request on thread main
1 > POST https://localhost:40845/autoscaler/instances/autoscaler1/config
1 > Accept: application/json
1 > Content-Type: application/json

13:25:02.096 [qtp1575041060-59] INFO  [RequestLogFilter:filter:26] - POST https://localhost:40845/autoscaler/instances/autoscaler1/config by 127.0.0.1
Warning: Nashorn engine is planned to be removed from a future JDK release
Warning: Nashorn engine is planned to be removed from a future JDK release
13:25:02.135 [qtp1575041060-59] DEBUG [AutoScaler:ensureApplicableOrFail:274] - creating a copy autoscaler to validate config ...
13:25:02.173 [qtp1575041060-59] DEBUG [AutoScaler:ensureApplicableOrFail:276] - trying out configuration on copy autoscaler ...
Warning: Nashorn engine is planned to be removed from a future JDK release
13:25:02.196 [qtp1575041060-59] DEBUG [AutoScaler:ensureApplicableOrFail:278] - configuration successfully applied to copy autoscaler.
13:25:02.196 [qtp1575041060-59] INFO  [AutoScaler:applyConfig:226] - applying configuration ...
13:25:02.207 [qtp1575041060-59] DEBUG [StandardAlerter:apply:127] - applying configuration ...
13:25:02.209 [qtp1575041060-59] DEBUG [StandardPredictionSubsystem:configure:133] - applying configuration ...
13:25:02.210 [qtp1575041060-59] DEBUG [PredictorRegistry:addPredictor:204] - adding predictor: {"id":"p1","type":"com.elastisys.autoscaler.predictors.reactive.ReactivePredictor","state":"STARTED","metricStream":"lbaas.connection.rate.stream","parameters":{}}
Warning: Nashorn engine is planned to be removed from a future JDK release
13:25:02.219 [qtp1575041060-59] INFO  [AutoScalerFactory:save:425] - Saving instance state for auto-scaler autoscaler1
May 08, 2019 1:25:02 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Client response received on thread main
1 < 200
1 < Content-Length: 0
1 < Date: Wed, 08 May 2019 11:25:02 GMT
1 < Server: Jetty(9.4.12.v20180830)

May 08, 2019 1:25:02 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Sending client request on thread main
1 > POST https://localhost:40845/autoscaler/instances/autoscaler1/config
1 > Accept: application/json
1 > Content-Type: application/json

13:25:02.277 [qtp1575041060-56] INFO  [RequestLogFilter:filter:26] - POST https://localhost:40845/autoscaler/instances/autoscaler1/config by 127.0.0.1
Warning: Nashorn engine is planned to be removed from a future JDK release
Warning: Nashorn engine is planned to be removed from a future JDK release
13:25:02.314 [qtp1575041060-56] DEBUG [AutoScaler:ensureApplicableOrFail:274] - creating a copy autoscaler to validate config ...
13:25:02.343 [qtp1575041060-56] DEBUG [AutoScaler:ensureApplicableOrFail:276] - trying out configuration on copy autoscaler ...
13:25:02.355 [qtp1575041060-56] WARN  [AutoScaler:configure:208] - autoScaler: rejecting config: predictionSubsystem: metric stream 'lbaas.connection.rate.stream' is not published by the metric streamer
13:25:02.356 [qtp1575041060-56] WARN  [AutoScalerFactoryRestApi:setSubsystemConfig:403] - failed to set config: autoScaler: rejecting config: predictionSubsystem: metric stream 'lbaas.connection.rate.stream' is not published by the metric streamer
java.lang.IllegalArgumentException: autoScaler: rejecting config: predictionSubsystem: metric stream 'lbaas.connection.rate.stream' is not published by the metric streamer
	at com.elastisys.autoscaler.core.autoscaler.AutoScaler.configure(AutoScaler.java:209)
	at com.elastisys.autoscaler.core.autoscaler.AutoScaler.configure(AutoScaler.java:77)
	at com.elastisys.autoscaler.server.restapi.AutoScalerFactoryRestApi.setSubsystemConfig(AutoScalerFactoryRestApi.java:400)
	at com.elastisys.autoscaler.server.restapi.AutoScalerFactoryRestApi.postInstanceConfig(AutoScalerFactoryRestApi.java:235)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81)
	at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
	at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
	at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:160)
	at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
	at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:389)
	at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:347)
	at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:102)
	at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:326)
	at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
	at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
	at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
	at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
	at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
	at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317)
	at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305)
	at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154)
	at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:473)
	at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:427)
	at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:388)
	at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:341)
	at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:228)
	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:865)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1655)
	at org.eclipse.jetty.servlets.CrossOriginFilter.handle(CrossOriginFilter.java:311)
	at org.eclipse.jetty.servlets.CrossOriginFilter.doFilter(CrossOriginFilter.java:265)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:513)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
	at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:61)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
	at org.eclipse.jetty.server.Server.handle(Server.java:503)
	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
	at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:411)
	at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:305)
	at org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:159)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
	at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
	at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.IllegalArgumentException: predictionSubsystem: metric stream 'lbaas.connection.rate.stream' is not published by the metric streamer
	at com.elastisys.autoscaler.core.prediction.impl.standard.StandardPredictionSubsystem.apply(StandardPredictionSubsystem.java:416)
	at com.elastisys.autoscaler.core.prediction.impl.standard.StandardPredictionSubsystem.configure(StandardPredictionSubsystem.java:140)
	at com.elastisys.autoscaler.core.prediction.impl.standard.StandardPredictionSubsystem.configure(StandardPredictionSubsystem.java:70)
	at com.elastisys.autoscaler.core.autoscaler.AutoScaler.applyConfig(AutoScaler.java:251)
	at com.elastisys.autoscaler.core.autoscaler.AutoScaler.ensureApplicableOrFail(AutoScaler.java:277)
	at com.elastisys.autoscaler.core.autoscaler.AutoScaler.configure(AutoScaler.java:205)
	... 68 common frames omitted
Caused by: com.elastisys.autoscaler.core.prediction.impl.standard.predictor.UnknownMetricStreamIdException: metric stream 'lbaas.connection.rate.stream' is not published by the metric streamer
	at com.elastisys.autoscaler.core.prediction.impl.standard.predictor.PredictorRegistry.validateMetricStreamExistence(PredictorRegistry.java:113)
	at com.elastisys.autoscaler.core.prediction.impl.standard.predictor.PredictorRegistry.configure(PredictorRegistry.java:121)
	at com.elastisys.autoscaler.core.prediction.impl.standard.StandardPredictionSubsystem.apply(StandardPredictionSubsystem.java:409)
	... 73 common frames omitted
13:25:02.357 [qtp1575041060-56] INFO  [AutoScalerFactory:save:425] - Saving instance state for auto-scaler autoscaler1
May 08, 2019 1:25:02 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Client response received on thread main
1 < 400
1 < Content-Length: 8066
1 < Content-Type: application/json
1 < Date: Wed, 08 May 2019 11:25:02 GMT
1 < Server: Jetty(9.4.12.v20180830)

13:25:02.365 [main] DEBUG [AbstractAutoScalerCoreRestTest:afterTestMethod:92] - Test method has run, cleaning up
13:25:02.365 [main] INFO  [AutoScalerFactory:deleteAutoScaler:401] - Deleting auto-scaler instance autoscaler1
13:25:02.365 [main] INFO  [AutoScaler:stop:327] - stopping autoscaler autoscaler1 ...
13:25:02.369 [main] DEBUG [AbstractAutoScalerCoreRestTest:beforeTestMethod:86] - Test method can now run
13:25:02.370 [main] DEBUG [AutoScalerFactory:buildAutoScaler:281] - Building auto-scaler with id Optional[autoscaler1] and uuid f3c045cb-a00c-4575-83e9-6e1d6a24555b from:
blueprint: {
  "id": "autoscaler1",
  "monitoringSubsystem": "com.elastisys.autoscaler.core.monitoring.impl.standard.StandardMonitoringSubsystem",
  "alerter": "com.elastisys.autoscaler.core.alerter.impl.standard.StandardAlerter",
  "metronome": "com.elastisys.autoscaler.core.metronome.impl.standard.StandardMetronome",
  "predictionSubsystem": "com.elastisys.autoscaler.core.prediction.impl.standard.StandardPredictionSubsystem",
  "cloudPool": "com.elastisys.autoscaler.server.restapi.stubs.CloudPoolProxyStub"
}
add-ons: {}
May 08, 2019 1:25:02 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Sending client request on thread main
1 > GET https://localhost:40845/autoscaler/instances/autoscaler1/status

13:25:02.441 [qtp1575041060-61] INFO  [RequestLogFilter:filter:26] - GET https://localhost:40845/autoscaler/instances/autoscaler1/status by 127.0.0.1
May 08, 2019 1:25:02 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Client response received on thread main
1 < 200
1 < Content-Length: 64
1 < Content-Type: application/json
1 < Date: Wed, 08 May 2019 11:25:02 GMT
1 < Server: Jetty(9.4.12.v20180830)

May 08, 2019 1:25:02 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Sending client request on thread main
1 > POST https://localhost:40845/autoscaler/instances/autoscaler1/stop
1 > Accept: application/json
1 > Content-Type: application/json

13:25:02.498 [qtp1575041060-61] INFO  [RequestLogFilter:filter:26] - POST https://localhost:40845/autoscaler/instances/autoscaler1/stop by 127.0.0.1
13:25:02.498 [qtp1575041060-61] INFO  [AutoScaler:stop:327] - stopping autoscaler autoscaler1 ...
13:25:02.499 [qtp1575041060-61] INFO  [AutoScalerFactory:save:425] - Saving instance state for auto-scaler autoscaler1
May 08, 2019 1:25:02 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Client response received on thread main
1 < 200
1 < Content-Length: 0
1 < Date: Wed, 08 May 2019 11:25:02 GMT
1 < Server: Jetty(9.4.12.v20180830)

May 08, 2019 1:25:02 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Sending client request on thread main
1 > GET https://localhost:40845/autoscaler/instances/autoscaler1/status

13:25:02.546 [qtp1575041060-61] INFO  [RequestLogFilter:filter:26] - GET https://localhost:40845/autoscaler/instances/autoscaler1/status by 127.0.0.1
May 08, 2019 1:25:02 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Client response received on thread main
1 < 200
1 < Content-Length: 64
1 < Content-Type: application/json
1 < Date: Wed, 08 May 2019 11:25:02 GMT
1 < Server: Jetty(9.4.12.v20180830)

13:25:02.552 [main] DEBUG [AbstractAutoScalerCoreRestTest:afterTestMethod:92] - Test method has run, cleaning up
13:25:02.555 [main] INFO  [AutoScalerFactory:deleteAutoScaler:401] - Deleting auto-scaler instance autoscaler1
13:25:02.556 [main] INFO  [AutoScaler:stop:327] - stopping autoscaler autoscaler1 ...
13:25:02.557 [main] DEBUG [AbstractAutoScalerCoreRestTest:beforeTestMethod:86] - Test method can now run
13:25:02.558 [main] DEBUG [AutoScalerFactory:buildAutoScaler:281] - Building auto-scaler with id Optional[autoscaler1] and uuid 2ba73df4-f41a-4c07-8419-1d70c0015b66 from:
blueprint: {
  "id": "autoscaler1",
  "monitoringSubsystem": "com.elastisys.autoscaler.core.monitoring.impl.standard.StandardMonitoringSubsystem",
  "alerter": "com.elastisys.autoscaler.core.alerter.impl.standard.StandardAlerter",
  "metronome": "com.elastisys.autoscaler.core.metronome.impl.standard.StandardMetronome",
  "predictionSubsystem": "com.elastisys.autoscaler.core.prediction.impl.standard.StandardPredictionSubsystem",
  "cloudPool": "com.elastisys.autoscaler.server.restapi.stubs.CloudPoolProxyStub"
}
add-ons: {}
May 08, 2019 1:25:02 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Sending client request on thread main
1 > GET https://localhost:40845/autoscaler/instances/autoscaler1/status

13:25:02.617 [qtp1575041060-59] INFO  [RequestLogFilter:filter:26] - GET https://localhost:40845/autoscaler/instances/autoscaler1/status by 127.0.0.1
May 08, 2019 1:25:02 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Client response received on thread main
1 < 200
1 < Content-Length: 64
1 < Content-Type: application/json
1 < Date: Wed, 08 May 2019 11:25:02 GMT
1 < Server: Jetty(9.4.12.v20180830)

May 08, 2019 1:25:02 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Sending client request on thread main
1 > POST https://localhost:40845/autoscaler/instances/autoscaler1/config
1 > Accept: application/json
1 > Content-Type: application/json

13:25:02.665 [qtp1575041060-59] INFO  [RequestLogFilter:filter:26] - POST https://localhost:40845/autoscaler/instances/autoscaler1/config by 127.0.0.1
Warning: Nashorn engine is planned to be removed from a future JDK release
Warning: Nashorn engine is planned to be removed from a future JDK release
13:25:02.715 [qtp1575041060-59] DEBUG [AutoScaler:ensureApplicableOrFail:274] - creating a copy autoscaler to validate config ...
13:25:02.740 [qtp1575041060-59] DEBUG [AutoScaler:ensureApplicableOrFail:276] - trying out configuration on copy autoscaler ...
Warning: Nashorn engine is planned to be removed from a future JDK release
13:25:02.768 [qtp1575041060-59] DEBUG [AutoScaler:ensureApplicableOrFail:278] - configuration successfully applied to copy autoscaler.
13:25:02.768 [qtp1575041060-59] INFO  [AutoScaler:applyConfig:226] - applying configuration ...
13:25:02.782 [qtp1575041060-59] DEBUG [StandardAlerter:apply:127] - applying configuration ...
13:25:02.783 [qtp1575041060-59] DEBUG [StandardPredictionSubsystem:configure:133] - applying configuration ...
13:25:02.785 [qtp1575041060-59] DEBUG [PredictorRegistry:addPredictor:204] - adding predictor: {"id":"p1","type":"com.elastisys.autoscaler.predictors.rulebased.RuleBasedPredictor","state":"STARTED","metricStream":"cpu.user.percent.stream","parameters":{"cooldownPeriod":{"time":180,"unit":"seconds"},"scalingRules":[{"condition":"ABOVE","threshold":"80","period":{"time":3,"unit":"minutes"},"resize":"1","unit":"INSTANCES"}]}}
Warning: Nashorn engine is planned to be removed from a future JDK release
13:25:02.796 [qtp1575041060-59] INFO  [AutoScalerFactory:save:425] - Saving instance state for auto-scaler autoscaler1
May 08, 2019 1:25:02 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Client response received on thread main
1 < 200
1 < Content-Length: 0
1 < Date: Wed, 08 May 2019 11:25:02 GMT
1 < Server: Jetty(9.4.12.v20180830)

May 08, 2019 1:25:02 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Sending client request on thread main
1 > GET https://localhost:40845/autoscaler/instances/autoscaler1/status

13:25:02.853 [qtp1575041060-61] INFO  [RequestLogFilter:filter:26] - GET https://localhost:40845/autoscaler/instances/autoscaler1/status by 127.0.0.1
May 08, 2019 1:25:02 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Client response received on thread main
1 < 200
1 < Content-Length: 64
1 < Content-Type: application/json
1 < Date: Wed, 08 May 2019 11:25:02 GMT
1 < Server: Jetty(9.4.12.v20180830)

May 08, 2019 1:25:02 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Sending client request on thread main
1 > GET https://localhost:40845/autoscaler/instances/autoscaler1/config

13:25:02.898 [qtp1575041060-61] INFO  [RequestLogFilter:filter:26] - GET https://localhost:40845/autoscaler/instances/autoscaler1/config by 127.0.0.1
May 08, 2019 1:25:02 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Client response received on thread main
1 < 200
1 < Content-Length: 2332
1 < Content-Type: application/json
1 < Date: Wed, 08 May 2019 11:25:02 GMT
1 < Server: Jetty(9.4.12.v20180830)

May 08, 2019 1:25:02 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Sending client request on thread main
1 > GET https://localhost:40845/autoscaler/instances/autoscaler1/status

13:25:02.950 [qtp1575041060-59] INFO  [RequestLogFilter:filter:26] - GET https://localhost:40845/autoscaler/instances/autoscaler1/status by 127.0.0.1
May 08, 2019 1:25:02 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Client response received on thread main
1 < 200
1 < Content-Length: 64
1 < Content-Type: application/json
1 < Date: Wed, 08 May 2019 11:25:02 GMT
1 < Server: Jetty(9.4.12.v20180830)

13:25:02.954 [main] DEBUG [AbstractAutoScalerCoreRestTest:afterTestMethod:92] - Test method has run, cleaning up
13:25:02.954 [main] INFO  [AutoScalerFactory:deleteAutoScaler:401] - Deleting auto-scaler instance autoscaler1
13:25:02.954 [main] INFO  [AutoScaler:stop:327] - stopping autoscaler autoscaler1 ...
13:25:02.956 [main] DEBUG [AbstractAutoScalerCoreRestTest:beforeTestMethod:86] - Test method can now run
13:25:02.957 [main] DEBUG [AutoScalerFactory:buildAutoScaler:281] - Building auto-scaler with id Optional[autoscaler1] and uuid b24479e7-3390-40b8-9cad-f8fb20961bbb from:
blueprint: {
  "id": "autoscaler1",
  "monitoringSubsystem": "com.elastisys.autoscaler.core.monitoring.impl.standard.StandardMonitoringSubsystem",
  "alerter": "com.elastisys.autoscaler.core.alerter.impl.standard.StandardAlerter",
  "metronome": "com.elastisys.autoscaler.core.metronome.impl.standard.StandardMetronome",
  "predictionSubsystem": "com.elastisys.autoscaler.core.prediction.impl.standard.StandardPredictionSubsystem",
  "cloudPool": "com.elastisys.autoscaler.server.restapi.stubs.CloudPoolProxyStub"
}
add-ons: {}
May 08, 2019 1:25:03 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Sending client request on thread main
1 > POST https://localhost:40845/autoscaler/instances/autoscaler1/config
1 > Accept: application/json
1 > Content-Type: application/json

13:25:03.039 [qtp1575041060-60] INFO  [RequestLogFilter:filter:26] - POST https://localhost:40845/autoscaler/instances/autoscaler1/config by 127.0.0.1
Warning: Nashorn engine is planned to be removed from a future JDK release
Warning: Nashorn engine is planned to be removed from a future JDK release
13:25:03.077 [qtp1575041060-60] DEBUG [AutoScaler:ensureApplicableOrFail:274] - creating a copy autoscaler to validate config ...
13:25:03.101 [qtp1575041060-60] DEBUG [AutoScaler:ensureApplicableOrFail:276] - trying out configuration on copy autoscaler ...
Warning: Nashorn engine is planned to be removed from a future JDK release
13:25:03.132 [qtp1575041060-60] DEBUG [AutoScaler:ensureApplicableOrFail:278] - configuration successfully applied to copy autoscaler.
13:25:03.132 [qtp1575041060-60] INFO  [AutoScaler:applyConfig:226] - applying configuration ...
13:25:03.143 [qtp1575041060-60] DEBUG [StandardAlerter:apply:127] - applying configuration ...
13:25:03.145 [qtp1575041060-60] DEBUG [StandardPredictionSubsystem:configure:133] - applying configuration ...
13:25:03.146 [qtp1575041060-60] DEBUG [PredictorRegistry:addPredictor:204] - adding predictor: {"id":"p1","type":"com.elastisys.autoscaler.predictors.rulebased.RuleBasedPredictor","state":"STARTED","metricStream":"cpu.user.percent.stream","parameters":{"cooldownPeriod":{"time":180,"unit":"seconds"},"scalingRules":[{"condition":"ABOVE","threshold":"80","period":{"time":3,"unit":"minutes"},"resize":"1","unit":"INSTANCES"}]}}
Warning: Nashorn engine is planned to be removed from a future JDK release
13:25:03.159 [qtp1575041060-60] INFO  [AutoScalerFactory:save:425] - Saving instance state for auto-scaler autoscaler1
May 08, 2019 1:25:03 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Client response received on thread main
1 < 200
1 < Content-Length: 0
1 < Date: Wed, 08 May 2019 11:25:03 GMT
1 < Server: Jetty(9.4.12.v20180830)

May 08, 2019 1:25:03 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Sending client request on thread main
1 > POST https://localhost:40845/autoscaler/instances/autoscaler1/start
1 > Accept: application/json
1 > Content-Type: application/json

13:25:03.240 [qtp1575041060-56] INFO  [RequestLogFilter:filter:26] - POST https://localhost:40845/autoscaler/instances/autoscaler1/start by 127.0.0.1
13:25:03.241 [qtp1575041060-56] INFO  [AutoScaler:start:310] - starting autoscaler autoscaler1 ...
13:25:03.246 [qtp1575041060-56] INFO  [MetricStreamDriver:start:97] - MetricStreamDriver started.
13:25:03.247 [qtp1575041060-56] DEBUG [NoOpSystemHistorian:start:34] - NoOpSystemHistorian started.
13:25:03.254 [qtp1575041060-56] INFO  [MetricStreamMonitor:start:97] - MetricStreamMonitor started
13:25:03.255 [qtp1575041060-56] INFO  [StandardMonitoringSubsystem:start:269] - StandardMonitoringSubsystem started.
13:25:03.263 [qtp1575041060-56] DEBUG [MultiplexingAlerter:registerAlerters:124] - alerters set up with duplicate suppression: {"time":2,"unit":"hours"}
13:25:03.264 [qtp1575041060-56] DEBUG [MultiplexingAlerter:registerAlerters:129] - adding 0 SMTP alerter(s)
13:25:03.265 [qtp1575041060-56] DEBUG [MultiplexingAlerter:registerAlerters:136] - adding 0 HTTP alerter(s)
13:25:03.265 [qtp1575041060-56] INFO  [StandardAlerter:start:160] - StandardAlerter started.
13:25:03.270 [qtp1575041060-56] INFO  [StandardMetronome:start:108] - StandardMetronome started.
13:25:03.272 [qtp1575041060-56] DEBUG [PredictorRegistry:start:166] - starting predictor p1
13:25:03.275 [qtp1575041060-56] INFO  [AbstractPredictor:start:157] - RuleBasedPredictor started.
13:25:03.289 [qtp1575041060-56] INFO  [StandardPredictionSubsystem:start:157] - StandardPredictionSubsystem started.
13:25:03.289 [qtp1575041060-56] INFO  [AutoScalerFactory:save:425] - Saving instance state for auto-scaler autoscaler1
May 08, 2019 1:25:03 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Client response received on thread main
1 < 200
1 < Content-Length: 0
1 < Date: Wed, 08 May 2019 11:25:03 GMT
1 < Server: Jetty(9.4.12.v20180830)

May 08, 2019 1:25:03 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Sending client request on thread main
1 > GET https://localhost:40845/autoscaler/instances/autoscaler1/status

13:25:03.394 [qtp1575041060-56] INFO  [RequestLogFilter:filter:26] - GET https://localhost:40845/autoscaler/instances/autoscaler1/status by 127.0.0.1
May 08, 2019 1:25:03 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Client response received on thread main
1 < 200
1 < Content-Length: 64
1 < Content-Type: application/json
1 < Date: Wed, 08 May 2019 11:25:03 GMT
1 < Server: Jetty(9.4.12.v20180830)

May 08, 2019 1:25:03 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Sending client request on thread main
1 > POST https://localhost:40845/autoscaler/instances/autoscaler1/stop
1 > Accept: application/json
1 > Content-Type: application/json

13:25:03.457 [qtp1575041060-60] INFO  [RequestLogFilter:filter:26] - POST https://localhost:40845/autoscaler/instances/autoscaler1/stop by 127.0.0.1
13:25:03.458 [qtp1575041060-60] INFO  [AutoScaler:stop:327] - stopping autoscaler autoscaler1 ...
13:25:03.459 [qtp1575041060-60] DEBUG [PredictorRegistry:stop:182] - stopping predictor p1
13:25:03.459 [qtp1575041060-60] INFO  [AbstractPredictor:stop:168] - RuleBasedPredictor stopped.
13:25:03.459 [qtp1575041060-60] INFO  [StandardPredictionSubsystem:stop:168] - StandardPredictionSubsystem stopped.
13:25:03.460 [qtp1575041060-60] INFO  [StandardMetronome:stop:129] - StandardMetronome stopped.
13:25:03.461 [qtp1575041060-60] INFO  [StandardAlerter:stop:176] - StandardAlerter stopped.
13:25:03.461 [qtp1575041060-60] INFO  [MetricStreamMonitor:stop:112] - MetricStreamMonitor stopped
13:25:03.461 [qtp1575041060-60] DEBUG [NoOpSystemHistorian:stop:40] - NoOpSystemHistorian stopped.
13:25:03.462 [qtp1575041060-60] INFO  [MetricStreamDriver:stop:118] - MetricStreamDriver stopped.
13:25:03.463 [qtp1575041060-60] INFO  [StandardMonitoringSubsystem:stop:286] - StandardMonitoringSubsystem stopped.
13:25:03.464 [qtp1575041060-60] INFO  [AutoScalerFactory:save:425] - Saving instance state for auto-scaler autoscaler1
May 08, 2019 1:25:03 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Client response received on thread main
1 < 200
1 < Content-Length: 0
1 < Date: Wed, 08 May 2019 11:25:03 GMT
1 < Server: Jetty(9.4.12.v20180830)

May 08, 2019 1:25:03 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Sending client request on thread main
1 > GET https://localhost:40845/autoscaler/instances/autoscaler1/status

13:25:03.533 [qtp1575041060-60] INFO  [RequestLogFilter:filter:26] - GET https://localhost:40845/autoscaler/instances/autoscaler1/status by 127.0.0.1
May 08, 2019 1:25:03 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Client response received on thread main
1 < 200
1 < Content-Length: 64
1 < Content-Type: application/json
1 < Date: Wed, 08 May 2019 11:25:03 GMT
1 < Server: Jetty(9.4.12.v20180830)

13:25:03.538 [main] DEBUG [AbstractAutoScalerCoreRestTest:afterTestMethod:92] - Test method has run, cleaning up
13:25:03.538 [main] INFO  [AutoScalerFactory:deleteAutoScaler:401] - Deleting auto-scaler instance autoscaler1
13:25:03.538 [main] INFO  [AutoScaler:stop:327] - stopping autoscaler autoscaler1 ...
13:25:03.539 [main] DEBUG [AbstractAutoScalerCoreRestTest:beforeTestMethod:86] - Test method can now run
13:25:03.540 [main] DEBUG [AutoScalerFactory:buildAutoScaler:281] - Building auto-scaler with id Optional[autoscaler1] and uuid ecffdfaa-fa5d-48e0-9ca9-75334c2295f0 from:
blueprint: {
  "id": "autoscaler1",
  "monitoringSubsystem": "com.elastisys.autoscaler.core.monitoring.impl.standard.StandardMonitoringSubsystem",
  "alerter": "com.elastisys.autoscaler.core.alerter.impl.standard.StandardAlerter",
  "metronome": "com.elastisys.autoscaler.core.metronome.impl.standard.StandardMetronome",
  "predictionSubsystem": "com.elastisys.autoscaler.core.prediction.impl.standard.StandardPredictionSubsystem",
  "cloudPool": "com.elastisys.autoscaler.server.restapi.stubs.CloudPoolProxyStub"
}
add-ons: {}
May 08, 2019 1:25:03 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Sending client request on thread main
1 > GET https://localhost:40845/autoscaler/instances/autoscaler1/status

13:25:03.622 [qtp1575041060-56] INFO  [RequestLogFilter:filter:26] - GET https://localhost:40845/autoscaler/instances/autoscaler1/status by 127.0.0.1
May 08, 2019 1:25:03 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Client response received on thread main
1 < 200
1 < Content-Length: 64
1 < Content-Type: application/json
1 < Date: Wed, 08 May 2019 11:25:03 GMT
1 < Server: Jetty(9.4.12.v20180830)

May 08, 2019 1:25:03 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Sending client request on thread main
1 > POST https://localhost:40845/autoscaler/instances/autoscaler1/config
1 > Accept: application/json
1 > Content-Type: application/json

13:25:03.740 [qtp1575041060-59] INFO  [RequestLogFilter:filter:26] - POST https://localhost:40845/autoscaler/instances/autoscaler1/config by 127.0.0.1
Warning: Nashorn engine is planned to be removed from a future JDK release
Warning: Nashorn engine is planned to be removed from a future JDK release
13:25:03.778 [qtp1575041060-59] DEBUG [AutoScaler:ensureApplicableOrFail:274] - creating a copy autoscaler to validate config ...
13:25:03.796 [qtp1575041060-59] DEBUG [AutoScaler:ensureApplicableOrFail:276] - trying out configuration on copy autoscaler ...
Warning: Nashorn engine is planned to be removed from a future JDK release
13:25:03.826 [qtp1575041060-59] DEBUG [AutoScaler:ensureApplicableOrFail:278] - configuration successfully applied to copy autoscaler.
13:25:03.827 [qtp1575041060-59] INFO  [AutoScaler:applyConfig:226] - applying configuration ...
13:25:03.839 [qtp1575041060-59] DEBUG [StandardAlerter:apply:127] - applying configuration ...
13:25:03.840 [qtp1575041060-59] DEBUG [StandardPredictionSubsystem:configure:133] - applying configuration ...
13:25:03.841 [qtp1575041060-59] DEBUG [PredictorRegistry:addPredictor:204] - adding predictor: {"id":"p1","type":"com.elastisys.autoscaler.predictors.rulebased.RuleBasedPredictor","state":"STARTED","metricStream":"cpu.user.percent.stream","parameters":{"cooldownPeriod":{"time":180,"unit":"seconds"},"scalingRules":[{"condition":"ABOVE","threshold":"80","period":{"time":3,"unit":"minutes"},"resize":"1","unit":"INSTANCES"}]}}
Warning: Nashorn engine is planned to be removed from a future JDK release
13:25:03.851 [qtp1575041060-59] INFO  [AutoScalerFactory:save:425] - Saving instance state for auto-scaler autoscaler1
May 08, 2019 1:25:03 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Client response received on thread main
1 < 200
1 < Content-Length: 0
1 < Date: Wed, 08 May 2019 11:25:03 GMT
1 < Server: Jetty(9.4.12.v20180830)

May 08, 2019 1:25:03 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Sending client request on thread main
1 > GET https://localhost:40845/autoscaler/instances/autoscaler1/config

13:25:03.902 [qtp1575041060-56] INFO  [RequestLogFilter:filter:26] - GET https://localhost:40845/autoscaler/instances/autoscaler1/config by 127.0.0.1
May 08, 2019 1:25:03 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Client response received on thread main
1 < 200
1 < Content-Length: 2332
1 < Content-Type: application/json
1 < Date: Wed, 08 May 2019 11:25:03 GMT
1 < Server: Jetty(9.4.12.v20180830)

May 08, 2019 1:25:03 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Sending client request on thread main
1 > GET https://localhost:40845/autoscaler/instances/autoscaler1/status

13:25:03.974 [qtp1575041060-56] INFO  [RequestLogFilter:filter:26] - GET https://localhost:40845/autoscaler/instances/autoscaler1/status by 127.0.0.1
May 08, 2019 1:25:03 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Client response received on thread main
1 < 200
1 < Content-Length: 64
1 < Content-Type: application/json
1 < Date: Wed, 08 May 2019 11:25:03 GMT
1 < Server: Jetty(9.4.12.v20180830)

May 08, 2019 1:25:03 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Sending client request on thread main
1 > GET https://localhost:40845/autoscaler/instances/autoscaler1/status

13:25:04.032 [qtp1575041060-59] INFO  [RequestLogFilter:filter:26] - GET https://localhost:40845/autoscaler/instances/autoscaler1/status by 127.0.0.1
May 08, 2019 1:25:04 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Client response received on thread main
1 < 200
1 < Content-Length: 64
1 < Content-Type: application/json
1 < Date: Wed, 08 May 2019 11:25:04 GMT
1 < Server: Jetty(9.4.12.v20180830)

May 08, 2019 1:25:04 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Sending client request on thread main
1 > POST https://localhost:40845/autoscaler/instances/autoscaler1/start
1 > Accept: application/json
1 > Content-Type: application/json

13:25:04.086 [qtp1575041060-60] INFO  [RequestLogFilter:filter:26] - POST https://localhost:40845/autoscaler/instances/autoscaler1/start by 127.0.0.1
13:25:04.088 [qtp1575041060-60] INFO  [AutoScaler:start:310] - starting autoscaler autoscaler1 ...
13:25:04.090 [qtp1575041060-60] INFO  [MetricStreamDriver:start:97] - MetricStreamDriver started.
13:25:04.090 [qtp1575041060-60] DEBUG [NoOpSystemHistorian:start:34] - NoOpSystemHistorian started.
13:25:04.094 [qtp1575041060-60] INFO  [MetricStreamMonitor:start:97] - MetricStreamMonitor started
13:25:04.094 [qtp1575041060-60] INFO  [StandardMonitoringSubsystem:start:269] - StandardMonitoringSubsystem started.
13:25:04.095 [qtp1575041060-60] DEBUG [MultiplexingAlerter:registerAlerters:124] - alerters set up with duplicate suppression: {"time":2,"unit":"hours"}
13:25:04.096 [qtp1575041060-60] DEBUG [MultiplexingAlerter:registerAlerters:129] - adding 0 SMTP alerter(s)
13:25:04.096 [qtp1575041060-60] DEBUG [MultiplexingAlerter:registerAlerters:136] - adding 0 HTTP alerter(s)
13:25:04.097 [qtp1575041060-60] INFO  [StandardAlerter:start:160] - StandardAlerter started.
13:25:04.098 [qtp1575041060-60] INFO  [StandardMetronome:start:108] - StandardMetronome started.
13:25:04.100 [qtp1575041060-60] DEBUG [PredictorRegistry:start:166] - starting predictor p1
13:25:04.100 [qtp1575041060-60] INFO  [AbstractPredictor:start:157] - RuleBasedPredictor started.
13:25:04.101 [qtp1575041060-60] INFO  [StandardPredictionSubsystem:start:157] - StandardPredictionSubsystem started.
13:25:04.101 [qtp1575041060-60] INFO  [AutoScalerFactory:save:425] - Saving instance state for auto-scaler autoscaler1
May 08, 2019 1:25:04 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Client response received on thread main
1 < 200
1 < Content-Length: 0
1 < Date: Wed, 08 May 2019 11:25:04 GMT
1 < Server: Jetty(9.4.12.v20180830)

May 08, 2019 1:25:04 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Sending client request on thread main
1 > GET https://localhost:40845/autoscaler/instances/autoscaler1/status

13:25:04.156 [qtp1575041060-56] INFO  [RequestLogFilter:filter:26] - GET https://localhost:40845/autoscaler/instances/autoscaler1/status by 127.0.0.1
May 08, 2019 1:25:04 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Client response received on thread main
1 < 200
1 < Content-Length: 64
1 < Content-Type: application/json
1 < Date: Wed, 08 May 2019 11:25:04 GMT
1 < Server: Jetty(9.4.12.v20180830)

May 08, 2019 1:25:04 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Sending client request on thread main
1 > GET https://localhost:40845/autoscaler/instances/autoscaler1/status

13:25:04.208 [qtp1575041060-60] INFO  [RequestLogFilter:filter:26] - GET https://localhost:40845/autoscaler/instances/autoscaler1/status by 127.0.0.1
May 08, 2019 1:25:04 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Client response received on thread main
1 < 200
1 < Content-Length: 64
1 < Content-Type: application/json
1 < Date: Wed, 08 May 2019 11:25:04 GMT
1 < Server: Jetty(9.4.12.v20180830)

13:25:04.211 [main] DEBUG [AbstractAutoScalerCoreRestTest:afterTestMethod:92] - Test method has run, cleaning up
13:25:04.212 [main] INFO  [AutoScalerFactory:deleteAutoScaler:401] - Deleting auto-scaler instance autoscaler1
13:25:04.212 [main] INFO  [AutoScaler:stop:327] - stopping autoscaler autoscaler1 ...
13:25:04.212 [main] DEBUG [PredictorRegistry:stop:182] - stopping predictor p1
13:25:04.213 [main] INFO  [AbstractPredictor:stop:168] - RuleBasedPredictor stopped.
13:25:04.213 [main] INFO  [StandardPredictionSubsystem:stop:168] - StandardPredictionSubsystem stopped.
13:25:04.213 [main] INFO  [StandardMetronome:stop:129] - StandardMetronome stopped.
13:25:04.213 [main] INFO  [StandardAlerter:stop:176] - StandardAlerter stopped.
13:25:04.214 [main] INFO  [MetricStreamMonitor:stop:112] - MetricStreamMonitor stopped
13:25:04.214 [main] DEBUG [NoOpSystemHistorian:stop:40] - NoOpSystemHistorian stopped.
13:25:04.214 [main] INFO  [MetricStreamDriver:stop:118] - MetricStreamDriver stopped.
13:25:04.214 [main] INFO  [StandardMonitoringSubsystem:stop:286] - StandardMonitoringSubsystem stopped.
13:25:04.216 [main] DEBUG [AbstractAutoScalerCoreRestTest:beforeTestMethod:86] - Test method can now run
13:25:04.217 [main] DEBUG [AutoScalerFactory:buildAutoScaler:281] - Building auto-scaler with id Optional[autoscaler1] and uuid a47f2ca2-c084-40ce-b558-9fb8ef178fa2 from:
blueprint: {
  "id": "autoscaler1",
  "monitoringSubsystem": "com.elastisys.autoscaler.core.monitoring.impl.standard.StandardMonitoringSubsystem",
  "alerter": "com.elastisys.autoscaler.core.alerter.impl.standard.StandardAlerter",
  "metronome": "com.elastisys.autoscaler.core.metronome.impl.standard.StandardMetronome",
  "predictionSubsystem": "com.elastisys.autoscaler.core.prediction.impl.standard.StandardPredictionSubsystem",
  "cloudPool": "com.elastisys.autoscaler.server.restapi.stubs.CloudPoolProxyStub"
}
add-ons: {}
13:25:04.237 [main] DEBUG [AutoScalerFactory:buildAutoScaler:281] - Building auto-scaler with id Optional[autoscaler2] and uuid af936761-d1e1-4834-be21-d2bd6a955eb5 from:
blueprint: {
  "id": "autoscaler2",
  "monitoringSubsystem": "StandardMonitoringSubsystem",
  "alerter": "StandardAlerter",
  "metronome": "StandardMetronome",
  "predictionSubsystem": "StandardPredictionSubsystem",
  "cloudPool": "com.elastisys.autoscaler.server.restapi.stubs.CloudPoolProxyStub"
}
add-ons: {}
May 08, 2019 1:25:04 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Sending client request on thread main
1 > POST https://localhost:40845/autoscaler/instances/autoscaler1/config
1 > Accept: application/json
1 > Content-Type: application/json

13:25:04.304 [qtp1575041060-60] INFO  [RequestLogFilter:filter:26] - POST https://localhost:40845/autoscaler/instances/autoscaler1/config by 127.0.0.1
Warning: Nashorn engine is planned to be removed from a future JDK release
Warning: Nashorn engine is planned to be removed from a future JDK release
13:25:04.343 [qtp1575041060-60] DEBUG [AutoScaler:ensureApplicableOrFail:274] - creating a copy autoscaler to validate config ...
13:25:04.369 [qtp1575041060-60] DEBUG [AutoScaler:ensureApplicableOrFail:276] - trying out configuration on copy autoscaler ...
Warning: Nashorn engine is planned to be removed from a future JDK release
13:25:04.390 [qtp1575041060-60] DEBUG [AutoScaler:ensureApplicableOrFail:278] - configuration successfully applied to copy autoscaler.
13:25:04.390 [qtp1575041060-60] INFO  [AutoScaler:applyConfig:226] - applying configuration ...
13:25:04.400 [qtp1575041060-60] DEBUG [StandardAlerter:apply:127] - applying configuration ...
13:25:04.401 [qtp1575041060-60] DEBUG [StandardPredictionSubsystem:configure:133] - applying configuration ...
13:25:04.402 [qtp1575041060-60] DEBUG [PredictorRegistry:addPredictor:204] - adding predictor: {"id":"p1","type":"com.elastisys.autoscaler.predictors.rulebased.RuleBasedPredictor","state":"STARTED","metricStream":"cpu.user.percent.stream","parameters":{"cooldownPeriod":{"time":180,"unit":"seconds"},"scalingRules":[{"condition":"ABOVE","threshold":"80","period":{"time":3,"unit":"minutes"},"resize":"1","unit":"INSTANCES"}]}}
Warning: Nashorn engine is planned to be removed from a future JDK release
13:25:04.410 [qtp1575041060-60] INFO  [AutoScalerFactory:save:425] - Saving instance state for auto-scaler autoscaler1
May 08, 2019 1:25:04 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Client response received on thread main
1 < 200
1 < Content-Length: 0
1 < Date: Wed, 08 May 2019 11:25:04 GMT
1 < Server: Jetty(9.4.12.v20180830)

May 08, 2019 1:25:04 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Sending client request on thread main
1 > GET https://localhost:40845/autoscaler/instances/autoscaler1/config

13:25:04.457 [qtp1575041060-60] INFO  [RequestLogFilter:filter:26] - GET https://localhost:40845/autoscaler/instances/autoscaler1/config by 127.0.0.1
May 08, 2019 1:25:04 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Client response received on thread main
1 < 200
1 < Content-Length: 2332
1 < Content-Type: application/json
1 < Date: Wed, 08 May 2019 11:25:04 GMT
1 < Server: Jetty(9.4.12.v20180830)

May 08, 2019 1:25:04 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Sending client request on thread main
1 > GET https://localhost:40845/autoscaler/instances/autoscaler1/config

13:25:04.505 [qtp1575041060-60] INFO  [RequestLogFilter:filter:26] - GET https://localhost:40845/autoscaler/instances/autoscaler1/config by 127.0.0.1
May 08, 2019 1:25:04 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Client response received on thread main
1 < 200
1 < Content-Length: 2332
1 < Content-Type: application/json
1 < Date: Wed, 08 May 2019 11:25:04 GMT
1 < Server: Jetty(9.4.12.v20180830)

May 08, 2019 1:25:04 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Sending client request on thread main
1 > POST https://localhost:40845/autoscaler/instances/autoscaler2/config
1 > Accept: application/json
1 > Content-Type: application/json

13:25:04.551 [qtp1575041060-60] INFO  [RequestLogFilter:filter:26] - POST https://localhost:40845/autoscaler/instances/autoscaler2/config by 127.0.0.1
Warning: Nashorn engine is planned to be removed from a future JDK release
Warning: Nashorn engine is planned to be removed from a future JDK release
13:25:04.594 [qtp1575041060-60] DEBUG [AutoScaler:ensureApplicableOrFail:274] - creating a copy autoscaler to validate config ...
13:25:04.612 [qtp1575041060-60] DEBUG [AutoScaler:ensureApplicableOrFail:276] - trying out configuration on copy autoscaler ...
Warning: Nashorn engine is planned to be removed from a future JDK release
13:25:04.627 [qtp1575041060-60] DEBUG [AutoScaler:ensureApplicableOrFail:278] - configuration successfully applied to copy autoscaler.
13:25:04.628 [qtp1575041060-60] INFO  [AutoScaler:applyConfig:226] - applying configuration ...
13:25:04.639 [qtp1575041060-60] DEBUG [StandardAlerter:apply:127] - applying configuration ...
13:25:04.641 [qtp1575041060-60] DEBUG [StandardPredictionSubsystem:configure:133] - applying configuration ...
13:25:04.642 [qtp1575041060-60] DEBUG [PredictorRegistry:addPredictor:204] - adding predictor: {"id":"p1","type":"com.elastisys.autoscaler.predictors.rulebased.RuleBasedPredictor","state":"STARTED","metricStream":"cpu.user.percent.stream","parameters":{"cooldownPeriod":{"time":180,"unit":"seconds"},"scalingRules":[{"condition":"ABOVE","threshold":"80","period":{"time":3,"unit":"minutes"},"resize":"1","unit":"INSTANCES"}]}}
Warning: Nashorn engine is planned to be removed from a future JDK release
13:25:04.652 [qtp1575041060-60] INFO  [AutoScalerFactory:save:425] - Saving instance state for auto-scaler autoscaler2
May 08, 2019 1:25:04 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Client response received on thread main
1 < 200
1 < Content-Length: 0
1 < Date: Wed, 08 May 2019 11:25:04 GMT
1 < Server: Jetty(9.4.12.v20180830)

May 08, 2019 1:25:04 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Sending client request on thread main
1 > GET https://localhost:40845/autoscaler/instances/autoscaler2/config

13:25:04.688 [qtp1575041060-56] INFO  [RequestLogFilter:filter:26] - GET https://localhost:40845/autoscaler/instances/autoscaler2/config by 127.0.0.1
May 08, 2019 1:25:04 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Client response received on thread main
1 < 200
1 < Content-Length: 2330
1 < Content-Type: application/json
1 < Date: Wed, 08 May 2019 11:25:04 GMT
1 < Server: Jetty(9.4.12.v20180830)

May 08, 2019 1:25:04 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Sending client request on thread main
1 > GET https://localhost:40845/autoscaler/instances/autoscaler2/config

13:25:04.745 [qtp1575041060-56] INFO  [RequestLogFilter:filter:26] - GET https://localhost:40845/autoscaler/instances/autoscaler2/config by 127.0.0.1
May 08, 2019 1:25:04 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Client response received on thread main
1 < 200
1 < Content-Length: 2330
1 < Content-Type: application/json
1 < Date: Wed, 08 May 2019 11:25:04 GMT
1 < Server: Jetty(9.4.12.v20180830)

May 08, 2019 1:25:04 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Sending client request on thread main
1 > GET https://localhost:40845/autoscaler/instances/autoscaler1/config

13:25:04.792 [qtp1575041060-56] INFO  [RequestLogFilter:filter:26] - GET https://localhost:40845/autoscaler/instances/autoscaler1/config by 127.0.0.1
May 08, 2019 1:25:04 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Client response received on thread main
1 < 200
1 < Content-Length: 2332
1 < Content-Type: application/json
1 < Date: Wed, 08 May 2019 11:25:04 GMT
1 < Server: Jetty(9.4.12.v20180830)

13:25:04.798 [main] DEBUG [AbstractAutoScalerCoreRestTest:afterTestMethod:92] - Test method has run, cleaning up
13:25:04.798 [main] INFO  [AutoScalerFactory:deleteAutoScaler:401] - Deleting auto-scaler instance autoscaler2
13:25:04.799 [main] INFO  [AutoScaler:stop:327] - stopping autoscaler autoscaler2 ...
13:25:04.799 [main] INFO  [AutoScalerFactory:deleteAutoScaler:401] - Deleting auto-scaler instance autoscaler1
13:25:04.799 [main] INFO  [AutoScaler:stop:327] - stopping autoscaler autoscaler1 ...
13:25:04.800 [main] DEBUG [AbstractAutoScalerCoreRestTest:beforeTestMethod:86] - Test method can now run
13:25:04.801 [main] DEBUG [AutoScalerFactory:buildAutoScaler:281] - Building auto-scaler with id Optional[autoscaler1] and uuid ce1e62dd-4e6b-46b5-901e-c5440b224c03 from:
blueprint: {
  "id": "autoscaler1",
  "monitoringSubsystem": "com.elastisys.autoscaler.core.monitoring.impl.standard.StandardMonitoringSubsystem",
  "alerter": "com.elastisys.autoscaler.core.alerter.impl.standard.StandardAlerter",
  "metronome": "com.elastisys.autoscaler.core.metronome.impl.standard.StandardMetronome",
  "predictionSubsystem": "com.elastisys.autoscaler.core.prediction.impl.standard.StandardPredictionSubsystem",
  "cloudPool": "com.elastisys.autoscaler.server.restapi.stubs.CloudPoolProxyStub"
}
add-ons: {}
May 08, 2019 1:25:04 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Sending client request on thread main
1 > POST https://localhost:40845/autoscaler/instances/autoscaler1/config
1 > Accept: application/json
1 > Content-Type: application/json

13:25:04.857 [qtp1575041060-56] INFO  [RequestLogFilter:filter:26] - POST https://localhost:40845/autoscaler/instances/autoscaler1/config by 127.0.0.1
Warning: Nashorn engine is planned to be removed from a future JDK release
Warning: Nashorn engine is planned to be removed from a future JDK release
13:25:04.891 [qtp1575041060-56] DEBUG [AutoScaler:ensureApplicableOrFail:274] - creating a copy autoscaler to validate config ...
13:25:04.917 [qtp1575041060-56] DEBUG [AutoScaler:ensureApplicableOrFail:276] - trying out configuration on copy autoscaler ...
Warning: Nashorn engine is planned to be removed from a future JDK release
13:25:04.942 [qtp1575041060-56] DEBUG [AutoScaler:ensureApplicableOrFail:278] - configuration successfully applied to copy autoscaler.
13:25:04.943 [qtp1575041060-56] INFO  [AutoScaler:applyConfig:226] - applying configuration ...
13:25:04.961 [qtp1575041060-56] DEBUG [StandardAlerter:apply:127] - applying configuration ...
13:25:04.963 [qtp1575041060-56] DEBUG [StandardPredictionSubsystem:configure:133] - applying configuration ...
13:25:04.964 [qtp1575041060-56] DEBUG [PredictorRegistry:addPredictor:204] - adding predictor: {"id":"p1","type":"com.elastisys.autoscaler.predictors.rulebased.RuleBasedPredictor","state":"STARTED","metricStream":"cpu.user.percent.stream","parameters":{"cooldownPeriod":{"time":180,"unit":"seconds"},"scalingRules":[{"condition":"ABOVE","threshold":"80","period":{"time":3,"unit":"minutes"},"resize":"1","unit":"INSTANCES"}]}}
Warning: Nashorn engine is planned to be removed from a future JDK release
13:25:04.974 [qtp1575041060-56] INFO  [AutoScalerFactory:save:425] - Saving instance state for auto-scaler autoscaler1
May 08, 2019 1:25:04 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Client response received on thread main
1 < 200
1 < Content-Length: 0
1 < Date: Wed, 08 May 2019 11:25:04 GMT
1 < Server: Jetty(9.4.12.v20180830)

May 08, 2019 1:25:04 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Sending client request on thread main
1 > GET https://localhost:40845/autoscaler/instances/autoscaler1/config

13:25:05.017 [qtp1575041060-56] INFO  [RequestLogFilter:filter:26] - GET https://localhost:40845/autoscaler/instances/autoscaler1/config by 127.0.0.1
May 08, 2019 1:25:05 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Client response received on thread main
1 < 200
1 < Content-Length: 2332
1 < Content-Type: application/json
1 < Date: Wed, 08 May 2019 11:25:05 GMT
1 < Server: Jetty(9.4.12.v20180830)

May 08, 2019 1:25:05 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Sending client request on thread main
1 > POST https://localhost:40845/autoscaler/instances/autoscaler1/config
1 > Accept: application/json
1 > Content-Type: application/json

13:25:05.051 [qtp1575041060-59] INFO  [RequestLogFilter:filter:26] - POST https://localhost:40845/autoscaler/instances/autoscaler1/config by 127.0.0.1
13:25:05.054 [qtp1575041060-59] WARN  [AutoScalerFactoryRestApi:setSubsystemConfig:403] - failed to set config: monitoringSubsystem: missing metricStreamers
java.lang.IllegalArgumentException: monitoringSubsystem: missing metricStreamers
	at com.elastisys.autoscaler.core.monitoring.impl.standard.config.StandardMonitoringSubsystemConfig.validate(StandardMonitoringSubsystemConfig.java:145)
	at com.elastisys.autoscaler.core.monitoring.impl.standard.StandardMonitoringSubsystem.validate(StandardMonitoringSubsystem.java:86)
	at com.elastisys.autoscaler.core.monitoring.impl.standard.StandardMonitoringSubsystem.validate(StandardMonitoringSubsystem.java:49)
	at com.elastisys.autoscaler.core.autoscaler.AutoScaler.validate(AutoScaler.java:165)
	at com.elastisys.autoscaler.core.autoscaler.AutoScaler.validate(AutoScaler.java:77)
	at com.elastisys.autoscaler.server.restapi.AutoScalerFactoryRestApi.setSubsystemConfig(AutoScalerFactoryRestApi.java:399)
	at com.elastisys.autoscaler.server.restapi.AutoScalerFactoryRestApi.postInstanceConfig(AutoScalerFactoryRestApi.java:235)
	at jdk.internal.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81)
	at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
	at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
	at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:160)
	at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
	at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:389)
	at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:347)
	at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:102)
	at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:326)
	at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
	at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
	at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
	at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
	at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
	at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317)
	at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305)
	at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154)
	at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:473)
	at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:427)
	at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:388)
	at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:341)
	at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:228)
	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:865)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1655)
	at org.eclipse.jetty.servlets.CrossOriginFilter.handle(CrossOriginFilter.java:311)
	at org.eclipse.jetty.servlets.CrossOriginFilter.doFilter(CrossOriginFilter.java:265)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:513)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
	at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:61)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
	at org.eclipse.jetty.server.Server.handle(Server.java:503)
	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
	at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:411)
	at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:305)
	at org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:159)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
	at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
	at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.IllegalArgumentException: missing metricStreamers
	at com.elastisys.scale.commons.util.precond.Preconditions.checkArgument(Preconditions.java:26)
	at com.elastisys.autoscaler.core.monitoring.impl.standard.config.StandardMonitoringSubsystemConfig.validate(StandardMonitoringSubsystemConfig.java:137)
	... 70 common frames omitted
13:25:05.055 [qtp1575041060-59] INFO  [AutoScalerFactory:save:425] - Saving instance state for auto-scaler autoscaler1
May 08, 2019 1:25:05 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Client response received on thread main
1 < 400
1 < Content-Length: 7061
1 < Content-Type: application/json
1 < Date: Wed, 08 May 2019 11:25:05 GMT
1 < Server: Jetty(9.4.12.v20180830)

May 08, 2019 1:25:05 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Sending client request on thread main
1 > GET https://localhost:40845/autoscaler/instances/autoscaler1/config

13:25:05.109 [qtp1575041060-59] INFO  [RequestLogFilter:filter:26] - GET https://localhost:40845/autoscaler/instances/autoscaler1/config by 127.0.0.1
May 08, 2019 1:25:05 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Client response received on thread main
1 < 200
1 < Content-Length: 2332
1 < Content-Type: application/json
1 < Date: Wed, 08 May 2019 11:25:05 GMT
1 < Server: Jetty(9.4.12.v20180830)

13:25:05.114 [main] DEBUG [AbstractAutoScalerCoreRestTest:afterTestMethod:92] - Test method has run, cleaning up
13:25:05.115 [main] INFO  [AutoScalerFactory:deleteAutoScaler:401] - Deleting auto-scaler instance autoscaler1
13:25:05.115 [main] INFO  [AutoScaler:stop:327] - stopping autoscaler autoscaler1 ...
13:25:05.119 [main] DEBUG [AbstractAutoScalerCoreRestTest:beforeTestMethod:86] - Test method can now run
13:25:05.120 [main] DEBUG [AutoScalerFactory:buildAutoScaler:281] - Building auto-scaler with id Optional[autoscaler1] and uuid 16e53b28-6ad2-4bf4-aa7d-6b35a670f54b from:
blueprint: {
  "id": "autoscaler1",
  "monitoringSubsystem": "com.elastisys.autoscaler.core.monitoring.impl.standard.StandardMonitoringSubsystem",
  "alerter": "com.elastisys.autoscaler.core.alerter.impl.standard.StandardAlerter",
  "metronome": "com.elastisys.autoscaler.core.metronome.impl.standard.StandardMetronome",
  "predictionSubsystem": "com.elastisys.autoscaler.core.prediction.impl.standard.StandardPredictionSubsystem",
  "cloudPool": "com.elastisys.autoscaler.server.restapi.stubs.CloudPoolProxyStub"
}
add-ons: {}
May 08, 2019 1:25:05 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Sending client request on thread main
1 > GET https://localhost:40845/autoscaler/instances/autoscaler1/config

13:25:05.179 [qtp1575041060-56] INFO  [RequestLogFilter:filter:26] - GET https://localhost:40845/autoscaler/instances/autoscaler1/config by 127.0.0.1
13:25:05.182 [qtp1575041060-56] WARN  [AutoScalerFactoryRestApi:getSubsystemConfig:438] - failed to get config: no configuration set for subsystem 'com.elastisys.autoscaler.core.autoscaler.AutoScaler'
java.lang.NullPointerException: no configuration set for subsystem 'com.elastisys.autoscaler.core.autoscaler.AutoScaler'
	at java.base/java.util.Objects.requireNonNull(Objects.java:246)
	at com.elastisys.autoscaler.server.restapi.AutoScalerFactoryRestApi.getSubsystemConfig(AutoScalerFactoryRestApi.java:427)
	at com.elastisys.autoscaler.server.restapi.AutoScalerFactoryRestApi.getInstanceConfig(AutoScalerFactoryRestApi.java:260)
	at jdk.internal.reflect.GeneratedMethodAccessor10.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81)
	at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
	at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
	at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:160)
	at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
	at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:389)
	at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:347)
	at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:102)
	at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:326)
	at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
	at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
	at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
	at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
	at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
	at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317)
	at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305)
	at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154)
	at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:473)
	at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:427)
	at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:388)
	at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:341)
	at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:228)
	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:865)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1655)
	at org.eclipse.jetty.servlets.CrossOriginFilter.handle(CrossOriginFilter.java:311)
	at org.eclipse.jetty.servlets.CrossOriginFilter.doFilter(CrossOriginFilter.java:265)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:513)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
	at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:61)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
	at org.eclipse.jetty.server.Server.handle(Server.java:503)
	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
	at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:411)
	at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:305)
	at org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:159)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
	at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
	at java.base/java.lang.Thread.run(Thread.java:834)
May 08, 2019 1:25:05 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Client response received on thread main
1 < 404
1 < Content-Length: 6272
1 < Content-Type: application/json
1 < Date: Wed, 08 May 2019 11:25:05 GMT
1 < Server: Jetty(9.4.12.v20180830)

13:25:05.189 [main] DEBUG [AbstractAutoScalerCoreRestTest:afterTestMethod:92] - Test method has run, cleaning up
13:25:05.189 [main] INFO  [AutoScalerFactory:deleteAutoScaler:401] - Deleting auto-scaler instance autoscaler1
13:25:05.189 [main] INFO  [AutoScaler:stop:327] - stopping autoscaler autoscaler1 ...
13:25:05.190 [main] DEBUG [AbstractAutoScalerCoreRestTest:beforeTestMethod:86] - Test method can now run
13:25:05.191 [main] DEBUG [AutoScalerFactory:buildAutoScaler:281] - Building auto-scaler with id Optional[autoscaler1] and uuid 4179f44a-9349-4dcf-998a-511116e33c73 from:
blueprint: {
  "id": "autoscaler1",
  "monitoringSubsystem": "com.elastisys.autoscaler.core.monitoring.impl.standard.StandardMonitoringSubsystem",
  "alerter": "com.elastisys.autoscaler.core.alerter.impl.standard.StandardAlerter",
  "metronome": "com.elastisys.autoscaler.core.metronome.impl.standard.StandardMetronome",
  "predictionSubsystem": "com.elastisys.autoscaler.core.prediction.impl.standard.StandardPredictionSubsystem",
  "cloudPool": "com.elastisys.autoscaler.server.restapi.stubs.CloudPoolProxyStub"
}
add-ons: {}
May 08, 2019 1:25:05 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Sending client request on thread main
1 > GET https://localhost:40845/autoscaler/instances/autoscaler1/uuid

13:25:05.254 [qtp1575041060-56] INFO  [RequestLogFilter:filter:26] - GET https://localhost:40845/autoscaler/instances/autoscaler1/uuid by 127.0.0.1
May 08, 2019 1:25:05 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Client response received on thread main
1 < 200
1 < Content-Length: 36
1 < Content-Type: application/json
1 < Date: Wed, 08 May 2019 11:25:05 GMT
1 < Server: Jetty(9.4.12.v20180830)

13:25:05.258 [main] DEBUG [AbstractAutoScalerCoreRestTest:afterTestMethod:92] - Test method has run, cleaning up
13:25:05.258 [main] INFO  [AutoScalerFactory:deleteAutoScaler:401] - Deleting auto-scaler instance autoscaler1
13:25:05.259 [main] INFO  [AutoScaler:stop:327] - stopping autoscaler autoscaler1 ...
13:25:05.259 [main] DEBUG [AbstractAutoScalerCoreRestTest:beforeTestMethod:86] - Test method can now run
13:25:05.260 [main] DEBUG [AutoScalerFactory:buildAutoScaler:281] - Building auto-scaler with id Optional[autoscaler1] and uuid a6fa0c68-604d-4750-a894-0efb779839ab from:
blueprint: {
  "id": "autoscaler1",
  "monitoringSubsystem": "com.elastisys.autoscaler.core.monitoring.impl.standard.StandardMonitoringSubsystem",
  "alerter": "com.elastisys.autoscaler.core.alerter.impl.standard.StandardAlerter",
  "metronome": "com.elastisys.autoscaler.core.metronome.impl.standard.StandardMetronome",
  "predictionSubsystem": "com.elastisys.autoscaler.core.prediction.impl.standard.StandardPredictionSubsystem",
  "cloudPool": "com.elastisys.autoscaler.server.restapi.stubs.CloudPoolProxyStub"
}
add-ons: {}
May 08, 2019 1:25:05 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Sending client request on thread main
1 > POST https://localhost:40845/autoscaler/instances/autoscaler1/config
1 > Accept: application/json
1 > Content-Type: application/json

13:25:05.328 [qtp1575041060-59] INFO  [RequestLogFilter:filter:26] - POST https://localhost:40845/autoscaler/instances/autoscaler1/config by 127.0.0.1
Warning: Nashorn engine is planned to be removed from a future JDK release
Warning: Nashorn engine is planned to be removed from a future JDK release
13:25:05.358 [qtp1575041060-59] DEBUG [AutoScaler:ensureApplicableOrFail:274] - creating a copy autoscaler to validate config ...
13:25:05.380 [qtp1575041060-59] DEBUG [AutoScaler:ensureApplicableOrFail:276] - trying out configuration on copy autoscaler ...
Warning: Nashorn engine is planned to be removed from a future JDK release
13:25:05.405 [qtp1575041060-59] DEBUG [AutoScaler:ensureApplicableOrFail:278] - configuration successfully applied to copy autoscaler.
13:25:05.406 [qtp1575041060-59] INFO  [AutoScaler:applyConfig:226] - applying configuration ...
13:25:05.416 [qtp1575041060-59] DEBUG [StandardAlerter:apply:127] - applying configuration ...
13:25:05.418 [qtp1575041060-59] DEBUG [StandardPredictionSubsystem:configure:133] - applying configuration ...
13:25:05.418 [qtp1575041060-59] DEBUG [PredictorRegistry:addPredictor:204] - adding predictor: {"id":"p1","type":"com.elastisys.autoscaler.predictors.rulebased.RuleBasedPredictor","state":"STARTED","metricStream":"cpu.user.percent.stream","parameters":{"cooldownPeriod":{"time":180,"unit":"seconds"},"scalingRules":[{"condition":"ABOVE","threshold":"80","period":{"time":3,"unit":"minutes"},"resize":"1","unit":"INSTANCES"}]}}
Warning: Nashorn engine is planned to be removed from a future JDK release
13:25:05.428 [qtp1575041060-59] INFO  [AutoScalerFactory:save:425] - Saving instance state for auto-scaler autoscaler1
May 08, 2019 1:25:05 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Client response received on thread main
1 < 200
1 < Content-Length: 0
1 < Date: Wed, 08 May 2019 11:25:05 GMT
1 < Server: Jetty(9.4.12.v20180830)

May 08, 2019 1:25:05 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Sending client request on thread main
1 > POST https://localhost:40845/autoscaler/instances/autoscaler1/start
1 > Accept: application/json
1 > Content-Type: application/json

13:25:05.481 [qtp1575041060-59] INFO  [RequestLogFilter:filter:26] - POST https://localhost:40845/autoscaler/instances/autoscaler1/start by 127.0.0.1
13:25:05.482 [qtp1575041060-59] INFO  [AutoScaler:start:310] - starting autoscaler autoscaler1 ...
13:25:05.482 [qtp1575041060-59] INFO  [MetricStreamDriver:start:97] - MetricStreamDriver started.
13:25:05.483 [qtp1575041060-59] DEBUG [NoOpSystemHistorian:start:34] - NoOpSystemHistorian started.
13:25:05.483 [qtp1575041060-59] INFO  [MetricStreamMonitor:start:97] - MetricStreamMonitor started
13:25:05.484 [qtp1575041060-59] INFO  [StandardMonitoringSubsystem:start:269] - StandardMonitoringSubsystem started.
13:25:05.485 [qtp1575041060-59] DEBUG [MultiplexingAlerter:registerAlerters:124] - alerters set up with duplicate suppression: {"time":2,"unit":"hours"}
13:25:05.485 [qtp1575041060-59] DEBUG [MultiplexingAlerter:registerAlerters:129] - adding 0 SMTP alerter(s)
13:25:05.486 [qtp1575041060-59] DEBUG [MultiplexingAlerter:registerAlerters:136] - adding 0 HTTP alerter(s)
13:25:05.486 [qtp1575041060-59] INFO  [StandardAlerter:start:160] - StandardAlerter started.
13:25:05.488 [qtp1575041060-59] INFO  [StandardMetronome:start:108] - StandardMetronome started.
13:25:05.489 [qtp1575041060-59] DEBUG [PredictorRegistry:start:166] - starting predictor p1
13:25:05.489 [qtp1575041060-59] INFO  [AbstractPredictor:start:157] - RuleBasedPredictor started.
13:25:05.490 [qtp1575041060-59] INFO  [StandardPredictionSubsystem:start:157] - StandardPredictionSubsystem started.
13:25:05.490 [qtp1575041060-59] INFO  [AutoScalerFactory:save:425] - Saving instance state for auto-scaler autoscaler1
May 08, 2019 1:25:05 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Client response received on thread main
1 < 200
1 < Content-Length: 0
1 < Date: Wed, 08 May 2019 11:25:05 GMT
1 < Server: Jetty(9.4.12.v20180830)

May 08, 2019 1:25:05 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Sending client request on thread main
1 > GET https://localhost:40845/autoscaler/instances/autoscaler1/status

13:25:05.540 [qtp1575041060-59] INFO  [RequestLogFilter:filter:26] - GET https://localhost:40845/autoscaler/instances/autoscaler1/status by 127.0.0.1
May 08, 2019 1:25:05 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Client response received on thread main
1 < 200
1 < Content-Length: 64
1 < Content-Type: application/json
1 < Date: Wed, 08 May 2019 11:25:05 GMT
1 < Server: Jetty(9.4.12.v20180830)

May 08, 2019 1:25:05 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Sending client request on thread main
1 > POST https://localhost:40845/autoscaler/instances/autoscaler1/stop
1 > Accept: application/json
1 > Content-Type: application/json

13:25:05.582 [qtp1575041060-56] INFO  [RequestLogFilter:filter:26] - POST https://localhost:40845/autoscaler/instances/autoscaler1/stop by 127.0.0.1
13:25:05.582 [qtp1575041060-56] INFO  [AutoScaler:stop:327] - stopping autoscaler autoscaler1 ...
13:25:05.583 [qtp1575041060-56] DEBUG [PredictorRegistry:stop:182] - stopping predictor p1
13:25:05.583 [qtp1575041060-56] INFO  [AbstractPredictor:stop:168] - RuleBasedPredictor stopped.
13:25:05.584 [qtp1575041060-56] INFO  [StandardPredictionSubsystem:stop:168] - StandardPredictionSubsystem stopped.
13:25:05.584 [qtp1575041060-56] INFO  [StandardMetronome:stop:129] - StandardMetronome stopped.
13:25:05.585 [qtp1575041060-56] INFO  [StandardAlerter:stop:176] - StandardAlerter stopped.
13:25:05.585 [qtp1575041060-56] INFO  [MetricStreamMonitor:stop:112] - MetricStreamMonitor stopped
13:25:05.586 [qtp1575041060-56] DEBUG [NoOpSystemHistorian:stop:40] - NoOpSystemHistorian stopped.
13:25:05.586 [qtp1575041060-56] INFO  [MetricStreamDriver:stop:118] - MetricStreamDriver stopped.
13:25:05.586 [qtp1575041060-56] INFO  [StandardMonitoringSubsystem:stop:286] - StandardMonitoringSubsystem stopped.
13:25:05.590 [qtp1575041060-56] INFO  [AutoScalerFactory:save:425] - Saving instance state for auto-scaler autoscaler1
May 08, 2019 1:25:05 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Client response received on thread main
1 < 200
1 < Content-Length: 0
1 < Date: Wed, 08 May 2019 11:25:05 GMT
1 < Server: Jetty(9.4.12.v20180830)

May 08, 2019 1:25:05 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Sending client request on thread main
1 > GET https://localhost:40845/autoscaler/instances/autoscaler1/status

13:25:05.633 [qtp1575041060-56] INFO  [RequestLogFilter:filter:26] - GET https://localhost:40845/autoscaler/instances/autoscaler1/status by 127.0.0.1
May 08, 2019 1:25:05 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Client response received on thread main
1 < 200
1 < Content-Length: 64
1 < Content-Type: application/json
1 < Date: Wed, 08 May 2019 11:25:05 GMT
1 < Server: Jetty(9.4.12.v20180830)

May 08, 2019 1:25:05 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Sending client request on thread main
1 > POST https://localhost:40845/autoscaler/instances/autoscaler1/start
1 > Accept: application/json
1 > Content-Type: application/json

13:25:05.693 [qtp1575041060-56] INFO  [RequestLogFilter:filter:26] - POST https://localhost:40845/autoscaler/instances/autoscaler1/start by 127.0.0.1
13:25:05.695 [qtp1575041060-56] INFO  [AutoScaler:start:310] - starting autoscaler autoscaler1 ...
13:25:05.696 [qtp1575041060-56] INFO  [MetricStreamDriver:start:97] - MetricStreamDriver started.
13:25:05.697 [qtp1575041060-56] DEBUG [NoOpSystemHistorian:start:34] - NoOpSystemHistorian started.
13:25:05.697 [qtp1575041060-56] INFO  [MetricStreamMonitor:start:97] - MetricStreamMonitor started
13:25:05.698 [qtp1575041060-56] INFO  [StandardMonitoringSubsystem:start:269] - StandardMonitoringSubsystem started.
13:25:05.699 [qtp1575041060-56] DEBUG [MultiplexingAlerter:registerAlerters:124] - alerters set up with duplicate suppression: {"time":2,"unit":"hours"}
13:25:05.700 [qtp1575041060-56] DEBUG [MultiplexingAlerter:registerAlerters:129] - adding 0 SMTP alerter(s)
13:25:05.700 [qtp1575041060-56] DEBUG [MultiplexingAlerter:registerAlerters:136] - adding 0 HTTP alerter(s)
13:25:05.700 [qtp1575041060-56] INFO  [StandardAlerter:start:160] - StandardAlerter started.
13:25:05.702 [qtp1575041060-56] INFO  [StandardMetronome:start:108] - StandardMetronome started.
13:25:05.702 [qtp1575041060-56] DEBUG [PredictorRegistry:start:166] - starting predictor p1
13:25:05.703 [qtp1575041060-56] INFO  [AbstractPredictor:start:157] - RuleBasedPredictor started.
13:25:05.703 [qtp1575041060-56] INFO  [StandardPredictionSubsystem:start:157] - StandardPredictionSubsystem started.
13:25:05.704 [qtp1575041060-56] INFO  [AutoScalerFactory:save:425] - Saving instance state for auto-scaler autoscaler1
May 08, 2019 1:25:05 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Client response received on thread main
1 < 200
1 < Content-Length: 0
1 < Date: Wed, 08 May 2019 11:25:05 GMT
1 < Server: Jetty(9.4.12.v20180830)

May 08, 2019 1:25:05 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Sending client request on thread main
1 > GET https://localhost:40845/autoscaler/instances/autoscaler1/status

13:25:05.748 [qtp1575041060-56] INFO  [RequestLogFilter:filter:26] - GET https://localhost:40845/autoscaler/instances/autoscaler1/status by 127.0.0.1
May 08, 2019 1:25:05 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Client response received on thread main
1 < 200
1 < Content-Length: 64
1 < Content-Type: application/json
1 < Date: Wed, 08 May 2019 11:25:05 GMT
1 < Server: Jetty(9.4.12.v20180830)

13:25:05.753 [main] DEBUG [AbstractAutoScalerCoreRestTest:afterTestMethod:92] - Test method has run, cleaning up
13:25:05.754 [main] INFO  [AutoScalerFactory:deleteAutoScaler:401] - Deleting auto-scaler instance autoscaler1
13:25:05.754 [main] INFO  [AutoScaler:stop:327] - stopping autoscaler autoscaler1 ...
13:25:05.754 [main] DEBUG [PredictorRegistry:stop:182] - stopping predictor p1
13:25:05.754 [main] INFO  [AbstractPredictor:stop:168] - RuleBasedPredictor stopped.
13:25:05.754 [main] INFO  [StandardPredictionSubsystem:stop:168] - StandardPredictionSubsystem stopped.
13:25:05.755 [main] INFO  [StandardMetronome:stop:129] - StandardMetronome stopped.
13:25:05.755 [main] INFO  [StandardAlerter:stop:176] - StandardAlerter stopped.
13:25:05.755 [main] INFO  [MetricStreamMonitor:stop:112] - MetricStreamMonitor stopped
13:25:05.756 [main] DEBUG [NoOpSystemHistorian:stop:40] - NoOpSystemHistorian stopped.
13:25:05.756 [main] INFO  [MetricStreamDriver:stop:118] - MetricStreamDriver stopped.
13:25:05.756 [main] INFO  [StandardMonitoringSubsystem:stop:286] - StandardMonitoringSubsystem stopped.
13:25:05.758 [main] DEBUG [AbstractAutoScalerCoreRestTest:beforeTestMethod:86] - Test method can now run
13:25:05.759 [main] DEBUG [AutoScalerFactory:buildAutoScaler:281] - Building auto-scaler with id Optional[autoscaler1] and uuid 9e8752dd-55d6-4e1a-9122-4109663a73b1 from:
blueprint: {
  "id": "autoscaler1",
  "monitoringSubsystem": "com.elastisys.autoscaler.core.monitoring.impl.standard.StandardMonitoringSubsystem",
  "alerter": "com.elastisys.autoscaler.core.alerter.impl.standard.StandardAlerter",
  "metronome": "com.elastisys.autoscaler.core.metronome.impl.standard.StandardMetronome",
  "predictionSubsystem": "com.elastisys.autoscaler.core.prediction.impl.standard.StandardPredictionSubsystem",
  "cloudPool": "com.elastisys.autoscaler.server.restapi.stubs.CloudPoolProxyStub"
}
add-ons: {}
May 08, 2019 1:25:05 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Sending client request on thread main
1 > POST https://localhost:40845/autoscaler/instances/autoscaler1/config
1 > Accept: application/json
1 > Content-Type: application/json

13:25:05.815 [qtp1575041060-56] INFO  [RequestLogFilter:filter:26] - POST https://localhost:40845/autoscaler/instances/autoscaler1/config by 127.0.0.1
13:25:05.820 [qtp1575041060-56] WARN  [AutoScalerFactoryRestApi:setSubsystemConfig:403] - failed to set config: monitoringSubsystem: metricStreamer 0: could not apply config: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at path $.metricStreams[0].tags.
java.lang.IllegalArgumentException: monitoringSubsystem: metricStreamer 0: could not apply config: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at path $.metricStreams[0].tags.
	at com.elastisys.autoscaler.core.monitoring.impl.standard.StandardMonitoringSubsystem.createAndConfigureMetricStreamers(StandardMonitoringSubsystem.java:136)
	at com.elastisys.autoscaler.core.monitoring.impl.standard.StandardMonitoringSubsystem.ensureConfigurationCanBeRealized(StandardMonitoringSubsystem.java:105)
	at com.elastisys.autoscaler.core.monitoring.impl.standard.StandardMonitoringSubsystem.validate(StandardMonitoringSubsystem.java:90)
	at com.elastisys.autoscaler.core.monitoring.impl.standard.StandardMonitoringSubsystem.validate(StandardMonitoringSubsystem.java:49)
	at com.elastisys.autoscaler.core.autoscaler.AutoScaler.validate(AutoScaler.java:165)
	at com.elastisys.autoscaler.core.autoscaler.AutoScaler.validate(AutoScaler.java:77)
	at com.elastisys.autoscaler.server.restapi.AutoScalerFactoryRestApi.setSubsystemConfig(AutoScalerFactoryRestApi.java:399)
	at com.elastisys.autoscaler.server.restapi.AutoScalerFactoryRestApi.postInstanceConfig(AutoScalerFactoryRestApi.java:235)
	at jdk.internal.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81)
	at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
	at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
	at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:160)
	at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
	at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:389)
	at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:347)
	at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:102)
	at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:326)
	at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
	at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
	at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
	at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
	at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
	at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317)
	at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305)
	at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154)
	at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:473)
	at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:427)
	at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:388)
	at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:341)
	at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:228)
	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:865)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1655)
	at org.eclipse.jetty.servlets.CrossOriginFilter.handle(CrossOriginFilter.java:311)
	at org.eclipse.jetty.servlets.CrossOriginFilter.doFilter(CrossOriginFilter.java:265)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:513)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
	at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:61)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
	at org.eclipse.jetty.server.Server.handle(Server.java:503)
	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
	at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:411)
	at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:305)
	at org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:159)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
	at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
	at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at path $.metricStreams[0].tags.
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:224)
	at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:41)
	at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:82)
	at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:61)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:129)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:220)
	at com.google.gson.Gson.fromJson(Gson.java:887)
	at com.google.gson.Gson.fromJson(Gson.java:952)
	at com.google.gson.Gson.fromJson(Gson.java:925)
	at com.elastisys.scale.commons.json.JsonUtils.toObject(JsonUtils.java:188)
	at com.elastisys.autoscaler.core.monitoring.impl.standard.StandardMonitoringSubsystem.unmarshal(StandardMonitoringSubsystem.java:212)
	at com.elastisys.autoscaler.core.monitoring.impl.standard.StandardMonitoringSubsystem.createAndConfigureMetricStreamers(StandardMonitoringSubsystem.java:132)
	... 71 common frames omitted
Caused by: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at path $.metricStreams[0].tags.
	at com.google.gson.internal.bind.JsonTreeReader.expect(JsonTreeReader.java:162)
	at com.google.gson.internal.bind.JsonTreeReader.beginArray(JsonTreeReader.java:71)
	at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:80)
	at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:61)
	at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:41)
	at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(MapTypeAdapterFactory.java:187)
	at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(MapTypeAdapterFactory.java:145)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:129)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:220)
	... 82 common frames omitted
13:25:05.821 [qtp1575041060-56] INFO  [AutoScalerFactory:save:425] - Saving instance state for auto-scaler autoscaler1
May 08, 2019 1:25:05 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Client response received on thread main
1 < 400
1 < Content-Type: application/json
1 < Date: Wed, 08 May 2019 11:25:05 GMT
1 < Server: Jetty(9.4.12.v20180830)
1 < Transfer-Encoding: chunked

13:25:05.825 [main] DEBUG [AbstractAutoScalerCoreRestTest:afterTestMethod:92] - Test method has run, cleaning up
13:25:05.825 [main] INFO  [AutoScalerFactory:deleteAutoScaler:401] - Deleting auto-scaler instance autoscaler1
13:25:05.826 [main] INFO  [AutoScaler:stop:327] - stopping autoscaler autoscaler1 ...
13:25:05.826 [main] DEBUG [AbstractAutoScalerCoreRestTest:beforeTestMethod:86] - Test method can now run
13:25:05.827 [main] DEBUG [AutoScalerFactory:buildAutoScaler:281] - Building auto-scaler with id Optional[autoscaler1] and uuid c88986ef-79c8-4b5c-9960-9f4f14419dee from:
blueprint: {
  "id": "autoscaler1",
  "monitoringSubsystem": "com.elastisys.autoscaler.core.monitoring.impl.standard.StandardMonitoringSubsystem",
  "alerter": "com.elastisys.autoscaler.core.alerter.impl.standard.StandardAlerter",
  "metronome": "com.elastisys.autoscaler.core.metronome.impl.standard.StandardMetronome",
  "predictionSubsystem": "com.elastisys.autoscaler.core.prediction.impl.standard.StandardPredictionSubsystem",
  "cloudPool": "com.elastisys.autoscaler.server.restapi.stubs.CloudPoolProxyStub"
}
add-ons: {}
May 08, 2019 1:25:05 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Sending client request on thread main
1 > POST https://localhost:40845/autoscaler/instances/autoscaler1/config
1 > Accept: application/json
1 > Content-Type: application/json

13:25:05.877 [qtp1575041060-59] INFO  [RequestLogFilter:filter:26] - POST https://localhost:40845/autoscaler/instances/autoscaler1/config by 127.0.0.1
13:25:05.879 [qtp1575041060-59] WARN  [AutoScalerFactoryRestApi:setSubsystemConfig:403] - failed to set config: monitoringSubsystem: configuration cannot be null
java.lang.IllegalArgumentException: monitoringSubsystem: configuration cannot be null
	at com.elastisys.scale.commons.util.precond.Preconditions.checkArgument(Preconditions.java:26)
	at com.elastisys.autoscaler.core.monitoring.impl.standard.StandardMonitoringSubsystem.validate(StandardMonitoringSubsystem.java:85)
	at com.elastisys.autoscaler.core.monitoring.impl.standard.StandardMonitoringSubsystem.validate(StandardMonitoringSubsystem.java:49)
	at com.elastisys.autoscaler.core.autoscaler.AutoScaler.validate(AutoScaler.java:165)
	at com.elastisys.autoscaler.core.autoscaler.AutoScaler.validate(AutoScaler.java:77)
	at com.elastisys.autoscaler.server.restapi.AutoScalerFactoryRestApi.setSubsystemConfig(AutoScalerFactoryRestApi.java:399)
	at com.elastisys.autoscaler.server.restapi.AutoScalerFactoryRestApi.postInstanceConfig(AutoScalerFactoryRestApi.java:235)
	at jdk.internal.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81)
	at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
	at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
	at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:160)
	at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
	at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:389)
	at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:347)
	at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:102)
	at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:326)
	at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
	at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
	at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
	at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
	at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
	at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317)
	at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305)
	at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154)
	at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:473)
	at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:427)
	at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:388)
	at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:341)
	at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:228)
	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:865)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1655)
	at org.eclipse.jetty.servlets.CrossOriginFilter.handle(CrossOriginFilter.java:311)
	at org.eclipse.jetty.servlets.CrossOriginFilter.doFilter(CrossOriginFilter.java:265)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:513)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
	at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:61)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
	at org.eclipse.jetty.server.Server.handle(Server.java:503)
	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
	at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:411)
	at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:305)
	at org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:159)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
	at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
	at java.base/java.lang.Thread.run(Thread.java:834)
13:25:05.880 [qtp1575041060-59] INFO  [AutoScalerFactory:save:425] - Saving instance state for auto-scaler autoscaler1
May 08, 2019 1:25:05 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Client response received on thread main
1 < 400
1 < Content-Length: 6674
1 < Content-Type: application/json
1 < Date: Wed, 08 May 2019 11:25:05 GMT
1 < Server: Jetty(9.4.12.v20180830)

13:25:05.884 [main] DEBUG [AbstractAutoScalerCoreRestTest:afterTestMethod:92] - Test method has run, cleaning up
13:25:05.884 [main] INFO  [AutoScalerFactory:deleteAutoScaler:401] - Deleting auto-scaler instance autoscaler1
13:25:05.884 [main] INFO  [AutoScaler:stop:327] - stopping autoscaler autoscaler1 ...
13:25:05.885 [main] DEBUG [AbstractAutoScalerCoreRestTest:beforeTestMethod:86] - Test method can now run
13:25:05.886 [main] DEBUG [AutoScalerFactory:buildAutoScaler:281] - Building auto-scaler with id Optional[autoscaler1] and uuid 4dd517b8-ff1f-4666-93c9-c3e1c9f27065 from:
blueprint: {
  "id": "autoscaler1",
  "monitoringSubsystem": "com.elastisys.autoscaler.core.monitoring.impl.standard.StandardMonitoringSubsystem",
  "alerter": "com.elastisys.autoscaler.core.alerter.impl.standard.StandardAlerter",
  "metronome": "com.elastisys.autoscaler.core.metronome.impl.standard.StandardMetronome",
  "predictionSubsystem": "com.elastisys.autoscaler.core.prediction.impl.standard.StandardPredictionSubsystem",
  "cloudPool": "com.elastisys.autoscaler.server.restapi.stubs.CloudPoolProxyStub"
}
add-ons: {}
May 08, 2019 1:25:05 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Sending client request on thread main
1 > POST https://localhost:40845/autoscaler/instances/autoscaler1/start
1 > Accept: application/json
1 > Content-Type: application/json

13:25:05.957 [qtp1575041060-59] INFO  [RequestLogFilter:filter:26] - POST https://localhost:40845/autoscaler/instances/autoscaler1/start by 127.0.0.1
13:25:05.958 [qtp1575041060-59] WARN  [AutoScalerFactoryRestApi:startSubsystem:492] - failed to start: cannot start auto scaler before being configured
java.lang.IllegalStateException: cannot start auto scaler before being configured
	at com.elastisys.scale.commons.util.precond.Preconditions.checkState(Preconditions.java:51)
	at com.elastisys.autoscaler.core.autoscaler.AutoScaler.start(AutoScaler.java:309)
	at com.elastisys.autoscaler.server.restapi.AutoScalerFactoryRestApi.startSubsystem(AutoScalerFactoryRestApi.java:488)
	at com.elastisys.autoscaler.server.restapi.AutoScalerFactoryRestApi.startInstance(AutoScalerFactoryRestApi.java:287)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81)
	at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
	at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
	at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:160)
	at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
	at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:389)
	at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:347)
	at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:102)
	at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:326)
	at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
	at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
	at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
	at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
	at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
	at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317)
	at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305)
	at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154)
	at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:473)
	at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:427)
	at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:388)
	at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:341)
	at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:228)
	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:865)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1655)
	at org.eclipse.jetty.servlets.CrossOriginFilter.handle(CrossOriginFilter.java:311)
	at org.eclipse.jetty.servlets.CrossOriginFilter.doFilter(CrossOriginFilter.java:265)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:513)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
	at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:61)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
	at org.eclipse.jetty.server.Server.handle(Server.java:503)
	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
	at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:411)
	at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:305)
	at org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:159)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
	at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
	at java.base/java.lang.Thread.run(Thread.java:834)
13:25:05.959 [qtp1575041060-59] INFO  [AutoScalerFactory:save:425] - Saving instance state for auto-scaler autoscaler1
May 08, 2019 1:25:05 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Client response received on thread main
1 < 400
1 < Content-Length: 6405
1 < Content-Type: application/json
1 < Date: Wed, 08 May 2019 11:25:05 GMT
1 < Server: Jetty(9.4.12.v20180830)

13:25:05.964 [main] DEBUG [AbstractAutoScalerCoreRestTest:afterTestMethod:92] - Test method has run, cleaning up
13:25:05.964 [main] INFO  [AutoScalerFactory:deleteAutoScaler:401] - Deleting auto-scaler instance autoscaler1
13:25:05.965 [main] INFO  [AutoScaler:stop:327] - stopping autoscaler autoscaler1 ...
13:25:05.965 [main] DEBUG [AbstractAutoScalerCoreRestTest:beforeTestMethod:86] - Test method can now run
13:25:05.966 [main] DEBUG [AutoScalerFactory:buildAutoScaler:281] - Building auto-scaler with id Optional[autoscaler1] and uuid 0b9ad451-a929-4c07-936a-c75aaf496d43 from:
blueprint: {
  "id": "autoscaler1",
  "monitoringSubsystem": "com.elastisys.autoscaler.core.monitoring.impl.standard.StandardMonitoringSubsystem",
  "alerter": "com.elastisys.autoscaler.core.alerter.impl.standard.StandardAlerter",
  "metronome": "com.elastisys.autoscaler.core.metronome.impl.standard.StandardMetronome",
  "predictionSubsystem": "com.elastisys.autoscaler.core.prediction.impl.standard.StandardPredictionSubsystem",
  "cloudPool": "com.elastisys.autoscaler.server.restapi.stubs.CloudPoolProxyStub"
}
add-ons: {}
May 08, 2019 1:25:05 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Sending client request on thread main
1 > POST https://localhost:40845/autoscaler/instances/autoscaler1/config
1 > Accept: application/json
1 > Content-Type: application/json

13:25:06.017 [qtp1575041060-59] INFO  [RequestLogFilter:filter:26] - POST https://localhost:40845/autoscaler/instances/autoscaler1/config by 127.0.0.1
Warning: Nashorn engine is planned to be removed from a future JDK release
Warning: Nashorn engine is planned to be removed from a future JDK release
13:25:06.053 [qtp1575041060-59] DEBUG [AutoScaler:ensureApplicableOrFail:274] - creating a copy autoscaler to validate config ...
13:25:06.088 [qtp1575041060-59] DEBUG [AutoScaler:ensureApplicableOrFail:276] - trying out configuration on copy autoscaler ...
Warning: Nashorn engine is planned to be removed from a future JDK release
13:25:06.108 [qtp1575041060-59] DEBUG [AutoScaler:ensureApplicableOrFail:278] - configuration successfully applied to copy autoscaler.
13:25:06.109 [qtp1575041060-59] INFO  [AutoScaler:applyConfig:226] - applying configuration ...
13:25:06.116 [qtp1575041060-59] DEBUG [StandardAlerter:apply:127] - applying configuration ...
13:25:06.117 [qtp1575041060-59] DEBUG [StandardPredictionSubsystem:configure:133] - applying configuration ...
13:25:06.118 [qtp1575041060-59] DEBUG [PredictorRegistry:addPredictor:204] - adding predictor: {"id":"p1","type":"com.elastisys.autoscaler.predictors.rulebased.RuleBasedPredictor","state":"STARTED","metricStream":"cpu.user.percent.stream","parameters":{"cooldownPeriod":{"time":180,"unit":"seconds"},"scalingRules":[{"condition":"ABOVE","threshold":"80","period":{"time":3,"unit":"minutes"},"resize":"1","unit":"INSTANCES"}]}}
Warning: Nashorn engine is planned to be removed from a future JDK release
13:25:06.125 [qtp1575041060-59] INFO  [AutoScalerFactory:save:425] - Saving instance state for auto-scaler autoscaler1
May 08, 2019 1:25:06 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Client response received on thread main
1 < 200
1 < Content-Length: 0
1 < Date: Wed, 08 May 2019 11:25:06 GMT
1 < Server: Jetty(9.4.12.v20180830)

May 08, 2019 1:25:06 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Sending client request on thread main
1 > GET https://localhost:40845/autoscaler/instances/autoscaler1/config

13:25:06.165 [qtp1575041060-59] INFO  [RequestLogFilter:filter:26] - GET https://localhost:40845/autoscaler/instances/autoscaler1/config by 127.0.0.1
May 08, 2019 1:25:06 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Client response received on thread main
1 < 200
1 < Content-Length: 2332
1 < Content-Type: application/json
1 < Date: Wed, 08 May 2019 11:25:06 GMT
1 < Server: Jetty(9.4.12.v20180830)

May 08, 2019 1:25:06 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Sending client request on thread main
1 > POST https://localhost:40845/autoscaler/instances/autoscaler1/config
1 > Accept: application/json
1 > Content-Type: application/json

13:25:06.240 [qtp1575041060-59] INFO  [RequestLogFilter:filter:26] - POST https://localhost:40845/autoscaler/instances/autoscaler1/config by 127.0.0.1
Warning: Nashorn engine is planned to be removed from a future JDK release
Warning: Nashorn engine is planned to be removed from a future JDK release
13:25:06.273 [qtp1575041060-59] DEBUG [AutoScaler:ensureApplicableOrFail:274] - creating a copy autoscaler to validate config ...
13:25:06.292 [qtp1575041060-59] DEBUG [AutoScaler:ensureApplicableOrFail:276] - trying out configuration on copy autoscaler ...
Warning: Nashorn engine is planned to be removed from a future JDK release
13:25:06.328 [qtp1575041060-59] DEBUG [AutoScaler:ensureApplicableOrFail:278] - configuration successfully applied to copy autoscaler.
13:25:06.330 [qtp1575041060-59] INFO  [AutoScaler:applyConfig:226] - applying configuration ...
13:25:06.345 [qtp1575041060-59] DEBUG [StandardAlerter:apply:127] - applying configuration ...
13:25:06.347 [qtp1575041060-59] DEBUG [StandardPredictionSubsystem:configure:133] - applying configuration ...
13:25:06.348 [qtp1575041060-59] INFO  [PredictorRegistry:apply:139] - Ignoring received configuration, since it is equal to the existing one.
Warning: Nashorn engine is planned to be removed from a future JDK release
13:25:06.356 [qtp1575041060-59] INFO  [AutoScalerFactory:save:425] - Saving instance state for auto-scaler autoscaler1
May 08, 2019 1:25:06 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Client response received on thread main
1 < 200
1 < Content-Length: 0
1 < Date: Wed, 08 May 2019 11:25:06 GMT
1 < Server: Jetty(9.4.12.v20180830)

May 08, 2019 1:25:06 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Sending client request on thread main
1 > GET https://localhost:40845/autoscaler/instances/autoscaler1/config

13:25:06.455 [qtp1575041060-59] INFO  [RequestLogFilter:filter:26] - GET https://localhost:40845/autoscaler/instances/autoscaler1/config by 127.0.0.1
May 08, 2019 1:25:06 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Client response received on thread main
1 < 200
1 < Content-Length: 2330
1 < Content-Type: application/json
1 < Date: Wed, 08 May 2019 11:25:06 GMT
1 < Server: Jetty(9.4.12.v20180830)

13:25:06.460 [main] DEBUG [AbstractAutoScalerCoreRestTest:afterTestMethod:92] - Test method has run, cleaning up
13:25:06.461 [main] INFO  [AutoScalerFactory:deleteAutoScaler:401] - Deleting auto-scaler instance autoscaler1
13:25:06.461 [main] INFO  [AutoScaler:stop:327] - stopping autoscaler autoscaler1 ...
13:25:06.475 [main] INFO  [AbstractConnector:doStop:341] - Stopped ServerConnector@79363388{SSL,[ssl, http/1.1]}{0.0.0.0:40845}
13:25:06.476 [main] INFO  [HouseKeeper:stopScavenging:167] - node0 Stopped scavenging
13:25:06.477 [main] INFO  [ContextHandler:doStop:1040] - Stopped o.e.j.s.ServletContextHandler@227d25d6{/,null,UNAVAILABLE}
