You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@aurora.apache.org by "Bill Farner (JIRA)" <ji...@apache.org> on 2015/07/23 08:50:04 UTC

[jira] [Commented] (AURORA-1407) IllegalArgumentException in end-to-end tests

    [ https://issues.apache.org/jira/browse/AURORA-1407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14638312#comment-14638312 ] 

Bill Farner commented on AURORA-1407:
-------------------------------------

I believe this was caused by https://reviews.apache.org/r/34337, in which i neglected to notice that thrift changes were not modeled in the database.

> IllegalArgumentException in end-to-end tests
> --------------------------------------------
>
>                 Key: AURORA-1407
>                 URL: https://issues.apache.org/jira/browse/AURORA-1407
>             Project: Aurora
>          Issue Type: Bug
>          Components: Scheduler, Testing
>            Reporter: Bill Farner
>            Priority: Blocker
>
> When running end-to-end tests on {{38c2e76}}, i encountered the following error:
> {noformat}
> E0723 00:20:18.231 THREAD137 org.apache.aurora.scheduler.updater.JobUpdateEventSubscriber.taskChangedState: Failed to handle state change: com.google.common.util.concurrent.UncheckedExecutionException: java.lang.IllegalArgumentException: Multiple entries wit
> h same key: TaskConfig(job:JobKey(role:vagrant, environment:test, name:http_example_docker), owner:Identity(role:vagrant, user:vagrant), environment:test, jobName:http_example_docker, isService:true, numCpus:0.5, ramMb:34, diskMb:64, priority:0, maxTaskFailu
> res:1, production:false, constraints:[Constraint(name:host, constraint:<TaskConstraint limit:LimitConstraint(limit:4)>)], requestedPorts:[http], taskLinks:{http=http://%host%:%port:http%}, contactEmail:vagrant@localhost, executorConfig:ExecutorConfig(name:Au
> roraExecutor, data:{"environment": "test", "health_check_config": {"initial_interval_secs": 5.0, "endpoint": "/health", "expected_response_code": 0, "expected_response": "ok", "max_consecutive_failures": 0, "timeout_secs": 1.0, "interval_secs": 1.0}, "contai
> ner": {"docker": {"image": "http_example", "parameters": []}}, "name": "http_example_docker", "service": true, "max_task_failures": 1, "cron_collision_policy": "KILL_EXISTING", "enable_hooks": false, "cluster": "devcluster", "task": {"processes": [{"daemon":
>  false, "name": "stage_server", "ephemeral": false, "max_failures": 1, "min_duration": 5, "cmdline": "cp /tmp/http_example.py .", "final": false}, {"daemon": false, "name": "run_server", "ephemeral": false, "max_failures": 1, "min_duration": 5, "cmdline": "p
> ython http_example.py {{thermos.ports[http]}}", "final": false}], "name": "http_example", "finalization_wait": 30, "max_failures": 1, "max_concurrency": 0, "resources": {"disk": 67108864, "ram": 35651584, "cpu": 0.5}, "constraints": [{"order": ["stage_server
> ", "run_server"]}]}, "role": "vagrant", "contact": "vagrant@localhost", "announce": {"primary_port": "http", "portmap": {"aurora": "http"}}, "priority": 0, "lifecycle": {"http": {"graceful_shutdown_endpoint": "/quitquitquit", "port": "health", "shutdown_endp
> oint": "/abortabortabort"}}, "production": false, "constraints": {"host": "limit:4"}}), metadata:[], container:<Container docker:DockerContainer(image:http_example)>)=org.apache.aurora.scheduler.storage.db.views.DbTaskConfig@12f27c5c and TaskConfig(job:JobKe
> y(role:vagrant, environment:test, name:http_example_docker), owner:Identity(role:vagrant, user:vagrant), environment:test, jobName:http_example_docker, isService:true, numCpus:0.5, ramMb:34, diskMb:64, priority:0, maxTaskFailures:1, production:false, constra
> ints:[Constraint(name:host, constraint:<TaskConstraint limit:LimitConstraint(limit:4)>)], requestedPorts:[http], taskLinks:{http=http://%host%:%port:http%}, contactEmail:vagrant@localhost, executorConfig:ExecutorConfig(name:AuroraExecutor, data:{"environment": "test", "health_check_config": {"initial_interval_secs": 5.0, "endpoint": "/health", "expected_response_code": 0, "expected_response": "ok", "max_consecutive_failures": 0, "timeout_secs": 1.0, "interval_secs": 1.0}, "container": {"docker": {"image": "http_example", "parameters": []}}, "name": "http_example_docker", "service": true, "max_task_failures": 1, "cron_collision_policy": "KILL_EXISTING", "enable_hooks": false, "cluster": "devcluster", "task": {"processes": [{"daemon": false, "name": "stage_server", "ephemeral": false, "max_failures": 1, "min_duration": 5, "cmdline": "cp /tmp/http_example.py .", "final": false}, {"daemon": false, "name": "run_server", "ephemeral": false, "max_failures": 1, "min_duration": 5, "cmdline": "python http_example.py {{thermos.ports[http]}}", "final": false}], "name": "http_example", "finalization_wait": 30, "max_failures": 1, "max_concurrency": 0, "resources": {"disk": 67108864, "ram": 35651584, "cpu": 0.5}, "constraints": [{"order": ["stage_server", "run_server"]}]}, "role": "vagrant", "contact": "vagrant@localhost", "announce": {"primary_port": "http", "portmap": {"aurora": "http"}}, "priority": 0, "lifecycle": {"http": {"graceful_shutdown_endpoint": "/quitquitquit", "port": "health", "shutdown_endpoint": "/abortabortabort"}}, "production": false, "constraints": {"host": "limit:4"}}), metadata:[], container:<Container docker:DockerContainer(image:http_example)>)=org.apache.aurora.scheduler.storage.db.views.DbTaskConfig@75f259b
> com.google.common.util.concurrent.UncheckedExecutionException: java.lang.IllegalArgumentException: Multiple entries with same key: TaskConfig(job:JobKey(role:vagrant, environment:test, name:http_example_docker), owner:Identity(role:vagrant, user:vagrant), environment:test, jobName:http_example_docker, isService:true, numCpus:0.5, ramMb:34, diskMb:64, priority:0, maxTaskFailures:1, production:false, constraints:[Constraint(name:host, constraint:<TaskConstraint limit:LimitConstraint(limit:4)>)], requestedPorts:[http], taskLinks:{http=http://%host%:%port:http%}, contactEmail:vagrant@localhost, executorConfig:ExecutorConfig(name:AuroraExecutor, data:{"environment": "test", "health_check_config": {"initial_interval_secs": 5.0, "endpoint": "/health", "expected_response_code": 0, "expected_response": "ok", "max_consecutive_failures": 0, "timeout_secs": 1.0, "interval_secs": 1.0}, "container": {"docker": {"image": "http_example", "parameters": []}}, "name": "http_example_docker", "service": true, "max_task_failures": 1, "cron_collision_policy": "KILL_EXISTING", "enable_hooks": false, "cluster": "devcluster", "task": {"processes": [{"daemon": false, "name": "stage_server", "ephemeral": false, "max_failures": 1, "min_duration": 5, "cmdline": "cp /tmp/http_example.py .", "final": false}, {"daemon": false, "name": "run_server", "ephemeral": false, "max_failures": 1, "min_duration": 5, "cmdline": "python http_example.py {{thermos.ports[http]}}", "final": false}], "name": "http_example", "finalization_wait": 30, "max_failures": 1, "max_concurrency": 0, "resources": {"disk": 67108864, "ram": 35651584, "cpu": 0.5}, "constraints": [{"order": ["stage_server", "run_server"]}]}, "role": "vagrant", "contact": "vagrant@localhost", "announce": {"primary_port": "http", "portmap": {"aurora": "http"}}, "priority": 0, "lifecycle": {"http": {"graceful_shutdown_endpoint": "/quitquitquit", "port": "health", "shutdown_endpoint": "/abortabortabort"}}, "production": false, "constraints": {"host": "limit:4"}}), metadata:[], container:<Container docker:DockerContainer(image:http_example)>)=org.apache.aurora.scheduler.storage.db.views.DbTaskConfig@12f27c5c and TaskConfig(job:JobKey(role:vagrant, environment:test, name:http_example_docker), owner:Identity(role:vagrant, user:vagrant), environment:test, jobName:http_example_docker, isService:true, numCpus:0.5, ramMb:34, diskMb:64, priority:0, maxTaskFailures:1, production:false, constraints:[Constraint(name:host, constraint:<TaskConstraint limit:LimitConstraint(limit:4)>)], requestedPorts:[http], taskLinks:{http=http://%host%:%port:http%}, contactEmail:vagrant@localhost, executorConfig:ExecutorConfig(name:AuroraExecutor, data:{"environment": "test", "health_check_config": {"initial_interval_secs": 5.0, "endpoint": "/health", "expected_response_code": 0, "expected_response": "ok", "max_consecutive_failures": 0, "timeout_secs": 1.0, "interval_secs": 1.0}, "container": {"docker": {"image": "http_example", "parameters": []}}, "name": "http_example_docker", "service": true, "max_task_failures": 1, "cron_collision_policy": "KILL_EXISTING", "enable_hooks": false, "cluster": "devcluster", "task": {"processes": [{"daemon": false, "name": "stage_server", "ephemeral": false, "max_failures": 1, "min_duration": 5, "cmdline": "cp /tmp/http_example.py .", "final": false}, {"daemon": false, "name": "run_server", "ephemeral": false, "max_failures": 1, "min_duration": 5, "cmdline": "python http_example.py {{thermos.ports[http]}}", "final": false}], "name": "http_example", "finalization_wait": 30, "max_failures": 1, "max_concurrency": 0, "resources": {"disk": 67108864, "ram": 35651584, "cpu": 0.5}, "constraints": [{"order": ["stage_server", "run_server"]}]}, "role": "vagrant", "contact": "vagrant@localhost", "announce": {"primary_port": "http", "portmap": {"aurora": "http"}}, "priority": 0, "lifecycle": {"http": {"graceful_shutdown_endpoint": "/quitquitquit", "port": "health", "shutdown_endpoint": "/abortabortabort"}}, "production": false, "constraints": {"host": "limit:4"}}), metadata:[], container:<Container docker:DockerContainer(image:http_example)>)=org.apache.aurora.scheduler.storage.db.views.DbTaskConfig@75f259b
>         at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2201)
>         at com.google.common.cache.LocalCache.get(LocalCache.java:3934)
>         at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3938)
>         at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4821)
>         at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4827)
>         at org.apache.aurora.scheduler.storage.db.DbTaskStore.saveTasks(DbTaskStore.java:132)
>         at com.twitter.common.inject.TimedInterceptor.invoke(TimedInterceptor.java:87)
>         at org.apache.aurora.scheduler.storage.db.DbTaskStore.mutateTasks(DbTaskStore.java:176)
>         at com.twitter.common.inject.TimedInterceptor.invoke(TimedInterceptor.java:87)
>         at org.apache.aurora.scheduler.storage.log.WriteAheadStorage.mutateTasks(WriteAheadStorage.java:195)
>         at org.apache.aurora.scheduler.state.StateManagerImpl.updateTaskAndExternalState(StateManagerImpl.java:326)
>         at org.apache.aurora.scheduler.state.StateManagerImpl.insertPendingTasks(StateManagerImpl.java:144)
>         at org.apache.aurora.scheduler.updater.InstanceActionHandler$AddTask.getReevaluationDelay(InstanceActionHandler.java:85)
>         at org.apache.aurora.scheduler.updater.JobUpdateControllerImpl.evaluateUpdater(JobUpdateControllerImpl.java:668)
>         at org.apache.aurora.scheduler.updater.JobUpdateControllerImpl.access$1400(JobUpdateControllerImpl.java:108)
>         at org.apache.aurora.scheduler.updater.JobUpdateControllerImpl$6.execute(JobUpdateControllerImpl.java:356)
>         at org.apache.aurora.scheduler.storage.Storage$MutateWork$NoResult.apply(Storage.java:131)
>         at org.apache.aurora.scheduler.storage.Storage$MutateWork$NoResult$Quiet.apply(Storage.java:148)
>         at org.apache.aurora.scheduler.storage.log.LogStorage$24.apply(LogStorage.java:605)
>         at org.apache.aurora.scheduler.storage.log.LogStorage$24.apply(LogStorage.java:602)
>         at org.apache.aurora.scheduler.storage.db.DbStorage.write(DbStorage.java:143)
>         at org.mybatis.guice.transactional.TransactionalMethodInterceptor.invoke(TransactionalMethodInterceptor.java:101)
>         at com.twitter.common.inject.TimedInterceptor.invoke(TimedInterceptor.java:87)
>         at org.apache.aurora.scheduler.storage.log.LogStorage.doInTransaction(LogStorage.java:602)
>         at org.apache.aurora.scheduler.storage.log.LogStorage.write(LogStorage.java:635)
>         at org.apache.aurora.scheduler.storage.CallOrderEnforcingStorage.write(CallOrderEnforcingStorage.java:130)
>         at org.apache.aurora.scheduler.updater.JobUpdateControllerImpl.instanceChanged(JobUpdateControllerImpl.java:347)
>         at org.apache.aurora.scheduler.updater.JobUpdateControllerImpl.instanceChangedState(JobUpdateControllerImpl.java:332)
>         at org.apache.aurora.scheduler.updater.JobUpdateEventSubscriber.taskChangedState(JobUpdateEventSubscriber.java:56)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:497)
>         at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
>         at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
>         at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
>         at com.google.common.eventbus.AsyncEventBus.access$001(AsyncEventBus.java:34)
>         at com.google.common.eventbus.AsyncEventBus$1.run(AsyncEventBus.java:117)
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>         at java.lang.Thread.run(Thread.java:745)
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)