Closed harmw closed 6 years ago
can you provide the steps to reproduce this? tnx!
Yes, though it's not that easy/clear.
Some logging:
[36m20:21:16.717[0;39m [1;31m| ERROR | akka.dispatch.Dispatcher | akka.dispatch.Dispatcher | io.vamp.model.artifact.BreedReference cannot be cast to io.vamp.model.artifact.DefaultBreed
[0;39mjava.lang.ClassCastException: io.vamp.model.artifact.BreedReference cannot be cast to io.vamp.model.artifact.DefaultBreed
at io.vamp.container_driver.marathon.MarathonDriverActor.$anonfun$get$6(MarathonDriverActor.scala:151)
at io.vamp.container_driver.marathon.MarathonDriverActor.$anonfun$get$6$adapted(MarathonDriverActor.scala:149)
at scala.util.Success.foreach(Try.scala:249)
at scala.concurrent.Future.$anonfun$foreach$1$adapted(Future.scala:224)
at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:60)
at akka.dispatch.BatchingExecutor$AbstractBatch.processBatch(BatchingExecutor.scala:55)
at akka.dispatch.BatchingExecutor$BlockableBatch.$anonfun$run$1(BatchingExecutor.scala:91)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12)
at scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:81)
at akka.dispatch.BatchingExecutor$BlockableBatch.run(BatchingExecutor.scala:91)
at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:39)
at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:415)
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
[36m20:21:16.726[0;39m [34m| INFO | i.v.c.marathon.MarathonDriverActor | amp/user/govamp/marathon-driver-actor-23 | marathon create workflow: metrics
[0;39m[36m20:21:16.731[0;39m [1;31m| ERROR | akka.dispatch.Dispatcher | akka.dispatch.Dispatcher | io.vamp.model.artifact.BreedReference cannot be cast to io.vamp.model.artifact.DefaultBreed
[0;39mjava.lang.ClassCastException: io.vamp.model.artifact.BreedReference cannot be cast to io.vamp.model.artifact.DefaultBreed
at io.vamp.container_driver.marathon.MarathonDriverActor.$anonfun$get$6(MarathonDriverActor.scala:151)
at io.vamp.container_driver.marathon.MarathonDriverActor.$anonfun$get$6$adapted(MarathonDriverActor.scala:149)
at scala.util.Success.foreach(Try.scala:249)
at scala.concurrent.Future.$anonfun$foreach$1$adapted(Future.scala:224)
at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:60)
at akka.dispatch.BatchingExecutor$AbstractBatch.processBatch(BatchingExecutor.scala:55)
at akka.dispatch.BatchingExecutor$BlockableBatch.$anonfun$run$1(BatchingExecutor.scala:91)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12)
at scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:81)
at akka.dispatch.BatchingExecutor$BlockableBatch.run(BatchingExecutor.scala:91)
at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:39)
at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:415)
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
[36m20:21:16.808[0;39m [34m| INFO | i.v.c.marathon.MarathonDriverActor | amp/user/govamp/marathon-driver-actor-23 | marathon create workflow: allocation
[0;39m[36m20:21:16.820[0;39m [34m| INFO | i.v.c.marathon.MarathonDriverActor | amp/user/govamp/marathon-driver-actor-23 | marathon create workflow: kibana
[0;39m[36m20:21:16.839[0;39m [34m| INFO | i.v.c.marathon.MarathonDriverActor | amp/user/govamp/marathon-driver-actor-23 | marathon create workflow: vga
[0;39m[36m20:21:25.949[0;39m [34m| INFO | io.vamp.operation.workflow.WorkflowActor | kka://vamp/user/govamp/workflow-actor-15 | Triggering workflow: 'kibana'.
[0;39m[36m20:21:25.950[0;39m [34m| INFO | io.vamp.operation.workflow.WorkflowActor | kka://vamp/user/govamp/workflow-actor-15 | Triggering workflow: 'allocation'.
[0;39m[36m20:21:25.950[0;39m [34m| INFO | io.vamp.operation.workflow.WorkflowActor | kka://vamp/user/govamp/workflow-actor-15 | Triggering workflow: 'metrics'.
[0;39m[36m20:21:25.950[0;39m [34m| INFO | io.vamp.operation.workflow.WorkflowActor | kka://vamp/user/govamp/workflow-actor-15 | Triggering workflow: 'health'.
[0;39m[36m20:21:25.951[0;39m [34m| INFO | io.vamp.operation.workflow.WorkflowActor | kka://vamp/user/govamp/workflow-actor-15 | Triggering workflow: 'vga'.
[0;39m[36m20:21:26.063[0;39m [34m| INFO | i.v.c.marathon.MarathonDriverActor | amp/user/govamp/marathon-driver-actor-23 | marathon create workflow: allocation
[0;39m[36m20:21:26.088[0;39m [34m| INFO | i.v.c.marathon.MarathonDriverActor | amp/user/govamp/marathon-driver-actor-23 | marathon create workflow: metrics
[0;39m[36m20:21:26.102[0;39m [34m| INFO | i.v.c.marathon.MarathonDriverActor | amp/user/govamp/marathon-driver-actor-23 | marathon create workflow: health
[0;39m[36m20:21:26.140[0;39m [34m| INFO | i.v.c.marathon.MarathonDriverActor | amp/user/govamp/marathon-driver-actor-23 | marathon create workflow: kibana
[0;39m[36m20:21:26.172[0;39m [34m| INFO | i.v.c.marathon.MarathonDriverActor | amp/user/govamp/marathon-driver-actor-23 | marathon create workflow: vga
[0;39mow: allocation
[0;39m[36m20:21:26.088[0;39m [34m| INFO | i.v.c.marathon.MarathonDriverActor | amp/user/govamp/marathon-driver-actor-23 | marathon create workflow: metrics
[0;39m[36m20:21:26.102[0;39m [34m| INFO | i.v.c.marathon.MarathonDriverActor | amp/user/govamp/marathon-driver-actor-23 | marathon create workflow: health
[0;39m[36m20:21:26.140[0;39m [34m| INFO | i.v.c.marathon.MarathonDriverActor | amp/user/govamp/marathon-driver-actor-23 | marathon create workflow: kibana
[0;39m[36m20:21:26.172[0;39m [34m| INFO | i.v.c.marathon.MarathonDriverActor | amp/user/govamp/marathon-driver-actor-23 | marathon create workflow: vga
[0;39m[36m20:25:19.310[0;39m [34m| INFO | i.v.c.marathon.MarathonDriverActor | amp/user/govamp/marathon-driver-actor-23 | marathon update service: blaze-sparrow-service / wehkamp/blaze-sparrow-service:27-414d5b3
[0;39m[36m20:25:19.324[0;39m [34m| INFO | i.v.c.marathon.MarathonDriverActor | amp/user/govamp/marathon-driver-actor-23 | Deploying JObject(List((container,JObject(List((docker,JObject(List((parameters,JArray(List(JObject(List((key,JString(user)), (value,JString(498:498)))), JObject(List((key,JString(log-opt)), (value,JString(tag=docker.blaze-sparrow-service)))), JObject(List((key,JString(log-driver)), (value,JString(fluentd)))), JObject(List((key,JString(label)), (value,JString(role=sparrow)))), JObject(List((key,JString(label)), (value,JString(team=Checkout)))), JObject(List((key,JString(log-opt)), (value,JString(labels=team))))))), (image,JString(wehkamp/blaze-sparrow-service:27-414d5b3)), (portMappings,JArray(List(JObject(List((containerPort,JInt(5000)), (hostPort,JInt(0)), (protocol,JString(tcp))))))), (privileged,JBool(true)), (network,JString(BRIDGE))))), (type,JString(DOCKER))))), (healthChecks,JArray(List(JObject(List((timeoutSeconds,JInt(10)), (path,JString(/status)), (portIndex,JInt(0)), (gracePeriodSeconds,JInt(30)), (maxConsecutiveFailures,JInt(3)), (intervalSeconds,JInt(60)), (protocol,JString(HTTP))))))), (labels,JObject(List((io.vamp.deployment,JString(blaze-sparrow-service)), (io.vamp.cluster,JString(blaze-sparrow-service)), (io.vamp.service,JString(blaze-sparrow-service:27-414d5b3))))), (uris,JArray(List(JString(file:///etc/.dockercfg)))), (id,JString(/govamp/deployment-blaze-sparrow-service-service-36f623682f06ebaca1dddd55b8b0066e4bd9d926)), (instances,JInt(1)), (cpus,JDouble(0.1)), (mem,JInt(500)), (env,JObject(List())), (constraints,JArray(List()))))
[0;39m[36m20:25:22.621[0;39m [34m| INFO | i.v.o.g.GatewaySynchronizationActor | r/govamp/gateway-synchronization-actor-9 | Gateway event: blaze-sparrow-service/gateway - deployed
[0;39m[36m20:25:29.288[0;39m [34m| INFO | i.v.c.marathon.MarathonDriverActor | amp/user/govamp/marathon-driver-actor-23 | marathon update service: blaze-sparrow-service / wehkamp/blaze-sparrow-service:27-414d5b3
[0;39m[36m20:25:29.294[0;39m [34m| INFO | i.v.c.marathon.MarathonDriverActor | amp/user/govamp/marathon-driver-actor-23 | Deploying JObject(List((container,JObject(List((docker,JObject(List((parameters,JArray(List(JObject(List((key,JString(user)), (value,JString(498:498)))), JObject(List((key,JString(log-opt)), (value,JString(tag=docker.blaze-sparrow-service)))), JObject(List((key,JString(log-driver)), (value,JString(fluentd)))), JObject(List((key,JString(label)), (value,JString(role=sparrow)))), JObject(List((key,JString(label)), (value,JString(team=Checkout)))), JObject(List((key,JString(log-opt)), (value,JString(labels=team))))))), (image,JString(wehkamp/blaze-sparrow-service:27-414d5b3)), (portMappings,JArray(List(JObject(List((containerPort,JInt(5000)), (hostPort,JInt(0)), (protocol,JString(tcp))))))), (privileged,JBool(true)), (network,JString(BRIDGE))))), (type,JString(DOCKER))))), (healthChecks,JArray(List(JObject(List((timeoutSeconds,JInt(10)), (path,JString(/status)), (portIndex,JInt(0)), (gracePeriodSeconds,JInt(30)), (maxConsecutiveFailures,JInt(3)), (intervalSeconds,JInt(60)), (protocol,JString(HTTP))))))), (labels,JObject(List((io.vamp.deployment,JString(blaze-sparrow-service)), (io.vamp.cluster,JString(blaze-sparrow-service)), (io.vamp.service,JString(blaze-sparrow-service:27-414d5b3))))), (uris,JArray(List(JString(file:///etc/.dockercfg)))), (id,JString(/govamp/deployment-blaze-sparrow-service-service-36f623682f06ebaca1dddd55b8b0066e4bd9d926)), (instances,JInt(1)), (cpus,JDouble(0.1)), (mem,JInt(500)), (env,JObject(List())), (constraints,JArray(List()))))
[0;39m[36m20:25:39.297[0;39m [34m| INFO | i.v.c.marathon.MarathonDriverActor | amp/user/govamp/marathon-driver-actor-23 | marathon update service: blaze-sparrow-service / wehkamp/blaze-sparrow-service:27-414d5b3
[0;39m[36m20:25:39.300[0;39m [34m| INFO | i.v.c.marathon.MarathonDriverActor | amp/user/govamp/marathon-driver-actor-23 | Deploying JObject(List((container,JObject(List((docker,JObject(List((parameters,JArray(List(JObject(List((key,JString(user)), (value,JString(498:498)))), JObject(List((key,JString(log-opt)), (value,JString(tag=docker.blaze-sparrow-service)))), JObject(List((key,JString(log-driver)), (value,JString(fluentd)))), JObject(List((key,JString(label)), (value,JString(role=sparrow)))), JObject(List((key,JString(label)), (value,JString(team=Checkout)))), JObject(List((key,JString(log-opt)), (value,JString(labels=team))))))), (image,JString(wehkamp/blaze-sparrow-service:27-414d5b3)), (portMappings,JArray(List(JObject(List((containerPort,JInt(5000)), (hostPort,JInt(0)), (protocol,JString(tcp))))))), (privileged,JBool(true)), (network,JString(BRIDGE))))), (type,JString(DOCKER))))), (healthChecks,JArray(List(JObject(List((timeoutSeconds,JInt(10)), (path,JString(/status)), (portIndex,JInt(0)), (gracePeriodSeconds,JInt(30)), (maxConsecutiveFailures,JInt(3)), (intervalSeconds,JInt(60)), (protocol,JString(HTTP))))))), (labels,JObject(List((io.vamp.deployment,JString(blaze-sparrow-service)), (io.vamp.cluster,JString(blaze-sparrow-service)), (io.vamp.service,JString(blaze-sparrow-service:27-414d5b3))))), (uris,JArray(List(JString(file:///etc/.dockercfg)))), (id,JString(/govamp/deployment-blaze-sparrow-service-service-36f623682f06ebaca1dddd55b8b0066e4bd9d926)), (instances,JInt(1)), (cpus,JDouble(0.1)), (mem,JInt(500)), (env,JObject(List())), (constraints,JArray(List()))))
[0;39m[36m20:25:49.290[0;39m [34m| INFO | i.v.c.marathon.MarathonDriverActor | amp/user/govamp/marathon-driver-actor-23 | marathon update service: blaze-sparrow-service / wehkamp/blaze-sparrow-service:27-414d5b3
[0;39m[36m20:25:49.295[0;39m [34m| INFO | i.v.c.marathon.MarathonDriverActor | amp/user/govamp/marathon-driver-actor-23 | Deploying JObject(List((container,JObject(List((docker,JObject(List((parameters,JArray(List(JObject(List((key,JString(user)), (value,JString(498:498)))), JObject(List((key,JString(log-opt)), (value,JString(tag=docker.blaze-sparrow-service)))), JObject(List((key,JString(log-driver)), (value,JString(fluentd)))), JObject(List((key,JString(label)), (value,JString(role=sparrow)))), JObject(List((key,JString(label)), (value,JString(team=Checkout)))), JObject(List((key,JString(log-opt)), (value,JString(labels=team))))))), (image,JString(wehkamp/blaze-sparrow-service:27-414d5b3)), (portMappings,JArray(List(JObject(List((containerPort,JInt(5000)), (hostPort,JInt(0)), (protocol,JString(tcp))))))), (privileged,JBool(true)), (network,JString(BRIDGE))))), (type,JString(DOCKER))))), (healthChecks,JArray(List(JObject(List((timeoutSeconds,JInt(10)), (path,JString(/status)), (portIndex,JInt(0)), (gracePeriodSeconds,JInt(30)), (maxConsecutiveFailures,JInt(3)), (intervalSeconds,JInt(60)), (protocol,JString(HTTP))))))), (labels,JObject(List((io.vamp.deployment,JString(blaze-sparrow-service)), (io.vamp.cluster,JString(blaze-sparrow-service)), (io.vamp.service,JString(blaze-sparrow-service:27-414d5b3))))), (uris,JArray(List(JString(file:///etc/.dockercfg)))), (id,JString(/govamp/deployment-blaze-sparrow-service-service-36f623682f06ebaca1dddd55b8b0066e4bd9d926)), (instances,JInt(1)), (cpus,JDouble(0.1)), (mem,JInt(500)), (env,JObject(List())), (constraints,JArray(List()))))
[0;39m[36m20:25:59.289[0;39m [34m| INFO | i.v.c.marathon.MarathonDriverActor | amp/user/govamp/marathon-driver-actor-23 | marathon update service: blaze-sparrow-service / wehkamp/blaze-sparrow-service:27-414d5b3
[0;39m[36m20:25:59.291[0;39m [34m| INFO | i.v.c.marathon.MarathonDriverActor | amp/user/govamp/marathon-driver-actor-23 | Deploying JObject(List((container,JObject(List((docker,JObject(List((parameters,JArray(List(JObject(List((key,JString(user)), (value,JString(498:498)))), JObject(List((key,JString(log-opt)), (value,JString(tag=docker.blaze-sparrow-service)))), JObject(List((key,JString(log-driver)), (value,JString(fluentd)))), JObject(List((key,JString(label)), (value,JString(role=sparrow)))), JObject(List((key,JString(label)), (value,JString(team=Checkout)))), JObject(List((key,JString(log-opt)), (value,JString(labels=team))))))), (image,JString(wehkamp/blaze-sparrow-service:27-414d5b3)), (portMappings,JArray(List(JObject(List((containerPort,JInt(5000)), (hostPort,JInt(0)), (protocol,JString(tcp))))))), (privileged,JBool(true)), (network,JString(BRIDGE))))), (type,JString(DOCKER))))), (healthChecks,JArray(List(JObject(List((timeoutSeconds,JInt(10)), (path,JString(/status)), (portIndex,JInt(0)), (gracePeriodSeconds,JInt(30)), (maxConsecutiveFailures,JInt(3)), (intervalSeconds,JInt(60)), (protocol,JString(HTTP))))))), (labels,JObject(List((io.vamp.deployment,JString(blaze-sparrow-service)), (io.vamp.cluster,JString(blaze-sparrow-service)), (io.vamp.service,JString(blaze-sparrow-service:27-414d5b3))))), (uris,JArray(List(JString(file:///etc/.dockercfg)))), (id,JString(/govamp/deployment-blaze-sparrow-service-service-36f623682f06ebaca1dddd55b8b0066e4bd9d926)), (instances,JInt(1)), (cpus,JDouble(0.1)), (mem,JInt(500)), (env,JObject(List())), (constraints,JArray(List()))))
[0;39mKilled
The payload we're uploading to Vamp:
{
"clusters": {
"blaze-sparrow-service": {
"services": {
"breed": {
"deployable": "wehkamp/blaze-sparrow-service:27-414d5b3",
"environment_variables": {
"LOG_JSON_TCP_HOST": "logging.blaze:5170",
"SERVICE_NAME": "blaze-sparrow-service",
"SERVICE_TAGS": "vamp-managed"
},
"name": "blaze-sparrow-service:27-414d5b3",
"ports": {
"port": "5000/http"
}
},
"dialects": {
"marathon": {
"container": {
"docker": {
"parameters": [
{
"key": "user",
"value": "498:498"
},
{
"key": "log-opt",
"value": "tag=docker.blaze-sparrow-service"
},
{
"key": "log-driver",
"value": "fluentd"
},
{
"key": "label",
"value": "role=sparrow"
},
{
"key": "label",
"value": "team=Checkout"
},
{
"key": "log-opt",
"value": "labels=team"
}
]
}
},
"healthChecks": [
{
"gracePeriodSeconds": 30,
"intervalSeconds": 60,
"maxConsecutiveFailures": 3,
"path": "/status",
"portIndex": 0,
"protocol": "HTTP",
"timeoutSeconds": 10
}
],
"labels": [
"team=Checkout"
],
"uris": [
"file:///etc/.dockercfg"
]
}
},
"scale": {
"cpu": 0.1,
"instances": 1,
"memory": "500MB"
}
}
}
},
"gateways": {
"gateway": {
"routes": {
"blaze-sparrow-service/port": {
"weight": "100%"
}
},
"virtual_hosts": [
"sparrow.blaze"
]
}
},
"kind": "deployment",
"name": "blaze-sparrow-service"
}
We're using in-memory
persistence for now, and storing key-values in Consul. Container platform is Mesos/Marathon.
I'm almost starting to wonder if moving from 500M to 2000M was the fix to this, as after doing that things seems stable :/ What is weird though, is that there were no signs of some limit being hit.
(the error is still there though, just not killing Vamp anymore)
If you see Vamp restarts, for safety, assign at least 2GB, or better 4GB of memory to Vamp.
closing this issue as the increase of memory seems to solve this. Please re-open if issues re-appear or still exist.
We're observing the following issue, leading up to VAMP itself restarting (well, not the container - just the stuff going on inside JVM)
Looks like we're uploading a faulty breed, though Vamp shouldn't restart itself once that happens - right :)