Details
Description
If an IJobUpdate has an empty set for instructions.initialState, it can be saved but not retrieved.
Here's an example stack trace where this was encountered
java.lang.IllegalStateException: Optional.get() cannot be called on an absent value at com.google.common.base.Absent.get(Absent.java:47) at org.apache.aurora.scheduler.updater.JobUpdateControllerImpl.changeJobUpdateStatus(JobUpdateControllerImpl.java:388) at org.apache.aurora.scheduler.updater.JobUpdateControllerImpl.recordAndChangeJobUpdateStatus(JobUpdateControllerImpl.java:330) at org.apache.aurora.scheduler.updater.JobUpdateControllerImpl.access$200(JobUpdateControllerImpl.java:93) at org.apache.aurora.scheduler.updater.JobUpdateControllerImpl$1.execute(JobUpdateControllerImpl.java:151) at org.apache.aurora.scheduler.storage.Storage$MutateWork$NoResult.apply(Storage.java:131) at org.apache.aurora.scheduler.storage.Storage$MutateWork$NoResult.apply(Storage.java:127) at org.apache.aurora.scheduler.storage.mem.MemStorage.doWork(MemStorage.java:175) at org.apache.aurora.scheduler.storage.mem.MemStorage.access$400(MemStorage.java:59) at org.apache.aurora.scheduler.storage.mem.MemStorage$4.apply(MemStorage.java:200) at org.apache.aurora.scheduler.storage.mem.MemStorage$4.apply(MemStorage.java:197) at org.apache.aurora.scheduler.storage.db.DbStorage.write(DbStorage.java:150) at org.mybatis.guice.transactional.TransactionalMethodInterceptor.invoke(TransactionalMethodInterceptor.java:101) at org.apache.aurora.scheduler.storage.mem.MemStorage.write(MemStorage.java:197) at org.apache.aurora.scheduler.updater.JobUpdateControllerImpl.start(JobUpdateControllerImpl.java:131)
Attachments
Issue Links
- blocks
-
AURORA-718 JobUpdateConfiguration should reflect work required for a job update
- Resolved