[ https://issues.apache.org/jira/browse/AURORA-1594?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Bill Farner updated AURORA-1594: -------------------------------- Description: {noformat} + aurora job create devcluster/vagrant/test/http_example /vagrant/src/test/sh/org/apache/aurora/e2e/http/http_example.aurora WARN] WARNING: endpoint, expected_response, and expected_response_code are deprecated and will be removed in the next release. Please consult updated documentation. INFO] Creating job http_example WARN] Could not connect to scheduler: No schedulers detected in devcluster! WARN] Could not connect to scheduler: No schedulers detected in devcluster! Job creation failed due to error: java.lang.IllegalArgumentException: Multiple entries with same key: ITaskConfig{job=IJobKey{role=vagrant, environment=test, name=http_example}, owner=IIdentity{role=null, user=vagrant}, environment=null, jobName=null, isService=true, numCpus=0.4, ramMb=32, diskMb=64, priority=0, maxTaskFailures=1, production=false, tier=null, constraints=[], requestedPorts=[http], taskLinks={http=http://%host%:%port:http%}, contactEmail=vagrant@localhost, executorConfig=IExecutorConfig{name=AuroraExecutor, data={"environment": "test", "health_check_config": {"expected_response_code": 0, "endpoint": "/health", "health_checker": {"http": {"expected_response_code": 0, "endpoint": "/health", "expected_response": "ok"}}, "initial_interval_secs": 5.0, "expected_response": "ok", "max_consecutive_failures": 0, "timeout_secs": 1.0, "interval_secs": 1.0}, "name": "http_example", "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 /vagrant/src/test/sh/org/apache/aurora/e2e/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": 33554432, "cpu": 0.4}, "constraints": [{"order": ["stage_server", "run_server"]}]}, "production": false, "role": "vagrant", "contact": "vagrant@localhost", "announce": {"primary_port": "http", "portmap": {"aurora": "http"}}, "lifecycle": {"http": {"graceful_shutdown_endpoint": "/quitquitquit", "port": "health", "shutdown_endpoint": "/abortabortabort"}}, "priority": 0}}, metadata=[], container=IContainer{setField=MESOS, value=IMesosContainer{}}}=org.apache.aurora.scheduler.storage.db.views.DbTaskConfig@7b345c31 and ITaskConfig{job=IJobKey{role=vagrant, environment=test, name=http_example}, owner=IIdentity{role=null, user=vagrant}, environment=null, jobName=null, isService=true, numCpus=0.4, ramMb=32, diskMb=64, priority=0, maxTaskFailures=1, production=false, tier=null, constraints=[], requestedPorts=[http], taskLinks={http=http://%host%:%port:http%}, contactEmail=vagrant@localhost, executorConfig=IExecutorConfig{name=AuroraExecutor, data={"environment": "test", "health_check_config": {"expected_response_code": 0, "endpoint": "/health", "health_checker": {"http": {"expected_response_code": 0, "endpoint": "/health", "expected_response": "ok"}}, "initial_interval_secs": 5.0, "expected_response": "ok", "max_consecutive_failures": 0, "timeout_secs": 1.0, "interval_secs": 1.0}, "name": "http_example", "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 /vagrant/src/test/sh/org/apache/aurora/e2e/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": 33554432, "cpu": 0.4}, "constraints": [{"order": ["stage_server", "run_server"]}]}, "production": false, "role": "vagrant", "contact": "vagrant@localhost", "announce": {"primary_port": "http", "portmap": {"aurora": "http"}}, "lifecycle": {"http": {"graceful_shutdown_endpoint": "/quitquitquit", "port": "health", "shutdown_endpoint": "/abortabortabort"}}, "priority": 0}}, metadata=[], container=IContainer{setField=MESOS, value=IMesosContainer{}}}=org.apache.aurora.scheduler.storage.db.views.DbTaskConfig@7ac8690c. To index multiple values under a key, use Multimaps.index. + collect_result + [[ 1 = 0 ]] + echo '!!! FAIL (something returned non-zero) for [[ $RETCODE = 0 ]]' {noformat} Stack trace: {noformat} W0125 19:27:57.158 [qtp2075195635-126, LoggingInterceptor:78] Uncaught exception while handling createJob(JobConfiguration(key:JobKey(role:vagrant, environment:test, name:ht tp_example), owner:Identity(role:vagrant, user:vagrant), cronSchedule:null, cronCollisionPolicy:KILL_EXISTING, taskConfig:TaskConfig(job:JobKey(role:vagrant, environment:tes t, name:http_example), owner:Identity(role:vagrant, user:vagrant), environment:test, jobName:http_example, isService:true, numCpus:0.4, ramMb:32, diskMb:64, priority:0, maxT askFailures:1, production:false, constraints:[], requestedPorts:[http], taskLinks:{}, contactEmail:vagrant@localhost, executorConfig:ExecutorConfig(name:BLANKED, data:BLANKE D), metadata:[], container:<Container mesos:MesosContainer()>), instanceCount:2), null) com.google.common.util.concurrent.UncheckedExecutionException: java.lang.IllegalArgum entException: Multiple entries with same key: ITaskConfig{job=IJobKey{role=vagrant, environment=test, name=http_example}, owner=IIdentity{role=null, user=vagrant}, environme nt=null, jobName=null, isService=true, numCpus=0.4, ramMb=32, diskMb=64, priority=0, maxTaskFailures=1, production=false, tier=null, constraints=[], requestedPorts=[http], taskLinks={http=http://%host%:%port:http%}, contactEmail=vagrant@localhost, executorConfig=IExecutorConfig{name=AuroraExecutor, data={"environment": "test", "health_check_config": {"expected_response_code": 0, "endpoint": "/health", "health_checker": {"http": {"expected_response_code": 0, "endpoint": "/health", "expected_response": "ok"}}, "initial_interval_secs": 5.0, "expected_response": "ok", "max_consecutive_failures": 0, "timeout_secs": 1.0, "interval_secs": 1.0}, "name": "http_example", "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 /vagrant/src/test/sh/org/apache/aurora/e2e/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": 33554432, "cpu": 0.4}, "constraints": [{"order": ["stage_server", "run_server"]}]}, "production": false, "role": "vagrant", "contact": "vagrant@localhost", "announce": {"primary_port": "http", "portmap": {"aurora": "http"}}, "lifecycle": {"http": {"graceful_shutdown_endpoint": "/quitquitquit", "port": "health", "shutdown_endpoint": "/abortabortabort"}}, "priority": 0}}, metadata=[], container=IContainer{setField=MESOS, value=IMesosContainer{}}}=org.apache.aurora.scheduler.storage.db.views.DbTaskConfig@7b345c31 and ITaskConfig{job=IJobKey{role=vagrant, environment=test, name=http_example}, owner=IIdentity{role=null, user=vagrant}, environment=null, jobName=null, isService=true, numCpus=0.4, ramMb=32, diskMb=64, priority=0, maxTaskFailures=1, production=false, tier=null, constraints=[], requestedPorts=[http], taskLinks={http=http://%host%:%port:http%}, contactEmail=vagrant@localhost, executorConfig=IExecutorConfig{name=AuroraExecutor, data={"environment": "test", "health_check_config": {"expected_response_code": 0, "endpoint": "/health", "health_checker": {"http": {"expected_response_code": 0, "endpoint": "/health", "expected_response": "ok"}}, "initial_interval_secs": 5.0, "expected_response": "ok", "max_consecutive_failures": 0, "timeout_secs": 1.0, "interval_secs": 1.0}, "name": "http_example", "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 /vagrant/src/test/sh/org/apache/aurora/e2e/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": 33554432, "cpu": 0.4}, "constraints": [{"order": ["stage_server", "run_server"]}]}, "production": false, "role": "vagrant", "contact": "vagrant@localhost", "announce": {"primary_port": "http", "portmap": {"aurora": "http"}}, "lifecycle": {"http": {"graceful_shutdown_endpoint": "/quitquitquit", "port": "health", "shutdown_endpoint": "/abortabortabort"}}, "priority": 0}}, metadata=[], container=IContainer{setField=MESOS, value=IMesosContainer{}}}=org.apache.aurora.scheduler.storage.db.views.DbTaskConfig@7ac8690c. To index multiple values under a key, use Multimaps.index. at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2207) ~[guava-19.0.jar:na] at com.google.common.cache.LocalCache.get(LocalCache.java:3953) ~[guava-19.0.jar:na] at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3957) ~[guava-19.0.jar:na] at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4875) ~[guava-19.0.jar:na] at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4881) ~[guava-19.0.jar:na] at org.apache.aurora.scheduler.storage.db.DbTaskStore.saveTasks(DbTaskStore.java:135) ~[aurora-0.12.0-SNAPSHOT.jar:na] at org.apache.aurora.common.inject.TimedInterceptor.invoke(TimedInterceptor.java:83) ~[commons-0.12.0-SNAPSHOT.jar:na] at org.apache.aurora.scheduler.storage.db.DbTaskStore.mutateTasks(DbTaskStore.java:179) ~[aurora-0.12.0-SNAPSHOT.jar:na] at org.apache.aurora.common.inject.TimedInterceptor.invoke(TimedInterceptor.java:83) ~[commons-0.12.0-SNAPSHOT.jar:na] at org.apache.aurora.scheduler.storage.log.WriteAheadStorage.mutateTasks(WriteAheadStorage.java:203) ~[aurora-0.12.0-SNAPSHOT.jar:na] at org.apache.aurora.scheduler.state.StateManagerImpl.updateTaskAndExternalState(StateManagerImpl.java:303) ~[aurora-0.12.0-SNAPSHOT.jar:na] at org.apache.aurora.scheduler.state.StateManagerImpl.insertPendingTasks(StateManagerImpl.java:137) ~[aurora-0.12.0-SNAPSHOT.jar:na] at org.apache.aurora.scheduler.thrift.SchedulerThriftInterface.lambda$createJob$0(SchedulerThriftInterface.java:244) ~[aurora-0.12.0-SNAPSHOT.jar:na] at org.apache.aurora.scheduler.storage.log.LogStorage.lambda$doInTransaction$23(LogStorage.java:526) ~[aurora-0.12.0-SNAPSHOT.jar:na] at org.apache.aurora.scheduler.storage.db.DbStorage.transactionedWrite(DbStorage.java:146) ~[aurora-0.12.0-SNAPSHOT.jar:na] at org.mybatis.guice.transactional.TransactionalMethodInterceptor.invoke(TransactionalMethodInterceptor.java:101) ~[mybatis-guice-3.7.jar:3.7] at org.apache.aurora.scheduler.storage.db.DbStorage.lambda$write$0(DbStorage.java:160) ~[aurora-0.12.0-SNAPSHOT.jar:na] at org.apache.aurora.scheduler.async.GatingDelayExecutor.closeDuring(GatingDelayExecutor.java:62) ~[aurora-0.12.0-SNAPSHOT.jar:na] at org.apache.aurora.scheduler.storage.db.DbStorage.write(DbStorage.java:158) ~[aurora-0.12.0-SNAPSHOT.jar:na] at org.apache.aurora.common.inject.TimedInterceptor.invoke(TimedInterceptor.java:83) ~[commons-0.12.0-SNAPSHOT.jar:na] at org.apache.aurora.scheduler.storage.log.LogStorage.doInTransaction(LogStorage.java:525) ~[aurora-0.12.0-SNAPSHOT.jar:na] at org.apache.aurora.scheduler.storage.log.LogStorage.write(LogStorage.java:555) ~[aurora-0.12.0-SNAPSHOT.jar:na] at org.apache.aurora.scheduler.storage.CallOrderEnforcingStorage.write(CallOrderEnforcingStorage.java:128) ~[aurora-0.12.0-SNAPSHOT.jar:na] at org.apache.aurora.scheduler.thrift.SchedulerThriftInterface.createJob(SchedulerThriftInterface.java:225) ~[aurora-0.12.0-SNAPSHOT.jar:na] at org.apache.aurora.scheduler.thrift.aop.ThriftStatsExporterInterceptor.invoke(ThriftStatsExporterInterceptor.java:47) ~[aurora-0.12.0-SNAPSHOT.jar:na] at org.apache.aurora.scheduler.thrift.aop.LoggingInterceptor.invoke(LoggingInterceptor.java:70) ~[aurora-0.12.0-SNAPSHOT.jar:na] at org.apache.aurora.scheduler.thrift.aop.ServerInfoInterceptor.invoke(ServerInfoInterceptor.java:30) ~[aurora-0.12.0-SNAPSHOT.jar:na] at org.apache.aurora.scheduler.http.api.security.ShiroAuthorizingParamInterceptor.invoke(ShiroAuthorizingParamInterceptor.java:319) ~[aurora-0.12.0-SNAPSHOT.jar:na] at org.apache.aurora.scheduler.http.api.security.ShiroAuthenticatingThriftInterceptor.invoke(ShiroAuthenticatingThriftInterceptor.java:55) ~[aurora-0.12.0-SNAPSHOT.jar:na] at org.apache.aurora.gen.AuroraSchedulerManager$Processor$createJob.getResult(AuroraSchedulerManager.java:1169) [aurora-api-0.12.0-SNAPSHOT.jar:na] ... Caused by: java.lang.IllegalArgumentException: Multiple entries with same key: ITaskConfig{job=IJobKey{role=vagrant, environment=test, name=http_example}, owner=IIdentity{role=null, user=vagrant}, environment=null, jobName=null, isService=true, numCpus=0.4, ramMb=32, diskMb=64, priority=0, maxTaskFailures=1, production=false, tier=null, constraints=[], requestedPorts=[http], taskLinks={http=http://%host%:%port:http%}, contactEmail=vagrant@localhost, executorConfig=IExecutorConfig{name=AuroraExecutor, data={"environment": "test", "health_check_config": {"expected_response_code": 0, "endpoint": "/health", "health_checker": {"http": {"expected_response_code": 0, "endpoint": "/health", "expected_response": "ok"}}, "initial_interval_secs": 5.0, "expected_response": "ok", "max_consecutive_failures": 0, "timeout_secs": 1.0, "interval_secs": 1.0}, "name": "http_example", "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 /vagrant/src/test/sh/org/apache/aurora/e2e/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": 33554432, "cpu": 0.4}, "constraints": [{"order": ["stage_server", "run_server"]}]}, "production": false, "role": "vagrant", "contact": "vagrant@localhost", "announce": {"primary_port": "http", "portmap": {"aurora": "http"}}, "lifecycle": {"http": {"graceful_shutdown_endpoint": "/quitquitquit", "port": "health", "shutdown_endpoint": "/abortabortabort"}}, "priority": 0}}, metadata=[], container=IContainer{setField=MESOS, value=IMesosContainer{}}}=org.apache.aurora.scheduler.storage.db.views.DbTaskConfig@3228b532 and ITaskConfig{job=IJobKey{role=vagrant, environment=test, name=http_example}, owner=IIdentity{role=null, user=vagrant}, environment=null, jobName=null, isService=true, numCpus=0.4, ramMb=32, diskMb=64, priority=0, maxTaskFailures=1, production=false, tier=null, constraints=[], requestedPorts=[http], taskLinks={http=http://%host%:%port:http%}, contactEmail=vagrant@localhost, executorConfig=IExecutorConfig{name=AuroraExecutor, data={"environment": "test", "health_check_config": {"expected_response_code": 0, "endpoint": "/health", "health_checker": {"http": {"expected_response_code": 0, "endpoint": "/health", "expected_response": "ok"}}, "initial_interval_secs": 5.0, "expected_response": "ok", "max_consecutive_failures": 0, "timeout_secs": 1.0, "interval_secs": 1.0}, "name": "http_example", "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 /vagrant/src/test/sh/org/apache/aurora/e2e/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": 33554432, "cpu": 0.4}, "constraints": [{"order": ["stage_server", "run_server"]}]}, "production": false, "role": "vagrant", "contact": "vagrant@localhost", "announce": {"primary_port": "http", "portmap": {"aurora": "http"}}, "lifecycle": {"http": {"graceful_shutdown_endpoint": "/quitquitquit", "port": "health", "shutdown_endpoint": "/abortabortabort"}}, "priority": 0}}, metadata=[], container=IContainer{setField=MESOS, value=IMesosContainer{}}}=org.apache.aurora.scheduler.storage.db.views.DbTaskConfig@7371259d. To index multiple values under a key, use Multimaps.index. at com.google.common.collect.Maps.uniqueIndex(Maps.java:1215) ~[guava-19.0.jar:na] at com.google.common.collect.Maps.uniqueIndex(Maps.java:1173) ~[guava-19.0.jar:na] at org.apache.aurora.scheduler.storage.db.TaskConfigManager.getConfigRow(TaskConfigManager.java:46) ~[aurora-0.12.0-SNAPSHOT.jar:na] at org.apache.aurora.scheduler.storage.db.TaskConfigManager.insert(TaskConfigManager.java:57) ~[aurora-0.12.0-SNAPSHOT.jar:na] at org.apache.aurora.scheduler.storage.db.DbTaskStore$1.load(DbTaskStore.java:135) ~[aurora-0.12.0-SNAPSHOT.jar:na] at org.apache.aurora.scheduler.storage.db.DbTaskStore$1.load(DbTaskStore.java:132) ~[aurora-0.12.0-SNAPSHOT.jar:na] at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3542) ~[guava-19.0.jar:na] {noformat} Git-bisect points at this commit: {noformat} commit b2cc604 (HEAD, refs/bisect/bad) Author: Bill Farner <wfar...@apache.org> Date: Thu Jan 21 14:30:28 2016 -0800 Enable READ COMMITTED transaction isolation. Bugs closed: AURORA-1580 Reviewed at https://reviews.apache.org/r/42613/ {noformat} was: {noformat} + aurora job create devcluster/vagrant/test/http_example /vagrant/src/test/sh/org/apache/aurora/e2e/http/http_example.aurora WARN] WARNING: endpoint, expected_response, and expected_response_code are deprecated and will be removed in the next release. Please consult updated documentation. INFO] Creating job http_example WARN] Could not connect to scheduler: No schedulers detected in devcluster! WARN] Could not connect to scheduler: No schedulers detected in devcluster! Job creation failed due to error: java.lang.IllegalArgumentException: Multiple entries with same key: ITaskConfig{job=IJobKey{role=vagrant, environment=test, name=http_example}, owner=IIdentity{role=null, user=vagrant}, environment=null, jobName=null, isService=true, numCpus=0.4, ramMb=32, diskMb=64, priority=0, maxTaskFailures=1, production=false, tier=null, constraints=[], requestedPorts=[http], taskLinks={http=http://%host%:%port:http%}, contactEmail=vagrant@localhost, executorConfig=IExecutorConfig{name=AuroraExecutor, data={"environment": "test", "health_check_config": {"expected_response_code": 0, "endpoint": "/health", "health_checker": {"http": {"expected_response_code": 0, "endpoint": "/health", "expected_response": "ok"}}, "initial_interval_secs": 5.0, "expected_response": "ok", "max_consecutive_failures": 0, "timeout_secs": 1.0, "interval_secs": 1.0}, "name": "http_example", "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 /vagrant/src/test/sh/org/apache/aurora/e2e/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": 33554432, "cpu": 0.4}, "constraints": [{"order": ["stage_server", "run_server"]}]}, "production": false, "role": "vagrant", "contact": "vagrant@localhost", "announce": {"primary_port": "http", "portmap": {"aurora": "http"}}, "lifecycle": {"http": {"graceful_shutdown_endpoint": "/quitquitquit", "port": "health", "shutdown_endpoint": "/abortabortabort"}}, "priority": 0}}, metadata=[], container=IContainer{setField=MESOS, value=IMesosContainer{}}}=org.apache.aurora.scheduler.storage.db.views.DbTaskConfig@7b345c31 and ITaskConfig{job=IJobKey{role=vagrant, environment=test, name=http_example}, owner=IIdentity{role=null, user=vagrant}, environment=null, jobName=null, isService=true, numCpus=0.4, ramMb=32, diskMb=64, priority=0, maxTaskFailures=1, production=false, tier=null, constraints=[], requestedPorts=[http], taskLinks={http=http://%host%:%port:http%}, contactEmail=vagrant@localhost, executorConfig=IExecutorConfig{name=AuroraExecutor, data={"environment": "test", "health_check_config": {"expected_response_code": 0, "endpoint": "/health", "health_checker": {"http": {"expected_response_code": 0, "endpoint": "/health", "expected_response": "ok"}}, "initial_interval_secs": 5.0, "expected_response": "ok", "max_consecutive_failures": 0, "timeout_secs": 1.0, "interval_secs": 1.0}, "name": "http_example", "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 /vagrant/src/test/sh/org/apache/aurora/e2e/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": 33554432, "cpu": 0.4}, "constraints": [{"order": ["stage_server", "run_server"]}]}, "production": false, "role": "vagrant", "contact": "vagrant@localhost", "announce": {"primary_port": "http", "portmap": {"aurora": "http"}}, "lifecycle": {"http": {"graceful_shutdown_endpoint": "/quitquitquit", "port": "health", "shutdown_endpoint": "/abortabortabort"}}, "priority": 0}}, metadata=[], container=IContainer{setField=MESOS, value=IMesosContainer{}}}=org.apache.aurora.scheduler.storage.db.views.DbTaskConfig@7ac8690c. To index multiple values under a key, use Multimaps.index. + collect_result + [[ 1 = 0 ]] + echo '!!! FAIL (something returned non-zero) for [[ $RETCODE = 0 ]]' {noformat} Stack trace: {noformat} W0125 19:27:57.158 [qtp2075195635-126, LoggingInterceptor:78] Uncaught exception while handling createJob(JobConfiguration(key:JobKey(role:vagrant, environment:test, name:ht tp_example), owner:Identity(role:vagrant, user:vagrant), cronSchedule:null, cronCollisionPolicy:KILL_EXISTING, taskConfig:TaskConfig(job:JobKey(role:vagrant, environment:tes t, name:http_example), owner:Identity(role:vagrant, user:vagrant), environment:test, jobName:http_example, isService:true, numCpus:0.4, ramMb:32, diskMb:64, priority:0, maxT askFailures:1, production:false, constraints:[], requestedPorts:[http], taskLinks:{}, contactEmail:vagrant@localhost, executorConfig:ExecutorConfig(name:BLANKED, data:BLANKE D), metadata:[], container:<Container mesos:MesosContainer()>), instanceCount:2), null) com.google.common.util.concurrent.UncheckedExecutionException: java.lang.IllegalArgum entException: Multiple entries with same key: ITaskConfig{job=IJobKey{role=vagrant, environment=test, name=http_example}, owner=IIdentity{role=null, user=vagrant}, environme nt=null, jobName=null, isService=true, numCpus=0.4, ramMb=32, diskMb=64, priority=0, maxTaskFailures=1, production=false, tier=null, constraints=[], requestedPorts=[http], taskLinks={http=http://%host%:%port:http%}, contactEmail=vagrant@localhost, executorConfig=IExecutorConfig{name=AuroraExecutor, data={"environment": "test", "health_check_config": {"expected_response_code": 0, "endpoint": "/health", "health_checker": {"http": {"expected_response_code": 0, "endpoint": "/health", "expected_response": "ok"}}, "initial_interval_secs": 5.0, "expected_response": "ok", "max_consecutive_failures": 0, "timeout_secs": 1.0, "interval_secs": 1.0}, "name": "http_example", "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 /vagrant/src/test/sh/org/apache/aurora/e2e/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": 33554432, "cpu": 0.4}, "constraints": [{"order": ["stage_server", "run_server"]}]}, "production": false, "role": "vagrant", "contact": "vagrant@localhost", "announce": {"primary_port": "http", "portmap": {"aurora": "http"}}, "lifecycle": {"http": {"graceful_shutdown_endpoint": "/quitquitquit", "port": "health", "shutdown_endpoint": "/abortabortabort"}}, "priority": 0}}, metadata=[], container=IContainer{setField=MESOS, value=IMesosContainer{}}}=org.apache.aurora.scheduler.storage.db.views.DbTaskConfig@7b345c31 and ITaskConfig{job=IJobKey{role=vagrant, environment=test, name=http_example}, owner=IIdentity{role=null, user=vagrant}, environment=null, jobName=null, isService=true, numCpus=0.4, ramMb=32, diskMb=64, priority=0, maxTaskFailures=1, production=false, tier=null, constraints=[], requestedPorts=[http], taskLinks={http=http://%host%:%port:http%}, contactEmail=vagrant@localhost, executorConfig=IExecutorConfig{name=AuroraExecutor, data={"environment": "test", "health_check_config": {"expected_response_code": 0, "endpoint": "/health", "health_checker": {"http": {"expected_response_code": 0, "endpoint": "/health", "expected_response": "ok"}}, "initial_interval_secs": 5.0, "expected_response": "ok", "max_consecutive_failures": 0, "timeout_secs": 1.0, "interval_secs": 1.0}, "name": "http_example", "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 /vagrant/src/test/sh/org/apache/aurora/e2e/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": 33554432, "cpu": 0.4}, "constraints": [{"order": ["stage_server", "run_server"]}]}, "production": false, "role": "vagrant", "contact": "vagrant@localhost", "announce": {"primary_port": "http", "portmap": {"aurora": "http"}}, "lifecycle": {"http": {"graceful_shutdown_endpoint": "/quitquitquit", "port": "health", "shutdown_endpoint": "/abortabortabort"}}, "priority": 0}}, metadata=[], container=IContainer{setField=MESOS, value=IMesosContainer{}}}=org.apache.aurora.scheduler.storage.db.views.DbTaskConfig@7ac8690c. To index multiple values under a key, use Multimaps.index. at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2207) ~[guava-19.0.jar:na] at com.google.common.cache.LocalCache.get(LocalCache.java:3953) ~[guava-19.0.jar:na] at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3957) ~[guava-19.0.jar:na] at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4875) ~[guava-19.0.jar:na] at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4881) ~[guava-19.0.jar:na] at org.apache.aurora.scheduler.storage.db.DbTaskStore.saveTasks(DbTaskStore.java:135) ~[aurora-0.12.0-SNAPSHOT.jar:na] at org.apache.aurora.common.inject.TimedInterceptor.invoke(TimedInterceptor.java:83) ~[commons-0.12.0-SNAPSHOT.jar:na] at org.apache.aurora.scheduler.storage.db.DbTaskStore.mutateTasks(DbTaskStore.java:179) ~[aurora-0.12.0-SNAPSHOT.jar:na] at org.apache.aurora.common.inject.TimedInterceptor.invoke(TimedInterceptor.java:83) ~[commons-0.12.0-SNAPSHOT.jar:na] at org.apache.aurora.scheduler.storage.log.WriteAheadStorage.mutateTasks(WriteAheadStorage.java:203) ~[aurora-0.12.0-SNAPSHOT.jar:na] at org.apache.aurora.scheduler.state.StateManagerImpl.updateTaskAndExternalState(StateManagerImpl.java:303) ~[aurora-0.12.0-SNAPSHOT.jar:na] at org.apache.aurora.scheduler.state.StateManagerImpl.insertPendingTasks(StateManagerImpl.java:137) ~[aurora-0.12.0-SNAPSHOT.jar:na] at org.apache.aurora.scheduler.thrift.SchedulerThriftInterface.lambda$createJob$0(SchedulerThriftInterface.java:244) ~[aurora-0.12.0-SNAPSHOT.jar:na] at org.apache.aurora.scheduler.storage.log.LogStorage.lambda$doInTransaction$23(LogStorage.java:526) ~[aurora-0.12.0-SNAPSHOT.jar:na] at org.apache.aurora.scheduler.storage.db.DbStorage.transactionedWrite(DbStorage.java:146) ~[aurora-0.12.0-SNAPSHOT.jar:na] at org.mybatis.guice.transactional.TransactionalMethodInterceptor.invoke(TransactionalMethodInterceptor.java:101) ~[mybatis-guice-3.7.jar:3.7] at org.apache.aurora.scheduler.storage.db.DbStorage.lambda$write$0(DbStorage.java:160) ~[aurora-0.12.0-SNAPSHOT.jar:na] at org.apache.aurora.scheduler.async.GatingDelayExecutor.closeDuring(GatingDelayExecutor.java:62) ~[aurora-0.12.0-SNAPSHOT.jar:na] at org.apache.aurora.scheduler.storage.db.DbStorage.write(DbStorage.java:158) ~[aurora-0.12.0-SNAPSHOT.jar:na] at org.apache.aurora.common.inject.TimedInterceptor.invoke(TimedInterceptor.java:83) ~[commons-0.12.0-SNAPSHOT.jar:na] at org.apache.aurora.scheduler.storage.log.LogStorage.doInTransaction(LogStorage.java:525) ~[aurora-0.12.0-SNAPSHOT.jar:na] at org.apache.aurora.scheduler.storage.log.LogStorage.write(LogStorage.java:555) ~[aurora-0.12.0-SNAPSHOT.jar:na] at org.apache.aurora.scheduler.storage.CallOrderEnforcingStorage.write(CallOrderEnforcingStorage.java:128) ~[aurora-0.12.0-SNAPSHOT.jar:na] at org.apache.aurora.scheduler.thrift.SchedulerThriftInterface.createJob(SchedulerThriftInterface.java:225) ~[aurora-0.12.0-SNAPSHOT.jar:na] at org.apache.aurora.scheduler.thrift.aop.ThriftStatsExporterInterceptor.invoke(ThriftStatsExporterInterceptor.java:47) ~[aurora-0.12.0-SNAPSHOT.jar:na] at org.apache.aurora.scheduler.thrift.aop.LoggingInterceptor.invoke(LoggingInterceptor.java:70) ~[aurora-0.12.0-SNAPSHOT.jar:na] at org.apache.aurora.scheduler.thrift.aop.ServerInfoInterceptor.invoke(ServerInfoInterceptor.java:30) ~[aurora-0.12.0-SNAPSHOT.jar:na] at org.apache.aurora.scheduler.http.api.security.ShiroAuthorizingParamInterceptor.invoke(ShiroAuthorizingParamInterceptor.java:319) ~[aurora-0.12.0-SNAPSHOT.jar:na] at org.apache.aurora.scheduler.http.api.security.ShiroAuthenticatingThriftInterceptor.invoke(ShiroAuthenticatingThriftInterceptor.java:55) ~[aurora-0.12.0-SNAPSHOT.jar:na] at org.apache.aurora.gen.AuroraSchedulerManager$Processor$createJob.getResult(AuroraSchedulerManager.java:1169) [aurora-api-0.12.0-SNAPSHOT.jar:na] {noformat} Git-bisect points at this commit: {noformat} commit b2cc604 (HEAD, refs/bisect/bad) Author: Bill Farner <wfar...@apache.org> Date: Thu Jan 21 14:30:28 2016 -0800 Enable READ COMMITTED transaction isolation. Bugs closed: AURORA-1580 Reviewed at https://reviews.apache.org/r/42613/ {noformat} > End-to-end test is broken > ------------------------- > > Key: AURORA-1594 > URL: https://issues.apache.org/jira/browse/AURORA-1594 > Project: Aurora > Issue Type: Bug > Components: Scheduler > Reporter: Bill Farner > Priority: Blocker > > {noformat} > + aurora job create devcluster/vagrant/test/http_example > /vagrant/src/test/sh/org/apache/aurora/e2e/http/http_example.aurora > WARN] > WARNING: endpoint, expected_response, and expected_response_code are > deprecated and will be removed > in the next release. Please consult updated documentation. > INFO] Creating job http_example > WARN] Could not connect to scheduler: No schedulers detected in devcluster! > WARN] Could not connect to scheduler: No schedulers detected in devcluster! > Job creation failed due to error: > java.lang.IllegalArgumentException: Multiple entries with same key: > ITaskConfig{job=IJobKey{role=vagrant, environment=test, name=http_example}, > owner=IIdentity{role=null, user=vagrant}, environment=null, jobName=null, > isService=true, numCpus=0.4, ramMb=32, diskMb=64, priority=0, > maxTaskFailures=1, production=false, tier=null, constraints=[], > requestedPorts=[http], taskLinks={http=http://%host%:%port:http%}, > contactEmail=vagrant@localhost, > executorConfig=IExecutorConfig{name=AuroraExecutor, data={"environment": > "test", "health_check_config": {"expected_response_code": 0, "endpoint": > "/health", "health_checker": {"http": {"expected_response_code": 0, > "endpoint": "/health", "expected_response": "ok"}}, "initial_interval_secs": > 5.0, "expected_response": "ok", "max_consecutive_failures": 0, > "timeout_secs": 1.0, "interval_secs": 1.0}, "name": "http_example", > "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 > /vagrant/src/test/sh/org/apache/aurora/e2e/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": 33554432, "cpu": 0.4}, "constraints": > [{"order": ["stage_server", "run_server"]}]}, "production": false, "role": > "vagrant", "contact": "vagrant@localhost", "announce": {"primary_port": > "http", "portmap": {"aurora": "http"}}, "lifecycle": {"http": > {"graceful_shutdown_endpoint": "/quitquitquit", "port": "health", > "shutdown_endpoint": "/abortabortabort"}}, "priority": 0}}, metadata=[], > container=IContainer{setField=MESOS, > value=IMesosContainer{}}}=org.apache.aurora.scheduler.storage.db.views.DbTaskConfig@7b345c31 > and ITaskConfig{job=IJobKey{role=vagrant, environment=test, > name=http_example}, owner=IIdentity{role=null, user=vagrant}, > environment=null, jobName=null, isService=true, numCpus=0.4, ramMb=32, > diskMb=64, priority=0, maxTaskFailures=1, production=false, tier=null, > constraints=[], requestedPorts=[http], > taskLinks={http=http://%host%:%port:http%}, contactEmail=vagrant@localhost, > executorConfig=IExecutorConfig{name=AuroraExecutor, data={"environment": > "test", "health_check_config": {"expected_response_code": 0, "endpoint": > "/health", "health_checker": {"http": {"expected_response_code": 0, > "endpoint": "/health", "expected_response": "ok"}}, "initial_interval_secs": > 5.0, "expected_response": "ok", "max_consecutive_failures": 0, > "timeout_secs": 1.0, "interval_secs": 1.0}, "name": "http_example", > "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 > /vagrant/src/test/sh/org/apache/aurora/e2e/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": 33554432, "cpu": 0.4}, "constraints": > [{"order": ["stage_server", "run_server"]}]}, "production": false, "role": > "vagrant", "contact": "vagrant@localhost", "announce": {"primary_port": > "http", "portmap": {"aurora": "http"}}, "lifecycle": {"http": > {"graceful_shutdown_endpoint": "/quitquitquit", "port": "health", > "shutdown_endpoint": "/abortabortabort"}}, "priority": 0}}, metadata=[], > container=IContainer{setField=MESOS, > value=IMesosContainer{}}}=org.apache.aurora.scheduler.storage.db.views.DbTaskConfig@7ac8690c. > To index multiple values under a key, use Multimaps.index. > + collect_result > + [[ 1 = 0 ]] > + echo '!!! FAIL (something returned non-zero) for [[ $RETCODE = 0 ]]' > {noformat} > Stack trace: > {noformat} > W0125 19:27:57.158 [qtp2075195635-126, LoggingInterceptor:78] Uncaught > exception while handling createJob(JobConfiguration(key:JobKey(role:vagrant, > environment:test, name:ht > tp_example), owner:Identity(role:vagrant, user:vagrant), cronSchedule:null, > cronCollisionPolicy:KILL_EXISTING, > taskConfig:TaskConfig(job:JobKey(role:vagrant, environment:tes > t, name:http_example), owner:Identity(role:vagrant, user:vagrant), > environment:test, jobName:http_example, isService:true, numCpus:0.4, > ramMb:32, diskMb:64, priority:0, maxT > askFailures:1, production:false, constraints:[], requestedPorts:[http], > taskLinks:{}, contactEmail:vagrant@localhost, > executorConfig:ExecutorConfig(name:BLANKED, data:BLANKE > D), metadata:[], container:<Container mesos:MesosContainer()>), > instanceCount:2), null) > com.google.common.util.concurrent.UncheckedExecutionException: > java.lang.IllegalArgum > entException: Multiple entries with same key: > ITaskConfig{job=IJobKey{role=vagrant, environment=test, name=http_example}, > owner=IIdentity{role=null, user=vagrant}, environme > nt=null, jobName=null, isService=true, numCpus=0.4, ramMb=32, diskMb=64, > priority=0, maxTaskFailures=1, production=false, tier=null, constraints=[], > requestedPorts=[http], taskLinks={http=http://%host%:%port:http%}, > contactEmail=vagrant@localhost, > executorConfig=IExecutorConfig{name=AuroraExecutor, data={"environment": > "test", "health_check_config": {"expected_response_code": 0, "endpoint": > "/health", "health_checker": {"http": {"expected_response_code": 0, > "endpoint": "/health", "expected_response": "ok"}}, "initial_interval_secs": > 5.0, "expected_response": "ok", "max_consecutive_failures": 0, > "timeout_secs": 1.0, "interval_secs": 1.0}, "name": "http_example", > "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 > /vagrant/src/test/sh/org/apache/aurora/e2e/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": 33554432, "cpu": 0.4}, "constraints": > [{"order": ["stage_server", "run_server"]}]}, "production": false, "role": > "vagrant", "contact": "vagrant@localhost", "announce": {"primary_port": > "http", "portmap": {"aurora": "http"}}, "lifecycle": {"http": > {"graceful_shutdown_endpoint": "/quitquitquit", "port": "health", > "shutdown_endpoint": "/abortabortabort"}}, "priority": 0}}, metadata=[], > container=IContainer{setField=MESOS, > value=IMesosContainer{}}}=org.apache.aurora.scheduler.storage.db.views.DbTaskConfig@7b345c31 > and ITaskConfig{job=IJobKey{role=vagrant, environment=test, > name=http_example}, owner=IIdentity{role=null, user=vagrant}, > environment=null, jobName=null, isService=true, numCpus=0.4, ramMb=32, > diskMb=64, priority=0, maxTaskFailures=1, production=false, tier=null, > constraints=[], requestedPorts=[http], > taskLinks={http=http://%host%:%port:http%}, contactEmail=vagrant@localhost, > executorConfig=IExecutorConfig{name=AuroraExecutor, data={"environment": > "test", "health_check_config": {"expected_response_code": 0, "endpoint": > "/health", "health_checker": {"http": {"expected_response_code": 0, > "endpoint": "/health", "expected_response": "ok"}}, "initial_interval_secs": > 5.0, "expected_response": "ok", "max_consecutive_failures": 0, > "timeout_secs": 1.0, "interval_secs": 1.0}, "name": "http_example", > "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 > /vagrant/src/test/sh/org/apache/aurora/e2e/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": 33554432, "cpu": 0.4}, "constraints": > [{"order": ["stage_server", "run_server"]}]}, "production": false, "role": > "vagrant", "contact": "vagrant@localhost", "announce": {"primary_port": > "http", "portmap": {"aurora": "http"}}, "lifecycle": {"http": > {"graceful_shutdown_endpoint": "/quitquitquit", "port": "health", > "shutdown_endpoint": "/abortabortabort"}}, "priority": 0}}, metadata=[], > container=IContainer{setField=MESOS, > value=IMesosContainer{}}}=org.apache.aurora.scheduler.storage.db.views.DbTaskConfig@7ac8690c. > To index multiple values under a key, use Multimaps.index. > at > com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2207) > ~[guava-19.0.jar:na] > at com.google.common.cache.LocalCache.get(LocalCache.java:3953) > ~[guava-19.0.jar:na] > at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3957) > ~[guava-19.0.jar:na] > at > com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4875) > ~[guava-19.0.jar:na] > at > com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4881) > ~[guava-19.0.jar:na] > at > org.apache.aurora.scheduler.storage.db.DbTaskStore.saveTasks(DbTaskStore.java:135) > ~[aurora-0.12.0-SNAPSHOT.jar:na] > at > org.apache.aurora.common.inject.TimedInterceptor.invoke(TimedInterceptor.java:83) > ~[commons-0.12.0-SNAPSHOT.jar:na] > at > org.apache.aurora.scheduler.storage.db.DbTaskStore.mutateTasks(DbTaskStore.java:179) > ~[aurora-0.12.0-SNAPSHOT.jar:na] > at > org.apache.aurora.common.inject.TimedInterceptor.invoke(TimedInterceptor.java:83) > ~[commons-0.12.0-SNAPSHOT.jar:na] > at > org.apache.aurora.scheduler.storage.log.WriteAheadStorage.mutateTasks(WriteAheadStorage.java:203) > ~[aurora-0.12.0-SNAPSHOT.jar:na] > at > org.apache.aurora.scheduler.state.StateManagerImpl.updateTaskAndExternalState(StateManagerImpl.java:303) > ~[aurora-0.12.0-SNAPSHOT.jar:na] > at > org.apache.aurora.scheduler.state.StateManagerImpl.insertPendingTasks(StateManagerImpl.java:137) > ~[aurora-0.12.0-SNAPSHOT.jar:na] > at > org.apache.aurora.scheduler.thrift.SchedulerThriftInterface.lambda$createJob$0(SchedulerThriftInterface.java:244) > ~[aurora-0.12.0-SNAPSHOT.jar:na] > at > org.apache.aurora.scheduler.storage.log.LogStorage.lambda$doInTransaction$23(LogStorage.java:526) > ~[aurora-0.12.0-SNAPSHOT.jar:na] > at > org.apache.aurora.scheduler.storage.db.DbStorage.transactionedWrite(DbStorage.java:146) > ~[aurora-0.12.0-SNAPSHOT.jar:na] > at > org.mybatis.guice.transactional.TransactionalMethodInterceptor.invoke(TransactionalMethodInterceptor.java:101) > ~[mybatis-guice-3.7.jar:3.7] > at > org.apache.aurora.scheduler.storage.db.DbStorage.lambda$write$0(DbStorage.java:160) > ~[aurora-0.12.0-SNAPSHOT.jar:na] > at > org.apache.aurora.scheduler.async.GatingDelayExecutor.closeDuring(GatingDelayExecutor.java:62) > ~[aurora-0.12.0-SNAPSHOT.jar:na] > at > org.apache.aurora.scheduler.storage.db.DbStorage.write(DbStorage.java:158) > ~[aurora-0.12.0-SNAPSHOT.jar:na] > at > org.apache.aurora.common.inject.TimedInterceptor.invoke(TimedInterceptor.java:83) > ~[commons-0.12.0-SNAPSHOT.jar:na] > at > org.apache.aurora.scheduler.storage.log.LogStorage.doInTransaction(LogStorage.java:525) > ~[aurora-0.12.0-SNAPSHOT.jar:na] > at > org.apache.aurora.scheduler.storage.log.LogStorage.write(LogStorage.java:555) > ~[aurora-0.12.0-SNAPSHOT.jar:na] > at > org.apache.aurora.scheduler.storage.CallOrderEnforcingStorage.write(CallOrderEnforcingStorage.java:128) > ~[aurora-0.12.0-SNAPSHOT.jar:na] > at > org.apache.aurora.scheduler.thrift.SchedulerThriftInterface.createJob(SchedulerThriftInterface.java:225) > ~[aurora-0.12.0-SNAPSHOT.jar:na] > at > org.apache.aurora.scheduler.thrift.aop.ThriftStatsExporterInterceptor.invoke(ThriftStatsExporterInterceptor.java:47) > ~[aurora-0.12.0-SNAPSHOT.jar:na] > at > org.apache.aurora.scheduler.thrift.aop.LoggingInterceptor.invoke(LoggingInterceptor.java:70) > ~[aurora-0.12.0-SNAPSHOT.jar:na] > at > org.apache.aurora.scheduler.thrift.aop.ServerInfoInterceptor.invoke(ServerInfoInterceptor.java:30) > ~[aurora-0.12.0-SNAPSHOT.jar:na] > at > org.apache.aurora.scheduler.http.api.security.ShiroAuthorizingParamInterceptor.invoke(ShiroAuthorizingParamInterceptor.java:319) > ~[aurora-0.12.0-SNAPSHOT.jar:na] > at > org.apache.aurora.scheduler.http.api.security.ShiroAuthenticatingThriftInterceptor.invoke(ShiroAuthenticatingThriftInterceptor.java:55) > ~[aurora-0.12.0-SNAPSHOT.jar:na] > at > org.apache.aurora.gen.AuroraSchedulerManager$Processor$createJob.getResult(AuroraSchedulerManager.java:1169) > [aurora-api-0.12.0-SNAPSHOT.jar:na] > ... > Caused by: java.lang.IllegalArgumentException: Multiple entries with same > key: ITaskConfig{job=IJobKey{role=vagrant, environment=test, > name=http_example}, owner=IIdentity{role=null, user=vagrant}, > environment=null, jobName=null, isService=true, numCpus=0.4, ramMb=32, > diskMb=64, priority=0, maxTaskFailures=1, production=false, tier=null, > constraints=[], requestedPorts=[http], > taskLinks={http=http://%host%:%port:http%}, contactEmail=vagrant@localhost, > executorConfig=IExecutorConfig{name=AuroraExecutor, data={"environment": > "test", "health_check_config": {"expected_response_code": 0, "endpoint": > "/health", "health_checker": {"http": {"expected_response_code": 0, > "endpoint": "/health", "expected_response": "ok"}}, "initial_interval_secs": > 5.0, "expected_response": "ok", "max_consecutive_failures": 0, > "timeout_secs": 1.0, "interval_secs": 1.0}, "name": "http_example", > "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 > /vagrant/src/test/sh/org/apache/aurora/e2e/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": 33554432, "cpu": 0.4}, "constraints": > [{"order": ["stage_server", "run_server"]}]}, "production": false, "role": > "vagrant", "contact": "vagrant@localhost", "announce": {"primary_port": > "http", "portmap": {"aurora": "http"}}, "lifecycle": {"http": > {"graceful_shutdown_endpoint": "/quitquitquit", "port": "health", > "shutdown_endpoint": "/abortabortabort"}}, "priority": 0}}, metadata=[], > container=IContainer{setField=MESOS, > value=IMesosContainer{}}}=org.apache.aurora.scheduler.storage.db.views.DbTaskConfig@3228b532 > and ITaskConfig{job=IJobKey{role=vagrant, environment=test, > name=http_example}, owner=IIdentity{role=null, user=vagrant}, > environment=null, jobName=null, isService=true, numCpus=0.4, ramMb=32, > diskMb=64, priority=0, maxTaskFailures=1, production=false, tier=null, > constraints=[], requestedPorts=[http], > taskLinks={http=http://%host%:%port:http%}, contactEmail=vagrant@localhost, > executorConfig=IExecutorConfig{name=AuroraExecutor, data={"environment": > "test", "health_check_config": {"expected_response_code": 0, "endpoint": > "/health", "health_checker": {"http": {"expected_response_code": 0, > "endpoint": "/health", "expected_response": "ok"}}, "initial_interval_secs": > 5.0, "expected_response": "ok", "max_consecutive_failures": 0, > "timeout_secs": 1.0, "interval_secs": 1.0}, "name": "http_example", > "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 > /vagrant/src/test/sh/org/apache/aurora/e2e/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": 33554432, "cpu": 0.4}, "constraints": > [{"order": ["stage_server", "run_server"]}]}, "production": false, "role": > "vagrant", "contact": "vagrant@localhost", "announce": {"primary_port": > "http", "portmap": {"aurora": "http"}}, "lifecycle": {"http": > {"graceful_shutdown_endpoint": "/quitquitquit", "port": "health", > "shutdown_endpoint": "/abortabortabort"}}, "priority": 0}}, metadata=[], > container=IContainer{setField=MESOS, > value=IMesosContainer{}}}=org.apache.aurora.scheduler.storage.db.views.DbTaskConfig@7371259d. > To index multiple values under a key, use Multimaps.index. > at com.google.common.collect.Maps.uniqueIndex(Maps.java:1215) > ~[guava-19.0.jar:na] > at com.google.common.collect.Maps.uniqueIndex(Maps.java:1173) > ~[guava-19.0.jar:na] > at > org.apache.aurora.scheduler.storage.db.TaskConfigManager.getConfigRow(TaskConfigManager.java:46) > ~[aurora-0.12.0-SNAPSHOT.jar:na] > at > org.apache.aurora.scheduler.storage.db.TaskConfigManager.insert(TaskConfigManager.java:57) > ~[aurora-0.12.0-SNAPSHOT.jar:na] > at > org.apache.aurora.scheduler.storage.db.DbTaskStore$1.load(DbTaskStore.java:135) > ~[aurora-0.12.0-SNAPSHOT.jar:na] > at > org.apache.aurora.scheduler.storage.db.DbTaskStore$1.load(DbTaskStore.java:132) > ~[aurora-0.12.0-SNAPSHOT.jar:na] > at > com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3542) > ~[guava-19.0.jar:na] > {noformat} > Git-bisect points at this commit: > {noformat} > commit b2cc604 (HEAD, refs/bisect/bad) > Author: Bill Farner <wfar...@apache.org> > Date: Thu Jan 21 14:30:28 2016 -0800 > Enable READ COMMITTED transaction isolation. > Bugs closed: AURORA-1580 > Reviewed at https://reviews.apache.org/r/42613/ > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)