[ 
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)

Reply via email to