Bill Farner created AURORA-1594:
-----------------------------------
Summary: 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]
{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)