[
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
> 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)